Test the heck out of it

Modern software development requires modern ways of assurance and quality checks, which is also known as “Agile Testing”. It is known that testing is the fat kid in school that bullies everyone, and when things go wrong with testing, everybody is in trouble. Delivery problems trouble the IT delivery community on a daily basis which leaves us asking questions like: Why do things go wrong when we think that we did everything right?

Agility of Delivery and Test Automation

The answer to these delivery problems might be found after a reformation of our mindset and strategy. However, from our experience we believe that the answer may be found with Agility of Delivery and Test Automation.

Agility of delivery can be achieved via successful implementation of agile delivery approaches such as continuous integration and delivery. But that in turn is not going to achieve its desired benefits without a successful implementation of test automation.

Replacing manual testing with automatic testing

Test automation is the process of replacing all or most of manual testing with automatic testing. It includes replacing unreliable test back-ends with virtual services and having a test framework that assures the maximum test coverage.

If test automation is implemented by itself or, even better, together with Continuous Delivery, then you can be sure that you have a Delivery cycle that is reliable and self sustained. And when the scope of the test automation with Continuous Delivery is covering your End-to-End IT landscape then you can enjoy all Continuous Delivery benefits such as fast Time to Market (TTM), high Return on Investment (ROI), high (MUDE) waste reduction and many more.

Assess the delivery cycle

One of our Delivery Rationalization Framework (DRF) goals is to assess the delivery cycle against how far the E2E test automation vision is implemented, then calculate the gap and recommend the needed actions to cover that gap. DRF assesses that via a set of questions that reveal the reality of the testing situation. These questions are designed to highlight the following points: Testing framework in place, testing tools used, stub framework, test data, release frequency, average number of defects per release / stage, additional overhead due to defects fixing and retesting as well as many other points that together form the complete picture required for DRF analysis.

Virtual Services

The DRF Maturity of Testing covers 5 maturity levels and so far our assessments show that while the majority of our clients are usually in level 2, their desired target maturity is level 4. The gap between level 2 and level 4 is usually crossed by re-using the current tools or by introducing a new tool to automate component testing, integration testing and E2E testing in both single and regression fashion. The gap is furthermore filled by introducing smart stubs or what is also called Virtual Services.

Test automation: the new market trend

Building on the results of these assessments we concluded that test automation is the new market trend and we are happy to be on top of that game since we have already started it very early. This shall continue by switching our thinking into “Testing” mode, introduce proper test concepts to our teams and our current projects and to evangelize test driven development as a better development approach. We should all learn how to work in an Agile & DevOps environment and finally master the best test automation tools in the market.

Other relevant DevOps content

devoteam

Contact

Ahmed Elgharib