Test Maturity Model

Igor RUTSCHKOWSCAYA
Quable
Published in
3 min readMay 17, 2022

The test maturity model is based on the Capability Maturity Model Integration (CMMI) program. It is composed of two elements:

  • a five-level scale that determines the ability to test, and
  • an evaluation model.

Let’s take a look at these five levels and their characteristics.

The first level — “Beginner”

At the first level, testing is unstructured and chaotic. There is no stable environment to support the testing processes, and the team doesn’t pay attention to planning and standards.

Attention is limited to delivering software on time and without critical problems. Testing is only used to show that the software works without major failures. Often, the success of such projects depends solely on the heroism and skills of individuals, rather than established processes.

Focus:

  • The software must work properly.
  • Process types are not defined.
  • Testing only verifies that software works.
  • There is a lack of resources, tools, and trained personnel.
  • There is no quality control before the software is delivered.

Result:

  • Test documentation doesn’t exist.
  • Product stability is uncertain.
  • Process failure in problematic situations.
  • Testing is nothing more than a debugging aid.

Second level — “Repeatable”

At this level, testing becomes a managed process. Discipline and progression ensure that these practices are maintained in times of stress. Testing remains an activity that follows development. Plans are developed and implemented, clearly defining the tests to be performed, when to perform them, and by whom.

Attention is limited to ensuring the software meets the specified requirements.

Focus:

  • Testing and debugging objectives and policies are developed.
  • Testing is completely distinct from debugging.
  • The testing phase begins after coding has been completed.
  • Testing is used to demonstrate that the software conforms to specifications.
  • Basic testing methods and techniques exist.

Result:

  • Multiple types of testing (integration, modular, regression, acceptance) is used.
  • Test plans are implemented.
  • Test activities are monitored and controlled.
  • The process is documented and repeatable.

The third level — “Defined”

By the third level, testing is no longer considered a post-programming activity. It’s fully integrated into the project and test planning takes place earlier and is consolidated into the master plan. Non-functional tests are introduced (e.g., usability).

Focus:

  • Integration of testing into the software development life cycle (SDLC).
  • Test objectives are defined.
  • A testing framework exists.
  • Testing is a professional activity in its own right.

Result:

  • Testing begins at the requirements phase.
  • Activities are added that promote efficiency (internal training, additional reviews).
  • Implementation of non-functional tests.

Fourth level — “Measurable”

At the fourth level, testing is a well-defined and well-established, measurable process. It’s seen as an evaluation and includes all activities in the software development life cycle. The practice of measuring test quality is introduced to predict test performance and costs.

Focus:

  • Creation of a test measurement program.
  • Testing is a measured, quantitative process.
  • Verification at all stages of development is recognized as testing.
  • A test case is available and recording in the database for reuse and regression tests.
  • Defects are recorded and severity levels given.

Result:

  • Testing as a process is measured.
  • Measurements are used for predictions.
  • The team strives to make the testing process more efficient.

Fifth level — “Innovative”

The fifth level indicates well-established approaches and processes. The team continues to systematically improve processes, reduce the test cycles and time to market without reducing quality. Testing is focused on prevention. Automation is added for more efficient use of resources.

Summary:

  • Tests are managed and defined.
  • The effectiveness and costs of tests can be tracked.
  • Tests can be continuously modified and improved.
  • Quality control and defect prevention practices exist.
  • A reuse process is in place.
  • Test-related metrics have supporting tools.
  • Tools are available to provide support for test case development and defect collection.

As a result:

  • Continuous process improvement.
  • Emphasis is on prevention and optimization.

💡 This model can be used to determine the level of maturity of tests by taking the lowest maturity level in relation to the assessment made. It can also be used as a dynamic framework to target areas for improvement.

French version: Modèle de maturité des tests

sources:

--

--