Korean Institute of Information Technology

Home

The Journal of Korean Institute of Information Technology - Vol. 21 , No. 4

[ Article ]
The Journal of Korean Institute of Information Technology - Vol. 21, No. 4, pp. 107-115
Abbreviation: Journal of KIIT
ISSN: 1598-8619 (Print) 2093-7571 (Online)
Print publication date 30 Apr 2023
Received 10 Jan 2023 Revised 30 Jan 2023 Accepted 02 Feb 2023
DOI: https://doi.org/10.14801/jkiit.2023.21.4.107

Suggestion on the Software Quality Driving Test Process Improvement
Jin-Wook Jang*
*Professor, Dept. of Cooperative Digital Management, Agricultual Cooperative University

Correspondence to : Jin-Wook Jang Dept. of Cooperative Digital Management, Agricultual Cooperative University Tel.: +82-31-960-4306, Email: jjw@nonghyup.ac.kr

Funding Information ▼

Abstract

Many companies benefit from using process models such as CMMI(Capability Maturity Model Integration) and SPICE(Software Process Improvement and Capability Determination) to improve software quality and increase development productivity. However, for system integration projects, applying only this general process model was not enough to improve the quality of products delivered to customers. Accordingly, it became necessary to introduce a process model for each process, which is a key area of ​​quality improvement. In particular, TPI has the advantage that it can be used even in organizations that do not apply it as an enterprise-wide process model. In this paper, we study process improvement and software quality improvement methods by applying the TPI test process model to organizational quality strategy, life cycle, motivation, and reporting.

초록

많은 회사에서 CMMI 및 SPICE와 같은 프로세스 모델을 사용하여 소프트웨어 품질을 개선하고 개발 생산성을 향상시키는 이점을 얻고 있습니다. 그러나 시스템통합 프로젝트의 경우 이러한 일반적인 프로세스 모델만을 적용하는 것만으로는 고객에게 전달되는 제품의 품질을 향상시키기에 역부족이었습니다. 이에 따라 품질 향상의 핵심 영역인 공정별 공정 모델 도입이 필요하게 되었습니다. 특히 TPI는 이를 전사적 프로세스 모델로 적용하지 않는 조직에서도 활용할 수 있다는 장점이 있다. 본 논문에서는 TPI라는 테스트 프로세스 모델을 조직차원의 품질 전략, 라이프 싸이클, 동기, 보고를 적용하여 프로세스 개선 및 소프트웨어 품질 향상 방안을 연구한다.


Keywords: project quality, test process, CMMI, SPICE, TPI, software quality

Ⅰ. Introduction

Recently, for the purpose of establishing and improving processes for improving software quality, many companies have actively introduced process models such as ISO 9000, CMM(Capability Maturity Model), CMMI(CMM Integration), SPICE(Software Process Improvement Capability determination). Domestic A company also develops quality manual and e-INNOVATOR based on these international standards and presents them as company standard process and methodology, and it shows much improvement in development productivity through process improvement. In addition, A company has conducted three part inspection of the product before shipment as part of the "ZERO DEFECT 21" campaign since 1999, improving the defect rate by 247%. In addition, 86% of the respondents said that product inspection activities contributed to the improvement of reliability. However, in the case of a project that fails the internal standard at the time of the first inspection, it will be re-inspected. In this case, the higher the reject rate, the more the additional cost will be incurred[1][2].

Fig. 1 shows the change of the acceptance rate at the first inspection until the introduction of the product inspection. Although the passing rate is improving, it is not remarkably improved. In other words, the quality of the final product delivered to the customer could be increased, but it did not help to strengthen the project's own testing capacity. The cause can be found from various factors. One of them has not been able to improve the actual test process because the existing process model does not provide a detailed guide to the test, which is a key activity for improving the product quality. In other words, it is not enough to provide appropriate processes and methods for carrying out the test itself. Therefore, the necessity of introducing a separate process model to improve the test process has been raised, and A company has been making efforts to improve the product quality by improving the test process by introducing TPI(Test Process Improvement). Section 2 briefly introduces TPI, a test process model introduced by A company, and section 3 describes a test process improvement example based on TPI[3][4].


Fig. 1. 
Change of acceptance rate at the first inspection by year


Ⅱ. Test Process Model

The TPI model was developed by Kooman and Pol in 1997, and it is designed to make it easier to improve the test process[2][3]. By examining the organization's test process maturity, improvements can be made to the test process by determining areas of strengths and weaknesses and providing appropriate improvements.

The TPI model consists of Key areas, Levels, Test Maturity Matrix, Checkpoints, and Improvement suggestions as shown in Fig. 2. The TPI model was developed by Kooman and Pol in 1997, and it is designed to make it easier to improve the test process[2][3]. By examining the organization's test process maturity, improvements can be made to the test process by determining areas of strengths and weaknesses and providing appropriate improvements. The TPI model consists of Key areas, Levels, Test Maturity Matrix, Checkpoints, and Improvement suggestions as shown in Fig. 2.


Fig. 2. 
Structure of TPI

The TPI model has 20 key areas, most of which relate primarily to improvement of system and acceptance testing. The 20 key areas are divided into five areas: Life cycle, Technique, Infrastructure, Organization and others. Details are shown in Table 1[5][6].

Table 1. 
Key area of TPI
Area Key area Explanation
Life-cme Test strategy Testing strategy is focused on finding the most important defects as soon as possible and at low cost. Therefore, strategies should define what specific requirements and quality risks are detected by the tests
Life-cycle model Life-cycle model of the test process consists of several steps: planning, preparation, specification, execution, and termination. At each stage, several activities are implemented and each activity must be defined by the objectives, inputs, processes, outputs, dependencies, applicable techniques, tools, tools, documentation, etc. The life cycle model increases the predictability and controllability of the test process.
Moment of involvement Moment of involvement is usually after software development. Nevertheless, it is advantageous to start the test process early in order to defect removal to be quick and cost-effective.
Technology Estimation and planning Test estimation and planning should indicate which activity, when and how much cost and manpower is needed.
Test specification techniques Test specification should define how to derive test cases. The application of this technology can provide the quality and depth of the test and increase the reusability of the test.
Static test techniques Static test techniques test the product without executing the program, so checklist can be used very usefully.
Metrics Metrics mean a quantitative observation of products / process characteristics. This is an important factor in tracking the progress of the process and the quality of the system. It is also used to control the test process and compare different systems or processes.
Infrastructure Test automation Test automation provides automated help for the test process. Using the tools, you can get many benefits in time and flexibility.
Test environment Test environment consists of procedures, hardware, software, communication means, buildings, offices, databases and files. The test environment can have a serious impact on quality, schedule, and cost.
Office environment A good office environment and an office environment in a reasonable period of time have a positive impact on motivating testers and improving work efficiency.
Organization Commitment and motivation The commitment and motivation are a prerequisite for smooth testing. Not only the tester but also the appointment and motivation with the project manager.
Test function and training The correct configuration of test functions and training is also important. There is a need for an appropriate configuration with different backgrounds, tasks, and knowledge.
Scope of methodology Organizations should use a generally applicable scope of methodology in all cases. However, details should be included so that they do not need to find the same thing again every time.
Communication Communication is an important factor in performing a smooth test process, optimizing the test strategy, tracking progress, and improving quality. It's very important in test teams who have other skills.
Reporting The reporting objective should be set so that important proposals can be made to the customer regarding the product and development process, as well as the content of the discovered defect.
Defect management Good defect management should be able to track over the entire life cycle of defects and analyze the impact on quality.
Testware management Testware management is always maintained and should be managed to be reusable at any time. Test outputs generated in addition to testing plans, test specifications, test databases, test files, and test files shall also be managed. If configuration management for these outputs is done, testability will rise.
Test process management Four levels of planning execution, maintenance, and coordination are essential for effective control of all test activities and processes. These steps should be identified by all testing activities and. Test Process Management processes.
etc Evaluation Evaluation is an activity that examines intermediate deliverables, such as requirements and design documents, suggesting that defects can be detected early in the product. Early detection of defects can save as much time and money.
Low-level testing Unit tests and integration tests, usually done by developers, belong to low-level testing, usually because there is no burden on communication, and error detectors is an error provider and error modifiers.

Table 2. 
Test maturity matrix
1 2 3 4 5 6 7 8 9 10 11 12 13
Key areas Controlled Efficient Optimizing
L Test strategy A C D
L Life-cycle model A B
L Moment of involvement A B C D
T Estimating and planning A B
T Test specification techniques A B
T Static test techniques A B
T Metrics A B C D
I Test automation A B C
I Test environment A B C
I Office environment A
O Commitment and motivation A B C
O Test functions and training A B C
O Scope of methodology A B C
O Communication A B C
O Reporting A B C D
O Defect management A B C
O Testware management A B C D
O Test process management A B C
- Evaluation A B
- Low-level testing A B C

Each key area can have different levels, the lowest being is A and the highest being is D. In order to obtain a particular rating, the key area activity must satisfy all checkpoints of that grade. In addition, TPI has three maturity levels Controlled, Efficient, Optimizing - and 14 subscales.

With the satisfaction level of detail 1 to 5, a control level is reached, indicating that the test process is being controlled, which corresponds to level 3 of the CMM. At the control level, a test step is defined, and the test depth in each step is matched with the defined test strategy. Also, at the control level, test specifications are made, faults are reported, communication is take placed, and testware and test operations are managed. With the satisfaction level of detail 6 to 10, the efficiency level is achieved, and the test process is automated, integrated, and settled in the development organization. Finally, the optimization level is achieved by satisfying the level of detail of 11 to 13[7], which is perceived as an everyday improvement of the organization.


Ⅲ. TPI-based Test Process Improvement

The process and necessary activities that improve the maturity of the test process of an organization or project using TPI are shown in Fig. 3[8].


Fig. 3. 
Change process

3.1 Recognition sharing and target selection

The desire to improve the test process often comes from experience with many problems that have occurred during testing. The answer to these problems can only be achieved through improvement of the test process, and successful improvement can only be achieved if the stakeholders share the perception. As shown in Fig. 3 in section 1, A company has improved the passing rate during the first inspection up to the present, but it has not improved dramatically. The first step toward change is to obtain agreement that stakeholder needs to improve the testing process through such objective results. The next step will be to select the scope for change. In less than a few months, you should select the parts that can demonstrate the effectiveness of the test process improvement by reducing the likelihood of failure faster, less costly. In the case of A company, the 10 project part of the external SI project of the A center was selected as the test process improvement target[9][10].

3.2 Current level assessment

The most important part for improvement is to grasp the current state accurately, and TPI provides a model and method to help it. TPI provides about 200 checkpoints for each core area, and you can perform a current assessment by describing Yes / No answers. For reference, TPI provides an Excel tool defined as Macro that can automatically calculate the current level. Table 3 shows the test results of the external SI project part of the A company A center. By displaying the achievement level for each key area in color, it is easy to grasp the current level.

Table 3. 
Test maturity matrix
1 2 3 4 5 6 7 8 9 10 11 12 13
Key areas Controlled Efficient Optimizing
L Test strategy A C D
L Life-cycle model A B
L Moment of involvement A B C D
T Estimating and planning A B
T Test specification techniques A B
T Static test techniques A B
T Metrics A B C D
I Test automation A B C
I Test environment A B C
I Office environment A
O Commitment and motivation A B C
O Test functions and training A B C
O Scope of methodology A B C
O Communication A B C
O Reporting A B C D
O Defect management A B C
O Testware management A B C D
O Test process management A B C
- Evaluation A B
- Low-level testing A B C

3.3 Deriving improvements

Using the test maturity matrix evaluated as in Table 3, we can select the areas of improvement that should be applied first. The grade is displayed at the lower level of detail, but the core area that has not yet been achieved is the top priority. In Table 3, seven key areas are achieving grade A, and 13 key areas are not yet achieving grade A. The maturity matrix shows that the following four key areas with grade A at one level of detail among the 13 key areas should be improved first[11].

  • 1. Test strategy
  • 2. Lifecycle model
  • 11. Promise and Motivation
  • 15. Reporting

In this case, in the case of the life-cycle model area, the evaluation result of itself is class A, but the class A is not achieved because it has dependency on the appointment and the synchronous area. In other words, TPI model shows dependency relation that there is no effect on actual test execution without existence of promise and motivation. This dependency is the part where TPI is more practical than other models. Therefore, in order to achieve the level of the life cycle model area, the promise and improvement of the synchronization area must precede. As a result, in order to improve the testing process of the 10 part of the external SI project, A company confirmed that the improvement of the three key areas of test strategy, promise, motivation and reporting should be promoted first.

3.4 Plan and execute

TPI provides improvement proposals for achieving the next grade of each core area, and S has decided to pursue the following three plans through the improvements provided by the model and its own analysis. It also prioritized improvements that were made to facilitate smooth and rapid improvements.

11. Promise and motivation → Lack of awareness of test → Strengthen test education

12. Reporting → Insufficient defect management → Proliferation of defect management automation tools

1. Test strategy → No test strategy according to project characteristics → Provide guide

In order to plan and implement the implementation of improvements, it is necessary to find an approach that is appropriate to the context of the project and the organization. In case of A company, we have recently rely heavily on the partner companies for development of external SI projects.

As a result, there is a continuing decline in test perception due to collaborations with vendors that lack process awareness and lack of awareness of software engineering. Therefore, we made improvements that strengthen the test training to be a top priority. In order to strengthen the test education, we have opened a new regular curriculum and continue to test the field project.

In addition, in the standard process of A company, the stepwise defect report preparation is set as a mandatory item, so the project itself performs these activities. However, due to the fact that most of the projects are being scheduled, there is little real control over the defects found. In other words, management is not systematically carried out until defects are found, corrected, and finally finalized. Thus, by supporting automated defect management tools as shown in Fig. 4, defect management is strengthened, So that the effect of real time reporting can be obtained.


Fig. 4. 
Change process

3.5 Accessing improvements

These improvements should be periodically reassessed and new improvements should be made to ensure that test process improvements are constantly being made. the results of the same evaluation are shown in Table 4.

Table 4. 
Test maturity matrix
1 2 3 4 5 6 7 8 9 10 11 12 13
Key areas Controlled Efficient Optimizing
L Test strategy A C B
L Life-cycle model A B
L Moment of involvement A B C B
T Estimating and planning A B
T Test specification techniques A B
T Static test techniques A B
T Metrics A B C B
I Test automation A B C
I Test environment A B B
I Office environment A
O Commitment and motivation A B C
O Test functions and training A B C
O Scope of methodology A B B
O Communication A B C
O Reporting A B C D
O Defect management A B C
O Testware management A B C A
O Test process management A B C
- Evaluation A B
- Low-level testing A B C

As shown in Table 4, Test strategy, Moment of involvement, Metrics, Test environment, Testware Management is an improved part of Table 3, achieving a new A grade in five key areas and achieving B grade in one area. However, we have yet to achieve the A rating due to lack of improvement activities in the test strategy area, and we plan to make it a top priority improvement target and carry out improvement activities.


Ⅳ. Conclusion

Among the several models proposed to improve the test process, we briefly introduced the TPI, and introduced the test process improvement activities and results of the A company. By performing improvement activities based on the process model, we were able to perform progressive, effective and continuous process improvement.

Through this, we found that choosing an appropriate model to improve the quality of the process, rather than one-time improving the process for achieving certification, is crucial to improving the process of improving processes. Although TPI has the advantage that it can be used in organizations that do not apply enterprise-wide process models, further research is needed to improve TPI model and application methods to perform a complementary role and avoid overlapping roles in organizations that already apply models such as CMMI.


Acknowledgments

This work was supported by The National Research Foundation of Korea in 2023(grant number 2022S1A5A8049255) and Cooperative Management Research Institude, Agricultual Cooperative University


References
1. T. Koomen and M. Pol, Test Process Improvement, a practical step-by-step guide to structured testing, Addison-Wesley, 1999.
2. J. Bach, "James Bach on risk-based testing", Software Testing and Quality Engineering, Vol. 1, No. 6, pp. 22-29, 1999.
3. M. Pol, R. Teunissen, and E. Veenendaal, Software Testing, A Guide to the TMap Approach, Addison-Wesley, 2002.
4. ISO/IEC/IEEE 29119-2, Software and system engineering – Software testing – Part 2: Test processes, 2017.
5. S. M. Burgess and R. D. Drabick, The I.T.B.G. Testing Capability Maturity Model, 1996.
6. A. Dupuy and N. Leveson, "An empirical evaluation of the MC/DC coverage criterion on the HETE-2 Satellite software", in Proc. of the 19th Digital Avionics Systems Conference, Philadelphia, PA, USA, Oct. 2000.
7. S. Reid, "ISO/IEC/IEEE 29119 Software Testing Standards(A Practitioner`s Guide)", STA, 2017.
8. I. Burnstein, T. Suwanassart, and R. Carlson, "Developing a testing maturity model for software test process Evaluation and improvement", in Proc. of International Test Conference, Washington, DC, USA, Oct. 1996.
9. H. Heidemeier and K. Moser, "Self–other agreement in job performance ratings: A meta-analytic test of a process model", Journal of Applied Psychology, Vol. 94, No. 2, pp. 353-370, 2009.
10. International Software Testing Qualifications Board, "Certified Tester: Advanced Level Syllabus", 2021. http://castb.org/wp-content/uploads/2021/03/advanced_syllabus_2021_test_analyst_ga_release_202103.pdf.
11. B. Beizer, Software Testing Techniques, 2nd ed. New York, NY: Van Nostrand Reinhold, 1990.
12. Ilene Burnstein, Practical Software Testing, Springer, 2003.

Authors
Jin-Wook Jang

2013 : PhD degrees in Konkuk University

2001 : Computer Officer, Ministry of National Defense Information Command

2011 : QA PMO CTO, SK communications

2021 ~ Present : Professor, Agricultual Cooperative University, Cooperative Digital Management

Research interests : Digital Transformation, Place Image Deep Learning, Smart Farming Computational Thinking, Software Quality