MSCTest: An Automated Testing Tool for Embedded Software

MSCTest: 내장 소프트웨어 테스트를 위한 자동화 도구

  • 이남희 (한국과학기술원 전산학과) ;
  • 서선애 (한국과학기술원 전산학과) ;
  • 김태효 (한국과학기술원 전산학과) ;
  • 차성덕 (한국과학기술원 전산학과) ;
  • 이재원 ((주)삼성전자 중앙연구소 S/W센터) ;
  • 박기웅 ((주)삼성전자 중앙연구소 S/W센터)
  • Published : 2000.04.30

Abstract

Embedded software generates its outputs using current states of the system as well as external inputs. When a module in embedded software is tested, we need an automated testing tool, which generates possible sequences to reach the module as well as input data of the module, to reduce the testing time and to improve the quality of software. In this paper, we use decision table to specify the functionality of the module and data-annotated MSC (Message Sequence Charts) to describe scenarios, and implement a tool, which we call MSCTest, to automate the testing process. MSCTest consists of MSC graphic editor, test sequence and data generator, and test driver generator. MSCTest is effectively applied to test EsWin which is a kind of window library used in embedded systems.

내장 소프트웨어는 외부 입력과 시스템의 현재 상태를 함께 고려하여 출력을 결정하는 특성을 가지고 있기 때문에, 하나의 모듈을 테스트하기 위해서는 해당 모듈에 대한 단위 테스트 기법 이외에, 추가적으로 그 모듈에 도달하기 위한 다양한 시퀀스를 생성하는 방법이 필요하다. 본 논문에서는 내장 소프트웨어의 모듈 테스트를 위한 명세 기반의 테스트 방법을 제안하고 이를 지원하는 자동화 도구인 MSCTest를 구현하였다. 각 모듈의 기능은 결정표 (decision table)를 이용하여 명세하고, 시스템에 발생가능한 시나리오는 데이타 표현을 첨가한 MSC (Message Sequence Charts)로 기술하여 테스트 시퀀스를 생성한다. MSCTest는 MSC 그래픽 편집기, 테스트 시퀀스와 데이타 생성기, 그리고 생성된 테스트데이타를 수행시키는 테스트 드라이버 생성기로 구성되어 있다. MSCTest를 이용하여 웹 비디오폰이나 디지털 TV 등에서 편리한 사용자 인터페이스를 제공하기 위해 사용되는 EsWin (Embedded System Windows) 소프트웨어를 효과적으로 테스트할 수 있었다.

Keywords

References

  1. E. Dustin, J. Rashka, and J. Paul, Automated Software Testing, pp. 417-473, Addison Wesley, 1999
  2. SwifTest, http://www.otm.fi/prosoft/
  3. ATTOL UniTest 3.3, http://www.attol-testware.com/unitest.htm
  4. D. Mandrioli, S. Morasca, and A. Morzenti, 'Generating Test Cases for Real-Time Systems from Logic Specifications,' ACM Transactions on Computer Systems, pp. 365-398, Nov. 1995 https://doi.org/10.1145/210223.210226
  5. R. H. Carver and K. C. Tai, 'Use of Sequencing Constraints for Specification-Based Testing of Concurrent Programs,' IEEE Transactions on Software Engineering, Vol. 24, No. 6, pp. 471-490, June 1998 https://doi.org/10.1109/32.689403
  6. H. S. Bae and Y. R. Kwon, 'Validation of Timing and Communication Constraints in Real-Time Parallel Programs,' Phd. Dissertation in Computer Science, KAIST, 1999
  7. Telelogic Tau, http://www.telelogic.com
  8. ObjectGEODE, http://www.csverilog.com
  9. I. Jacobson and et al., Object Software Engineering - A Use Case Driven Approach, Addison-Wesley, 1992
  10. B. Algayres, Y. Lejeune, F. Hugonment, and F. Hantz, 'The AVALON Projects: A Validation Environment for SDL/MSC Descriptions,' Proceedings of the 6th SDL Forum, Oct. 1993
  11. ITU-T. Recommendation Z.120, 'ITU-Telecommunication Standardization Sector,' Geneva, Switzerland, May 1996
  12. B. Beizer, Software Testing Techniques, pp. 320-362, New York:Van Nostrand Reinhold, 1990
  13. EsWin. 2.0 User's Guide, Samsung Electronics Co., 1999