Abstract

테스트 케이스 우선 순위화는 회귀 테스팅이 시간 제약 하에서 주어진 모든 테스트 케이tm를 수행할 수 없을 때 테스트 케이스의 실행 순서를 스캐쥴링하는 것이다. 본 논문에서는 장기적인 회귀 테스팅 환경에서 과거의 테스트 실행 및 오류 검출 정보를 활용한 HED우선 순위화 방법을 제안하고, 이를 기존의 Random 및 LRU 방법과 비교하였다. 본 실험을 통해 몇 가지 중요한 통찰을 얻을 수 있었다. 첫째, 우선 순위화 방법들이 프로그램의 특성에 따라 성능 면에서 상호 보완적이라는 점이다. 오류를 찾는 테스트 케이스들을 많이 갖고 있는 프로그램의 경우에는 Random이 효과적이고, 상대적으로 오류를 찾는 테스트 케이스의 비율이 작은 경우에는 제안된 HED방법이 좋은 성능을 보였으며, 중간 정도인 경우에는 LRU 방법이 효과적이었다. 둘째, 전체적인 성능이 테스트 스위트의 크기에 영향을 많이 받는다는 점이다. 테스트 스위트의 크기를 달리하여 실험한 결과 오류의 수명 값과 그 성능 순위에 차이를 보였다. 마지막으로 전체 테스트 케이스의 <TEX>$20\%$</TEX>만을 실행하여도 전체 테스트 케이스 모두를 실행하는 것과 성능 면에서 유사한 결과를 얻을 수 있다는 점 등이다. Test case prioritization methods schedule test cases for execution when we can not practically run all test cases for regression testing. We proposed a new prioritization method that is based on historical execution and mr detection data. And we conducted an experiment to compare the proposed method with existing Random and LRU methods using the fault age under the long run environment as criterion. The experiment shows several interesting results. First, our results show that they are complementary. Random method shows good performance for programs that have many error-detectable test cases and HED is more effective for the programs that can be detected by very small amount of test cases. But LRU is more effective for the programs that have relatively medium amount of error detectable test cases. Next, the performance of prioritization method is affected by the size of test suites. Two experiments that have different size of test suites show considerably different fault ages and performance order. And lastly, the <TEX>$20\%$</TEX> of test cases shows considerably good performance compared to the execution result of the full test suite.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call