Test Maturity Model was first developed by the Illinois Institute of Technology. It is based on the Capability Maturity Model (CMM). It is a model for test process improvement. It can be complimented with any process improvement model or it can also be used as a STAND-ALONE model.
TMM has major two components:
- A set of 5 levels that define testing capability
- An Assessment Model
The set of 5 levels are:
- Maturity goals
- Maturity sub-goals activities
- Tasks and responsibilities
The assessment model includes:
- Web based maturity questionnaire
- Assessment procedure
- Team selection and training guidelines
Levels of Maturity Model
The five levels of the TMM helps the organization to determine the maturity of its process and to identify the next improvement steps that are essential to achieving a higher level of test maturity. These 5 levels are:
- LEVEL 1(INITIAL): The goal is to run software successfully. The objective of level 1 is that at this level, no process areas are identified. Its another objective is to ensure that software is working fine. It lacks resources, tools, and trained staff. It has no quality assurance checks before software delivery.
- LEVEL 2(DEFINED): Its main aim is to develop testing and debugging goals and policies. This level distinguish testing from debugging & they are considered distinct activities. In this level, testing phase comes after coding. The primary goal of testing is to show software meets specification.
- LEVEL 3 (INTEGRATE): The goal of level 3 is to integrate the testing into software life cycle. Testing gets integrated into entire life cycle. It is based on requirements test and its objectives are defined. Testing is recognized as a professional activity.
- LEVEL 4(MANAGEMENT AND MEASUREMENT): It establishes a testing measurement program. In this, testing gets integrated into entire life cycle. It is based on requirements test objectives. Test organization also exists and testing is recognized as a professional activity.
- LEVEL 5(OPTIMIZED): As the name suggests, it is used for test program optimization. In this level of testing, it is managed and defined. Testing effectiveness and costs can be monitored. Testing can be fine-tuned and continuously improved. Quality control, process reuse and defect prevention are practiced. Test related metrics also have tool support. Tools provide support for test case design and defect collection.
So, we can conclude that the software maintenance is expensive and time-consuming when defects are identified after project delivery. Consequently, while detecting defects are important, it is also important that software makes minimum errors during the development phase. A standard testing process like TMM can help to achieve this. TMM (Testing Maturity Model) that is specially designed to address testing can help the organization to improve the maturity of their testing practices.