DOI QR코드

DOI QR Code

Adaptive Random Testing for Integrated System based on Output Distribution Estimation

통합 시스템을 위한 출력 분포 기반 적응적 랜덤 테스팅

  • 신승훈 (아주대학교 정보컴퓨터공학부) ;
  • 박승규 (아주대학교 정보컴퓨터공학부) ;
  • 최경희 (아주대학교 정보컴퓨터공학부) ;
  • 정기현 (아주대학교 전자공학부)
  • Received : 2011.03.10
  • Accepted : 2011.07.27
  • Published : 2011.09.30

Abstract

Adaptive Random Testing (ART) aims to enhance the performance of pure random testing by detecting failure region in a software. The ART algorithm generates effective test cases which requires less number of test cases than that of pure random testing. However, all ART algorithms currently proposed are designed for the tests of monolithic system or unit level. In case of integrated system tests, ART approaches do not achieve same performances as those of ARTs applied to the unit or monolithic system. In this paper, we propose an extended ART algorithm which can be applied to the integrated system testing environment without degradation of performance. The proposed approach investigates an input distribution of the unit under a test with limited number of seed input data and generates information to be used to resizing input domain partitions. The simulation results show that our approach in an integration environment could achieve similar level of performance as an ART is applied to a unit testing. Results also show resilient effectiveness for various failure rates.

적응적 랜덤 테스팅(ART)은 순수 랜덤 테스팅의 효율성을 개선하기 위해 제안된 방법으로 효과적인 테스트 케이스의 선택을 통해 보다 적은 수의 테스트 케이스로 소프트웨어 내에 존재하는 오류 영역을 찾는 것을 목적으로 한다. 기존의 ART는 하나의 시스템 혹은 유닛에 대한 테스트를 적용 대상으로 하고 있으며, 다양한 접근 방법을 이용해 순수 랜덤 테스팅보다 우수한 성능을 보여 왔다. 하지만 통합 시스템을 구성하는 특정 유닛에 대해 ART를 적용하고자 하는 경우에는 시스템을 구성하는 타 유닛들의 영향으로 인해 기대 이하의 효율성을 보이게 된다. 따라서 본 논문에서는 이와 같은 테스트 환경 대한 ART 적용방법의 하나로, 테스트 대상 유닛에 부여되는 입력 데이터의 분포를 통합 시스템에 대한 제한된 수의 입력을 사용하여 예측하고, 이를 바탕으로 시스템의 입력 도메인 분할 크기를 조절하는 방법을 제안하고 시뮬레이션을 통해 성능을 평가한다. 시뮬레이션 결과, 제안된 방법은 유닛 테스팅에 ART를 적용했을 때와 유사한 수준의 성능으로 통합 시스템 내의 특정 유닛을 테스트 가능하도록 하며, 오류 비율의 변화가 ART의 성능에 미치는 영향 또한 1% 이내 수준으로 안정임을 확인하였다.

Keywords

References

  1. 신승훈, 박승규, "입력 도메인 확장을 이용한 반복 분할 기반의 적응적 랜덤 테스팅 기법," 한국정보처리학회논문지 D, 15-D(4), pp. 531-540, 2008년 8월.
  2. 신승훈, 박승규, 최경희, "테스트 케이스 분포 조절을 통한 IP-ART 기법의 성능 향상 정책," 정보과학회논문지 : 소프트웨어 및 응용, 36(6), pp. 451-461, 2009년 6월.
  3. F.T. Chan, T.Y. Chen, I.K. Mak and Y.T. Yu, "Proportional sampling strategy: guidelines for software testing practitioners," Information and Software Technology, vol. 38, issue 12, pp. 775-782, Dec. 1996. https://doi.org/10.1016/0950-5849(96)01103-2
  4. K.P. Chan, T.Y. Chen and D. Towey, "Restricted random testing," Proc. of the 7th International Conference on Software Quality, LNCS 2349, pp. 321-330, 2002.
  5. T.Y. Chen, D.H. Huang and Z.Q. Zhou, "Adaptive random testing through iterative partitioning," Proc. of the 11th International Conference on Reliable Software Technologies, LNCS 4006, pp. 155-166, 2006.
  6. T.Y. Chen, H. Leung and I.K. Mak, "Adaptive random testing," Proc. of the 9th Asian Computing Science Conference, LNCS 3321, pp. 320-329, 2004.
  7. T.Y. Chen and R. Merkel, "Efficient and effective random testing using the voronoi diagram," Proceedings of the 2006 Australian Software Engineering Conference, pp. 300-305, Apr. 2006.
  8. G.B. Finelli, "NASA software failure characterization experiments," Reliability Engineering and System Safety, vol. 32, issues 1-2, pp. 155-169, 1991. https://doi.org/10.1016/0951-8320(91)90052-9
  9. V. Ganesh, T. Leek and M. Rinard (2009), "Taint-based directed whitebox fuzzing," Proceedings of the 31st International Conference on Software Engineering, pp. 474-484, May. 2009.
  10. R. Hamlet, "Random testing," Encyclopedia of Software Engineering, Wiley, pp. 970-978, 1994.
  11. J. Mayer, "Adaptive random testing by bisection and localization," Proc. of the 5th International Workshop on Formal Approaches to Testing of Software, LNCS 3997, pp. 72-86, 2006.
  12. J. Mayer and C. Schneckenburger, "Adaptive random testing with enlarged input domain," Proceedings of the 6th International Conference on Quality Software, pp. 251-258, Oct. 2006.
  13. B.P. Miller, L. Fredriksen and B. So, "An empirical study of the reliability of UNIX utilities," Communications of the ACM, vol. 33, issue 12, pp. 32-44, Dec. 1990. https://doi.org/10.1145/96267.96279
  14. A.B.M. Omar Faruk, "Testing & exploring vulnerabilities of the applications implementing DNP3 protocol," Master Thesis, KTH Royal Institute of Technology, Aug. 2008.
  15. W.H. Press, S.A. Teukolsky, W.T. Vetterling and B.P. Flannery, Numerical recipes in C++, the art of scientific computing, 2nd Ed., Cambridge University Press, pp. 237, 631, 2002
  16. S.H. Shin, S.K. Park, K.H. Choi and K.H. Jung, "Normalized adaptive random test for integration test," Proceedings of the 2nd IEEE International Workshop on Software Test Automation, pp. 335-340, Jul. 2010.
  17. M. Sutton, A. Greene and P. Amini, Fuzzing, brute force vulnerability discovery, Addison-Wesley, pp. 387-416, 2007.