Abstract
Software, once developed, has a long life and evolves through numerous additions and modifications because of the faults, the changes in user requirements, the changes in environments, and so forth. With the evolution of the software, assuring the quality of the software is getting more difficult because of numerous versions of the software. Meanwhile, regression testing has been used to support the software testing activities and assure acquiring appropriate quality through several versions of software. Regression testing, however, is too expensive because it requires lots of test cases executions and the number of test cases increases sharply as the software evolves. For this reason, several techniques are suggested to help conducting regression testing then test case prioritization technique is understood the most effective and efficient technique to support regression testing. In this paper, we propose an approach, Historical Value-Based Approach, which is based on the use of historical information to estimate the current cost and fault severity for cost-cognizant test case prioritization. As a result of the proposed approach, software testers who perform regression testing prioritize their test cases more effectively so that the test effectiveness of them can be improved in terms of APFDc.
한번 개발된 소프트웨어는 긴 수명을 가지며, 결함이나 사용자 요구사항의 변경, 환경의 변화등의 원인으로 인한 수많은 모듈의 수정을 통해 진화한다. 소프트웨어의 진화와 더불어, 이러한 많은 모듈의 추가와 수정에 의한 소프트웨어의 다양한 버전의 생성은 소프트웨어 품질 향상을 가로막는 주요 요인중의 하나이다. 한편 회귀테스트는 이러한 소프트웨어의 변경에 따른 초점을 둔 테스트이지만, 소프트웨어가 여러 버전을 거쳐 진화함에 따라 많은 수의 테스트 케이스의 추가 및 수정과 더불어 테스트 케이스의 전체 숫자가 급격히 증가함에 따라 비용이 많이 들기에 쉽게 수행하지 못하는 테스트이다. 이에 테스트케이스 우선순위화 기법이 등장하여 회귀테스트의 수행을 지원하였다. 그러나, 테스트 케이스 우선순위화기법에서 사용되는 우선순위의 기준이 가치중립적이거나 가치를 고려하더라도 특정한 단일 요인만을 고려하여 그 활용이 제한적이었다. 논문에서, 우리는 비용과 결함 심각도에 기반한 히스토리컬 가치 기반의 접근법을 제시하며, 이는 기존의 비용 인식 테스트 케이스 우선순위화 기법에서의 현재의 비용 및 결함 심각도를 예측하기 위하여 히스토리컬 정보를 사용하는 접근법이다. 본 논문의 공헌으로서, 제안된 접근법은 테스트의 이해관계자들이 어떻게 히스토리컬 가치가 가치의 관점에서 테스트 효과성의 향상을 위해 사용되고 있는가를 알 수 있도록 돕는 다는데 있다. 결과적으로, 회귀 테스트를 수행하는 소프트웨어 테스터들은 그들의 테스트 케이스를 보다 더 효과적으로 우선순위 화할 수 있기에 그들의 테스트를 통한 테스트 효과성은 향상될 수 있다.