What is Test Maturity Model (TMM) in Software Testing?

Testing Maturity Model in Software Testing

Testing Maturity Model (TMM) in Software Testing is a framework for evaluating the maturity of software testing processes. The purpose of using testing maturity model is identifying maturity and providing targets to improve the software testing process to achieve progress. It can be complemented with any process improvement model or can be used as a stand alone model.

The Test Maturity Model (TMM) is based on the Capability Maturity Model (CMM) and it was first developed by the Illinois Institute of Technology. It is a detailed model for test process improvement.

TMM model has major two components

  1. A set of 5 levels that define testing capability
  2. An Assessment Model

What is Test Maturity Model (TMM)?

Different 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.

TMM Levels Goals An objective of TMM levels
Level 1: Initial Software should run successfully
  • At this level, no process areas are identified
  • An objective of testing is to ensure that software is working fine
  • This level lacks resources, tools, and trained staff
  • No Quality Assurance checks before software delivery
Level 2: Defined Develop testing and debugging goals and policies
  • This level distinguish testing from debugging & they are considered distinct activities
  • Testing phase comes after coding
  • A primary goal of testing is to show software meets specification
  • Basic testing methods and techniques are in place
Level 3: Integrated Integration of testing into the software lifecycle
  • Testing gets integrated into an entire life cycle
  • Based on requirements test objectives are defined
  • Test organization exists
  • Testing recognized as a professional activity
Level 4: Management and Measurement Establish a test measurement program
  • Testing is a measured and quantified process
  • Review at all development phases are recognized as tests
  • For reuse and Regression Testing, test cases are gathered and recorded in a test database
  • Defects are logged and given severity levels
Level 5: Optimized Test process optimization
  • Testing is managed and defined
  • Testing effectiveness and costs can be monitored
  • Testing can be fine-tuned and continuously improved
  • Quality control and Defect prevention are practiced
  • Process reuse is practiced
  • Test related metrics also have tool support
  • Tools provide support for Test Case design and defect collection

Difference between CMM & TMM

CMM TMM
  • CMM or Capability Maturity Model is for judging the maturity of the software processes of an organization
  • TMM or Test Maturity Model describes the process of testing and is related to monitoring the quality of software testing model

Conclusion:

Software maintenance is expensive and time-consuming when defects are identified after project delivery. Consequently, while detecting defects is 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.