Consider the following quotes
– Until your pretty code is in production, making money, or doing whatever it does, you’ve just wasted your time” – Chris Read
– Continuous Delivery without Continuous Feedback is very very Dangerous – Colin Humpreys
– Development teams have little patience for testing approaches that don’t keep up with the pace of delivery, and there’s no hunger from the business for lengthy testing phases either. – Simon Knight
In essence, We need to Reduce Testing cycle time, Increase quality and deliver continuously.
Well, this might look like a futuristic wish, but there’s more and more evidence that it is quickly becoming a reality. Those who do not catch this train soon have much to lose. The human race is in a phase of evolution where change is the not only constant, but a necessity to survive. OEM’s launch next versions or their flagship products every 12 months. Users replace mobile phone’s every 1-2 years, computers every 2-3 years and cars every 3-4 years. It is very easy to switch brands or even platforms as products are becoming richer by the day. This race will only be survived by those who can sustain this pace over a long period of time. Remember Nokia? Or Blackberry?
Failure is not an option
How do we achieve the fast pace that the market expects? Some might say that is easy to do with incremental updates. But just updates is not enough. We all know what happened to Note 7. So, the key is to ensure that we build a high quality product at a breathtakingly fast pace. The Google’s and Amazon’s and Facebook’s of the world deliver multiple new features every day. But the failure of a single major feature – functional or non-functional can set the organization back by a few years.
Agile, DevOps and Automation
Achieving such a high quality requires comprehensive testing, both functional and non-functional. Doing this at a fast pace for large enterprise apps requires multiple teams and team members to work in a highly collaborative environment. Such an environment needs both agility and stability. Process Frameworks like Agile and DevOps provide us the guidelines to succeed in this fast paced endeavor. To complement these, we need modern age tools which are hosted on the cloud for optimum collaboration. The advancements in network bandwidth has made using such tools easier and tools with cloud support have become extremely attractive to enterprises. So how can we make better use of these?
Cloud to save us from the heat
There are various tools that support a modern Agile / DevOps team to enable a delivery with high quality and high productivity. To achieve the fast pace, we need to reduce the pit stops while maintaining the following qualities:
Let’s check some of the common tools & services we use and identify their cloud versions. A typical software testing tool stack on cloud may read like this:
- Requirements Management using JIRA or Rally. Both have a cloud service that can be set up on-premise or managed.
- Test Case Management using Zephyr for JIRA or Rally. The traditional market leader – HP’s Quality center also has a web dashboard with on premise or SaaS options.
- Test Environment on cloud using Azure or AWS.
- Test Automation execution and reporting using Sauce Labs (Selenium, Appium tests) or Xamarin test Cloud or Experitest SeeTest (Appium, QTP/UFT) or PerfectoMobile.
- Performance Test execution using Blazemeter (jmeter scripts) or Loadurunner or VS Team Services.
- API Test Automation using Postman cloud or SOAP UI
- Continuous Integration using Jenkins Cloud (Cloudbees) or Teamcity
- Version control using GitHub / BitBucket / Beanstalk
The point being most of the widely used tools are now cloud ready. We should start harnessing the power of these cloud services to realize our goal of reduction in test cycle time and delivery of high quality functionality at a breathtaking pace!
Alright, I hope you are convinced by now to move UP the value chain. So, Let’s start with the first increment and run our next test cycle from the cloud!
Please let us know in the comments below how you are shifting upwards!