Testing Maturity Model (TMM) is a framework to determine the maturity of the software testing process. The main reason of using a TMM is to determine maturity and provide targets or goals for improving the software testing process to obtain progress. It can be both used as a stand-alone model and complemented with a process improvement model.
TMM was developed by Illinois Institute of Technology and is an extension of Capability Maturity Model (CMM). It is like a detailed model to improve the testing process. The two major parts of a TMM model are −
A set of five levels defining the testing capabilities: It includes maturity goals, maturity sub-goals activities, and tasks and responsibilities.
An assessment model: This model consists of web-based maturity questionary, assessment procedure, and team selection and training guidelines.
Software testing is an ever-shifting process. It keeps changing in order to accommodate changing needs, device-browser-operating-system releases, and various other factors that show increasing frequency. The inability to change will block the pipeline and roll out software the does not meet the performance and design standards.
Testing maturity determines the point to which the testing process is improved and formalized to include and comply with the changes made. It includes formally set-up stages, result metrics, enhancement efforts on every level. It represents how well the testing is shaped, measured, managed, monitored and the results it yields.
In general, a mature test process includes −
Established Policies − Properly documented and well-defined test policies.
Test Planning − A well-documented test plan with specified goals, resource allocation, schedule, and a breakdown of tasks.
Test Lifecycle − Step-by-step process that includes stages and activities, involving planning, reviewing, execution, maintenance and results analysis.
Team − The testing team creates test cases, executes them, and analyses the results.
Relevant Metrics − These are test metrics needed to evaluate test performance and software quality.
TMM consists of five levels that assist IT companies or organizations in determining the maturity of the testing process and to define the improvement steps that are important to achieve a higher level of test maturity.
|TMM Levels||Goals||Objective of TMM levels|
|Level 1 − Initial||The software product must run successfully.|
|Level 2 − Defined||Set up testing and debugging goals and policies.|
|Level 3 − Integrated||Testing is integrated with software lifecycle.|
|Level 4 − Management and Measurement||Set up a test measurement program.|
|Level 5 − Optimized||Test optimization|
It assists in the assessment and improvement of the testing process.
TMM improves the testing process, software product’s quality, and efficacy of the test engineering.
Software development processes such as CMM offer limited consideration to the testing process. Thus, we require something like TMM for a process, that is primarily for testing process.
Efforts have been put in to expand the testing process, but no defects have been discovered from reality for the software engineering. Thus, TMM is yet another attempt to obtain zero defects.
TMM is a model to improve the testing process, and is incorporated with other process development models. However, TMM can also be used as an individual model.
|It is used to determine the maturity of the software processes of an organization.||It is used to determine the quality of the software testing model.|
|It greatly controls the software development procedures.||TMM is often used as a framework along with CMM.|
|It emphasizes software development practices.||It emphasizes software development TMM is entirely focused on the processes and methods that are adopted to software testing to improve the quality and efficacy of the testing process. practices.|
Organized − TMM has five levels, and each level is well-defined and has a specific goal to achieve. Thus, TMM is well-organized with clear objectives.
Quality Assurance − While integrating testing process with the phases of software development life cycle, high quality can be achieved. Moreover, testing of the test processes can enhance the results, eventually providing assurance of good quality product.
Defect Prevention − TMM emphasizes defect prevention instead of defect detection through making testing a part of all phased of software development life cycle. This guarantees prevention of maximum defects and the end product is almost defect-free.
Clear requirements − Upon reviewing the needs and designs and testing the test plans and test cases, the main objective of the testing becomes clearer, and thus testing becomes more accurate.
It helps reduce risks, and cut down cost and time.
It also helps improve the quality of the software product.
It provides efficient and measurable tools for test improvements.
In software testing, TMM helps QA testers, QA managers and stakeholders to determine what the test cycles require to graduate to the next stage. Starting with, match QA operations with each phase element of TMM to determine its current level. Then, set up the steps required to improve test maturity to the next optimal point.
At level 1, testing process is not at all systematic or consistent. The whole process is difficult to predict, almost reactive and lacks control. Advancing to level 2 needs basic project management. It consists defining and implementing basic processes, standards and methods, that are to be finalized, documented and made appropriate for reuse.
After setting up the basic procedures, convey them to the responsible personnel. They people may have to be trained to deploy the processes and standards efficiently. QAs might need to be motivated and provided all the resources required to understand the new direction testing process will adopt.
Seminars and training sessions may prove useful to help get acquainted with the new methods. Make sure that they are motivated to use these methods in their day-to-day activities.
Advancing to level 3 needs prioritized documentation, process standardization, and integration of personnel with pipelines.
At level 4, take all the methods and processes realized at level 3. Measure the processes and methods in terms of comprehensive quantification. The aim is to acquire control of each component and task, and not just of the entire pipeline. The enables accurate and optimal assignment of resources and efforts. Moreover, it allows managers to adjust processes if enquired without affecting the quality of the software product.
One simple way to quantify is by dividing large methods into small parts, then using quantitative metrics for evaluating each smaller part. The details are adjusted as required to maximize productivity.
Level 4 is referred to as management and measurement, and also as predictable because the aim is to create enough data to determine what a process requires to work and how to use this to achieve optimal performance.
Level 5 is the summit of test maturity. To reach level 5, innovation must be emphasized.
New changes should be made possible to enhance predefined methods continuously. It can be considered as the application of the agile mindset to quality assurance operations.
Using the quantifiers developed in level 4, reengineer the methods and processes to determine whether they yield better results. Integrate new tools, frameworks and technologies, invest in research, continue studies, be aware of the updates in the field.
Study other companies, in particular the competing companies. Make their methods your benchmarks, learn from them, use the lessons learned to innovate and develop. Remember that consistent process improvement is an aspect of the best QA operations.