A Flexible Unit Testing Tool for Test Driven Development

테스트 주도 개발을 위한 유연한 단위 테스트 도구로 변경

  • 전석환 (고려대학교 컴퓨터공학과) ;
  • 김정동 (고려대학교 컴퓨터공학과) ;
  • 백두권 (고려대학교 컴퓨터공학과)
  • Published : 2009.02.15

Abstract

The efficient test tool is indispensable to the test driven development. The test tool is very helpful to get the advantage of the test driven development. Many traditional automation test tool does not support standard script language and are not suitable to unit test. In traditional unit test tool, a code for the test is added at the source code. Such method makes the complexity of a source code and has a problem which must modify many part of the source code when the test case is changed. In this paper, we present a design technique of a flexible unit testing tool which makes a developer can modify easily the test case by using the standard java script in test driven development. We implement the test tool by this design technique to verify the availability of this technique.

테스트 주도 개발의 장점을 얻기 위해서는 효율적인 테스트 도구의 사용은 필수적이다. 기존의 통합 자동화 테스트 도구는 표준화 되지 않은 스크립트(script) 언어를 사용하거나 단위 테스트에 적합하지 않은 경우가 많다. 기존의 단위 테스트 도구는 대부분 프로그램의 원시코드에 테스트를 위한 코드가 추가된다. 이것은 원시 코드의 복잡도를 높이고 테스트 케이스 변경 시 원시코드의 여러 부분을 수정해야 하는 문제점이 있다. 본 논문에서는 테스트 주도 개발 시 개발자가 표준 자바 스크립트(Java script)를 이용하여 테스트 케이스 수정을 용이하게 할 수 있도록 유연한 테스트 도구의 설계를 제안하고 제안된 설계의 가용성을 검증하고자 테스트 도구를 구현하였다.

Keywords

References

  1. Boby George and Laurie Williams, 'A structured expeirment of test-driven development,' Information and Software Technology, Vol.46, Issue.5, pp. 337-342, 2004 https://doi.org/10.1016/j.infsof.2003.09.011
  2. David Janzen and Hossein Saiedian, "Test-Driven Development: Concepts, Taxonomy, and Future Directions," The flagship publication of the IEEE Computer Society, Vol.38, No.9, pp. 1-3, 2005 https://doi.org/10.1109/MC.2005.314
  3. Hans Wasmus and Hans-Gerhard Gross, "Evaluation of Test-Driven Development," Delft Univer-sity of Technology Software Engineering Research Group Technical Report Series, 2007
  4. 정창신, 이계임, 김종희, 정순기, "XML 기반 테스트 정보를 공유하는 소프트웨어 테스팅 자동화 프레임워크의 설계", 한국컴퓨터정보학회 논문지 제10권 제3호, pp. 89-99, 2005
  5. Charles D. Allison, "The simplest unit test tool that could possibly work," Journal of Computing Sci-ences in Colleges, Vol.23, Issue.1, pp.183-189, 2007
  6. Panagiotis Louridas, “JUnit: Unit Testing and Coding in Tandem,” IEEE SOFTWARE, Vol.22, No.4, pp. 12-15, 2005 https://doi.org/10.1109/MS.2005.100
  7. Andrew Begel and Nachiappan Nagappan, “Usage and Perceptions of Agile Software Development in an Industrial Context: An Exploratory Study,” Empirical Software Engineering and Measurement, pp. 255-264, 2007 https://doi.org/10.1109/ESEM.2007.85
  8. 김희진, 최병주, 윤석진, "테스트 주도 개발 (TDD)에서의 모바일 응용 소프트웨어 성능 테스트 방안", 한국정보과학회 학술발표논문집 제34권 제2호(B), pp. 143-146, 2007
  9. Michael Ellims and James Bridges and Darrel C. Ince, "The Economics of Unit Testing," Empirical Software Engineering, Vol.11, No.1, pp. 5-31, 2006 https://doi.org/10.1007/s10664-006-5964-9
  10. 서광익, 최은만, "객체지향 소프트웨어를 위한 주요 블랙박스 테스트 기법들의 비교", 한국정보과학회, pp. 1-17, 2006
  11. 김영상, 백창현, 박승규, "유닛 테스트 자동화 도구를 위한 프레임워크 설계", 한국정보과학회 한국컴퓨터종합학술대회 논문집 pp. 184-186, 2006
  12. Oystein Hallaraker and Giovanni Vigna, "Detecting malicious JavaScript code in Mozilla," Engineering of Complex Computer Systems, pp. 85-94, 2005 https://doi.org/10.1109/ICECCS.2005.35
  13. 차석기, 임정은, 백두권, "런타임을 고려한 소프트웨어 컴포넌트 메트릭스", 한국정보과학회 2007 한국컴퓨터종합학술대회 논문집 제 34권 제1호(B), pp. 90-95, 2007
  14. S.R. Chidamber and C.F. Kemerer, "A Metrics Suit for Object Oriented Design," IEEE TRANSAC-TIONS ON SOFTWARE ENGINEERING, Vol.20, No.6, pp. 476-493, 1994 https://doi.org/10.1109/32.295895
  15. 김유경, 고병선, 고현희, 박재년, "객체지향 소프트웨어의 품질 메트릭스에 관한 연구", 한국정보과학회 학술발표논문집 제26권 제1호(A), pp. 104-112, 1999
  16. 윤희환, 김영집, 구연설, "객체지향 프로그램의 화이트박스와 블랙박스 재사용성 측정 매트릭스", 한국정보과학회 논문지 소프트웨어 및 응용 제28권 제2호, pp. 104-112, 2001