After reading about the different areas of quality and how to manage them in a continuous integration environment, you may be wondering how to assess how well your team is currently doing and what steps to take to reach the highest level of testing maturity.
We have defined a total of three testing maturity levels (to keep the model as simple as possible, more than anything). Once you know what level your organization is at, it will be all the easier to create a plan to continuously improve your testing.
The three levels are determined by three aspects: risk, quality, and costs.
Level 1: Basic Testing
Level 2: Efficient Testing
Level 3: Continuous Testing
The chart below shows a cross of the characteristics of each maturity level with the different areas that we raised:
The model distinguishes three levels for each group of tasks, some being mandatory, recommended or optional. The lines demonstrate the relationship of dependency between them.
Thus, you can see that to have continuous integration, it is necessary to have code quality control, which raises the need to manage versions. Moreover, you should also have a set of automated checks at the unit, API, and GUI levels. But first, In order to have those tests, it is necessary to have separate test environments and to manage them properly.
That is what we, at Abstracta, consider minimal in order to have a good continuous integration strategy, and to reach the highest level of testing maturity.