DOI QR코드

DOI QR Code

Empirical Study on Test Case Prioritization Techniques of Regression Testing

회귀 테스팅의 테스트 케이스 우선 순위화 기법의 실험적 연구

  • 소선섭 (공주대학교 컴퓨터공학부) ;
  • 채의근 (공주대학교 컴퓨터공학부)
  • Published : 2005.04.01

Abstract

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 $20\%$ of test cases shows considerably good performance compared to the execution result of the full test suite.

테스트 케이스 우선 순위화는 회귀 테스팅이 시간 제약 하에서 주어진 모든 테스트 케이tm를 수행할 수 없을 때 테스트 케이스의 실행 순서를 스캐쥴링하는 것이다. 본 논문에서는 장기적인 회귀 테스팅 환경에서 과거의 테스트 실행 및 오류 검출 정보를 활용한 HED우선 순위화 방법을 제안하고, 이를 기존의 Random 및 LRU 방법과 비교하였다. 본 실험을 통해 몇 가지 중요한 통찰을 얻을 수 있었다. 첫째, 우선 순위화 방법들이 프로그램의 특성에 따라 성능 면에서 상호 보완적이라는 점이다. 오류를 찾는 테스트 케이스들을 많이 갖고 있는 프로그램의 경우에는 Random이 효과적이고, 상대적으로 오류를 찾는 테스트 케이스의 비율이 작은 경우에는 제안된 HED방법이 좋은 성능을 보였으며, 중간 정도인 경우에는 LRU 방법이 효과적이었다. 둘째, 전체적인 성능이 테스트 스위트의 크기에 영향을 많이 받는다는 점이다. 테스트 스위트의 크기를 달리하여 실험한 결과 오류의 수명 값과 그 성능 순위에 차이를 보였다. 마지막으로 전체 테스트 케이스의 $20\%$만을 실행하여도 전체 테스트 케이스 모두를 실행하는 것과 성능 면에서 유사한 결과를 얻을 수 있다는 점 등이다.

Keywords

References

  1. M.J. Harrold and M.L. Soffa, 'An Incremental approach to unit testing during maintenance,' In Proc. of the Conf. on Software Maintenance, pp.362-367, Oct., 1988 https://doi.org/10.1109/ICSM.1988.10188
  2. J. Hartmann and D. Robson, 'Techniques for selective revalidation,' IEEE Software, Vol.16, No.1, pp.31-38, 1990 https://doi.org/10.1109/52.43047
  3. T. Ostrand and E. Weyuker, 'Using Dataflow Analysis for Regression Tesing,' In Six Annual Pacific Northwest Software Quality Conference, pp.233-247, Sep., 1988
  4. G. Rothermel and M.J. Harrold, 'A safe, efficient regression test selection technique,' ACM TOSEM, Vol.6, No.2, pp. 173-210, Apr., 1997 https://doi.org/10.1145/248233.248262
  5. G. Rothermel and M.J. Harrold, 'Empirical studies of a safe regression test selection technique,' lEE TSE, Vol. 24, No. 6, pp.401-419, Jun., 1998 https://doi.org/10.1109/32.689399
  6. W.E. Wong, J.R. Horgan, S. London, and H. Agrawal. A Study of Effective Regression Testing in Practice, In proc. of the 8th Int'l, Symp. on Software Reliability Engineering, pp.230-238, Nov., 1997 https://doi.org/10.1109/ISSRE.1997.630875
  7. G. Rothermel, R. Untch, C. Chu, and M.J. Harrold, Test case prioritization: an empirical study. In proc. of Int'l. Conf. on Software Maintenance, 1999 https://doi.org/10.1109/ICSM.1999.792604
  8. J.-M. Kim and A. Porter, A History-Based Test Prioritization Technique for Regression Testing in Resource Constrained Environment, In proc. of the 24th Int'l. Conf. on Software Engineering, 2002
  9. F.I. Vokolos and P.G. Frankl, Empirical evaluation of the textual differencing regression testing technique, In Proc. of the Int'l Conf. on Software Maintenance, 1998, pp.44-53 https://doi.org/10.1109/ICSM.1998.738488
  10. M. Nutchins, H. Foster, T.Goradia, and T. Ostrand, 'Experiments on the effectiveness of dataflow-and controlflow-based test adequacy criteria,' In Proc. of 16th Int'l Conf. on Software Engineering, pp.126-135, Jan., 2000