When a software is tested, there are so many processes which are followed in order to attain maximum quality and minimizing defects or errors. Test Maturity Model is one of such model which has a set of structured levels. TMM is now replaced by Test Maturity Model Integration(TMMI) is a 5 level model which provides a framework to measure the maturity of the testing processes. In other words, the main aim of this model is to optimize the testing processes. It was developed by Illinois Institute of Technology and now managed by TMMI Foundation. In this article, we are going to discuss all the 5 levels of this model and also, we will analyze the importance of TMM when applied to software testing.
Five-Levels of TMM:
- Initialization: this is the first level of TMM. In this level, there is no defined testing process. There will be exploratory or ad-hoc testing carried out on the software. The main aim of this level is to make sure that the software is running fine and there are no roadblocks. There are no quality checks before delivering the product.
- Definition: as name suggests, this level is all about defining the requirements. In this second level of TMM, test strategies, test plans and test cases are developed according to the requirements given by the client to build a software. The main aim of this level is to make sure that the product runs according to the requirements and to achieve that test cases and test plan documents are created and followed religiously.
- Integration: this is the third level of TMM. As name suggests, in this level testing is integrated with the software life cycle and becomes a part of it. For example, V model has both development and testing phases. Testing comes after the development is over and the software under test is handed over to the professional testing team. Testing is carried out independently. The whole testing objectives are based on the risk management.
- Management and Measurement: managing and measuring the requirements are taken care in this level of TMM. This is the fourth level where testing becomes the part of all the activities in software life cycle. From reviewing the gathered requirements and design of the software to deciding the quality criteria, is included. This builds a clearer picture for the organization which in turn helps them to achieve the required quality.
- Optimization: this is the last level of TMM. The fifth level is responsible for optimizing the test process itself. In other words, testing processes are tested and measures are taken to improve them iteration by iteration.This testing is mainly carried out by the help of different tools. Also, in this level defects are prevented by improving the processes throughout the software life cycle so main focus is defect prevention rather than defect detection in each phase.
We saw all the five levels of TMM in detail. Each level has its own role and importance. The main goal of each level is well defined and has its own structure. The main idea of TMM was taken from Capability Maturity Model (CMM) which is basically a structured tool applied to software development and also used as a model to aid different business processes. Here “Maturity” is measured by the degree of optimized processes. It starts from ad hoc practices then defining of formal steps and documentation, managing results and reviewing documents to optimizing process and results upto the expectations.
Let’s see some of the benefits of using Testing Maturity Model in an organization.
Benefits of TMM:
- Organized: we have discussed all the 5 levels of TMM. Each level is well defined and has a particular aim to achieve. This makes TMM a well-organized model with clear goals.
- Assurance of quality: when we integrate testing with all the phases of software life cycle, higher quality is achievable. Testing of test processes would optimize the results which in turn gives assurance of good quality product.
- Defect prevention: as I mentioned earlier that TMM focuses on defect prevention rather than defect detection by making testing process a part of all phases of software life cycle. This would ensure that maximum defects are prevented and final product is mostly defect free.
- Clear requirements: when requirements and designs are reviewed and test plans and test cases are tested against requirements, the main test objectives are clearer and hence, testing is more accurate.
Test Maturity Model (TMM) is fairly a new concept compared to Compatibility Maturity Model (CMM) but the main goal of both models remains the same i.e. to show us how a structured set of levels leads to high quality expected output by optimizing the processes, behaviors and practices of an organization. These models can be generalized according to the business and can be applied for the enhanced results. I am sure in coming years, most of the software organizations would start opting for TMM for software testing as its benefits start reaping results.
If you are not regular reader of this website then highly recommends you to Sign up for our free email newsletter!! Sign up just providing your email address below: