DOI QR코드

DOI QR Code

Reengineering Black-box Test Cases

블랙박스 테스트 케이스의 리엔지니어링

  • 서광익 (동국대학교 컴퓨터공학과) ;
  • 최은만 (동국대학교 컴퓨터멀티미디어공학과)
  • Published : 2006.08.01

Abstract

Black-box testing needs to prepare fitting test data, execute software, and examine the result. If we test software effectively, not only selecting test cases but also representing test cases are important. In static testing effectiveness of testing activities also depends on how to represent test cases and checklist to validate. This paper suggests a method for finding ineffective critical test cases and reengineering them. An experiment of reengineering digital set-top box software shows the process and results of checking effectiveness and conformance of current test cases and patching test cases. The result shows how much save the test time and improve test coverage by reengineering test cases. Methods of reuse and restructuring test cases are also studied to fit into embedded product-line software.

소프트웨어를 블랙박스 테스트 하려면 대상 소프트웨어에 적절한 데이터를 주어 실행해 보아야 한다. 효과적인 테스트가 되기 위해서 테스트 케이스의 선택뿐만 아니라 테스트 케이스가 어떻게 표현되었는가가 중요하다. 또한 정적인 테스트 작업에도 테스트를 위한 체크리스트가 어떻게 작성되었는지에 따라 테스트 작업의 효율성이 좌우된다. 이 논문에서는 비효율적이며 문제가 있는 테스트 케이스와 체크 리스트들을 리엔지니어링 하는 방법을 제시하고 이를 실험 하였다. 임베디드 시스템의 일종인 디지털 방송수신 장치에 탑재된 소프트웨어를 대상으로 하여 이미 사용 중인 테스트 케이스의 효율성과 적합성을 따져보고 이를 리엔지니어링 하였다. 리엔지니어링 한 후의 테스트 케이스의 산출물이 테스트 시간과 커버리지 측면에서 얼마나 효과적인지를 살펴보았다. 또한 제품 계열 개념의 소프트웨어를 테스트하기에 적합하도록 테스트 케이스를 재사용 또는 재구조화 하는 방법도 연구하였다.

Keywords

References

  1. Tassey, G., 'The Economic Impacts of Inadequate lnfrastructure for Software Testing: Final Report,' National Institute of Standards and Technology, 2002
  2. Glenford J. Myers, 'The Art of Software Testing', Second Edition, John Wiley & Sons, 2004
  3. B. Broekman and E. Notenboom, 'Testing Embedded Software', Addison-Wesley, 2003
  4. H. Comma, 'Designing Software Product Lines with UML,' Addison Wesley, 2004
  5. Ross, K. 'Practical Software System Testing, Lecturing Note', K. J. Ross & Associates Pty, Ltd. 1998
  6. 서광익, 최은만, '다양한 블랙박스 테스트 기법들의 성능 비교,' 정보과학회논문지: 소프트웨어 및 응용, 2005
  7. 김진철, 정태욱, '모바일 소프트웨어 테스트 자동화,' STEN Journal, Vol.3, pp.61-66, 2005
  8. IEEE Std 610. 12-1990, 'IEEE Standard Glossary of Software Engineering Terminology,' IEEE, 1990
  9. Allen, L., 'Taking a Peek Inside the Black Box,' Astek Engineering, Astek Engineering, 2001
  10. W. M. Rlrich, 'Re-engineering: Defining an Integrated Migration Framework,' CASETrends, May, 1991
  11. E. Yourdon, 'Re-3, Part1: Re-Engineering, Restructuring, and ReverseEngineering,' AmericanProgrammer., Vol.2, No.4, pp.33-10, April, 1898
  12. H. Mili, A. Mili, S, Yacoub, E. Addy, 'Reuse-Base Software Engineering', Jone Wiley & Sons, pp.7-9, 2002
  13. Ted J. Biggerstaff and Alan J. Perils, 'Software Reusability,' Vol.1: Concepts and Models, Frontier Series, ACM Press 1989
  14. A. von Mayrhauser, R. Mraz, J. Walls, P. Ocken, 'Domain Based Testing: Increasing Test Case Reuse,' Proceedings of Computer Design: VLSI in Computer and Processors, ICCD 94, IEEE, OCT. 10-12, 1994 https://doi.org/10.1109/ICCD.1994.331957
  15. Lee White and Edward Cohen. 'A Domain Strategy for Computer Program Testing,' IEEE TSE, SE-6(3), pp.247-257, May, 1980 https://doi.org/10.1109/TSE.1980.234486
  16. R. S. Arnold, 'Software Reengineering', IEEE Computer Society Press Tutorial, 1993
  17. R. S. Arnold, 'Software Restructuring,' IEEE Proc. Vol.77, No.4, pp.607-617, April, 1989 https://doi.org/10.1109/5.24146