How can you increase maturity through test automation?
In the world of Agile software development, a great deal is talked about the maturity of teams and a variety of models are used in connection with this. What these models have in common is the role played by automation. The aim is for all of the steps between delivery of the code by a developer and that code becoming available in the production environment to take place automatically. This involves code checks, build and packaging, as well as testing.
The 100% automation of testing is not always possible and, moreover, not always desirable, although there is often real profit to be gained with automation. This may involve the speed of the test phase and the coverage of the tests with respect to the functionality of the application. In a development team that has just started this process, the division of test effort often looks similar to the reversed pyramid shown below. At the bottom of the triangle we find the tests at unit level in code and, as you go further up, increasingly broad tests over components and systems.
In the figure shown above you can see that the greatest portion of the effort lies in manual test work, while only a small effort is given to the automation of test work. That represents an expensive matter, since maintenance of the automation at the top of the triangle is the most expensive. However, the result of growth in the maturity is that, following an investment in setting up automation, manual test activities are no longer or rarely necessary. This results in a 'normal' pyramid, whereby most of the work is automated. The greatest portion of the automation takes place at unit level and less test work needs to take place higher up in the pyramid due to the solid basis. This results in more effective and quicker testing for lower maintenance costs of the tests.
Our functional test automation consultants are experts in the areas of supervising and realising this growth in maturity in relation to testing!