DOI QR코드

DOI QR Code

CFG를 이용한 소프트웨어 테스트 케이스의 자동 생성

Automatic Generation of Software Test Cases using CFG

  • 윤성희 (상명대학교 컴퓨터소프트웨어공학과)
  • Yoon, Sung-Hee (Department of Computer Software Engineering, Sangmyung University)
  • 발행 : 2009.05.31

초록

문법 기반의 테스트 케이스 자동 생성(GBTG) 알고리즘은 문법 G를 기반으로 G에 의해 수용되는 문장들의 집합 L(G), 즉 소프트웨어 테스트를 위한 테스트 케이스를 생성한다. 문맥 자유 문법으로 기술되는 대부분의 언어들은 순환적 성격을 가지며, 일반적으로 G에 의해 생성되는 집합 L(G)는 너무 커서 생성된 케이스들을 모두 실행시킬 테스트 대상으로 삼는다는 것은 현실석이지 못하다. 본 논문에서는 CFG에 의해 자동 생성되는 테스트 케이스의 집합의 크기를 통제하면서도 테스트의 주요 범위를 커버하기 위하여 문맥 자유 문법을 보강하는 문법외적 요소인 태그들을 개발하고 실험하였다.

A grammar-based test case generation (GBTG) algorithm takes a grammar G and generates a subset of the language L(G) accepted by G, and called test cases for software product testing. As most languages specified with CFG are recursive, usually L(G) is so large that it is not practical to execute all the of the generated cases. Therefore, this paper presents some "tags" : extra-grammatical annotations which are designed to restrict the generation. A number of control mechanisms have been developed to prune the number of test cases generated while still producing a test set that covers the majority of inputs to the system.

키워드

참고문헌

  1. 배현섭, "소프트웨어 시험 단계별 자동화 지원 도구", 정보과학회지, 제23권 제3호, 2005.
  2. 서광익, 최은만, “블랙박스 테스트 케이스의 리엔지니어링”, 정보처리학회 논문지, 제 13-D권, 제4호, p.39-44, 2006.
  3. 윤성희, “질의어 의미정보와 사용자 피드백을 이용한 웹 검색엔진의 성능 향상”, 한국산학기술학회논문지, 제8권 제2호, p.280-285, 2007.
  4. S. M. Austin, D. R. Wilkins, and B. A. Wichmann. An Ada program test generator. Proceedings of the conference on TRI-Ada 91, p.320-325, 1991.
  5. G. Bernot, M. Gaudel, and B. Marre. Software testing based on formal specifications: a theory and a tool. Software Engineering Journal, 6(6):387-405, 1991. https://doi.org/10.1049/sej.1991.0040
  6. C. Brown, S. Magbsoodloo, and W. Deason. A cost model for determining the optimal number of software test cases. IEEE Trans. Soft. Eng., 15(2):218-221, 1989. https://doi.org/10.1109/32.21747
  7. C. Burgess. The automated generation of test cases for compilers. Journal of Software Testing, Verification, and Reliability, 4(2):81-99, 1994. https://doi.org/10.1002/stvr.4370040204
  8. C. Burgess and M. Saidi. The automatic generation of test cases for optimizing Fortran compilers. Information and Software Technology, 38(2):111-119, 1996. https://doi.org/10.1016/0950-5849(95)01055-6
  9. D. Hoffman and K. Yoo, A Framework for firewall test automation, In ASE 05: Proc. of Intl. Conf. of Automated software engineering, p.96-104, 2007.
  10. W. Homer and R. Schooler, Independent testing of compiler phases using a test case generator. Software-practice and experience, 19(1):53-62, 1989. https://doi.org/10.1002/spe.4380190106
  11. D. Ince. The automatic generation of test data. The Computer Journal, 30(1):63-69, 1989.
  12. Minsik Kim, Jangbok Kim, Kevin Yoo, "Testing UPnP Internet Gateway Devices with Faulty Packets," Proceedings of the 6th WSEAS Int'l Conf. on Circuit, systems, Electronics, Control & Signal Processing, p.29-37, Cairo, Egypt, 2007.
  13. R. Lammel and W. Schulte. Controllable combinatorial coverage in grammar-based testing. In Proc. Test Com, pages 19-38. Springer-Verlag, LNCS 3964, 2006.
  14. P. M. Maurer. Generation test data with enhanced context-free grammars. IEEE Software, 7(4):50-55, 1990. https://doi.org/10.1109/52.56422
  15. V. Murali and R. K. Shyamasundar. Sentence generator for a compiler for pt, a pascal subset. Software-Practice and Experience, 13(9):857-869, 1983. https://doi.org/10.1002/spe.4380130911
  16. E. G. Sirer and B. N. Bershad. Using production grammars in software in software testing. In 2nd conference on domain-specific languages, p.1-13, ACM Press, 1999.
  17. J. Paakki. Attribute grammar paradigms: a high-level methodology In language implementation. ACM Computing Surveys, 27(2):196-255, 1995. https://doi.org/10.1145/210376.197409