Creating of quality management system in software testing company is a task of paramount importance and in each case this task is really unique. The quality of the end software product depends on the methods and resources that company chooses. Any software testing company seeks to create a single continuous process of quality control.
Development of quality management system is a large-scale and labor-intensive task that requires large material and other resources. Successful completion of this task depends on the participation of company’s management team and on the general creativity.
Future effectiveness of the performed testing (mobile application testing, desktop testing, web application testing, etc.) depends on the constant monitoring and strict operating the working processes, adequate evaluation of their effectiveness, proper usage of quality management tools and realization of principles of their continuous improvement. There are several methods of certification of software process. The most famous of them are CMM and CMMI.
CMM (Capacity Maturity Model) is a maturity model of creating processes of software products. This model is designed to evaluate the level of maturity of the development process in every given company.
5 Levels of Maturity Development Process:
- Initial. The most primitive level. It often depends on individual persons. The manufacturing process is designed for a specific project, special documentation and specifications are not available. It is common for the post-soviet organizations. The end product is of low quality, with missing functionality, the projects are not carried out in time.
- Repeatable. One can with some confidence expect the effective end of the project. The main processes are designed; it is possible to track material and not material costs, schedules and the software product usability. There is a strict discipline in the working team. All the necessary documentation exists.
- Defined. Strict specifications are available. Well established working process. There are certain standards that are obligatory for the working team. It is possible to fairly accurate predictions of project costs.
- Managed. Exact timeframes and expenses of the project. Database is created. However, when new technologies appear the updates are necessary.
- Optimizing. When the need arises, company is able to optimize the process of software development. The company is able to search and implement new advanced methods of working process and developed tools. Continuously improving working process in order to implement new ideas and technologies.