Back to previous levelHome

Testing Maturity Model - Maturity levels


The five maturity levels

The TMM consists of 5 maturity levels that reflect a degree of test process maturity. For each maturity level, a number of process areas are defined. A process area is a cluster of related activities within the test process, e.g. test planning or test training. When these activities are executed adequately, they will contribute to an improved test process. The five levels of the TMM will support an organisation to determine the maturity of its test process and to identify the improvements that are necessary to achieve a higher level of test maturity.

At level 1, testing is a chaotic, undefined process and is considered as a part of debugging. The objective of testing at this level is to show that the software runs without major failures. Software products are released without adequate visibility regarding the quality and risks. In the field, the software does not often fulfil needs, is not stable, or is too slow to work with. Within the test project there is a lack of resources, tools and well-educated testers. There are no process areas at this level.

At level 2, testing is a defined process and is clearly separated from debugging. In the context of structuring the test process, test plans are established containing a test strategy. For deriving and selecting test cases from requirement specifications, formal test design techniques are applied. However, testing still starts relatively late in the development life cycle, e.g. during the design or even during the coding phase. The main objective of testing is to verify that the software satisfies the specified requirements.

Process areas at level 2 are:

Detailed guidelines for the implementation of TMM level 2:  view_pdf.gif (995 bytes)

At level 3, testing is fully integrated in the software life cycle. It is identified and defined at all levels of the V-model. Test planning is done at an early project stage by means of a master test plan. The test strategy is determined using risk management techniques and is based on documented requirements. A test organisation and a specific test training program exist, and testing is perceived as being a profession. Reviews are carried out, although not consistently and not according to a documented procedure. In addition, to verify that the software satisfies the requirements, testing is very much focused towards invalid testing.

Process areas at level 3 are:

Testing is a thoroughly defined, well-founded and measurable process. Reviews and inspections are taking place throughout the software life cycle and are considered to be part of testing. Software products are evaluated using quality criteria for quality characteristics such as reliability, usability and maintainability. Test cases are gathered, stored and managed in a central database for re-use and regression testing. A test measurement program provides information and visibility regarding the test process and product quality. Testing is perceived as evaluation; it consists of all life cycle activities concerned with checking software and software-related work products.

Process areas at level 4 are:

On the basis of all results that have been achieved by fulfilling all the improvement goals of the previous levels, testing is now a completely defined process and one is capable of controlling the costs and the testing effectiveness. At level 5, the methods and techniques are optimised and there is a continuous focus on test process improvement. Amongst others “Defect Prevention” and “Quality Control” are introduced as process areas. The test process is characterised by sampling based quality measurements. A procedure exists for selecting and evaluating test tools. Tools support the test process as much as possible during test design, test execution, regression testing, test case management, etc. Testing is a process with the objective to prevent defects.

Process areas at level 5 are:

 


Disclaimer