검색 상세

임베디드 소프트웨어 테스팅을 위한 테스트 자동화 도구 구현

An Implementation of a Test Automation Tool for an Embedded Software Testing

  • 발행기관 亞洲大學校 情報通信專門大學院
  • 지도교수 朴升圭
  • 발행년도 2005
  • 학위수여년월 2005. 2
  • 학위명 석사
  • 학과 및 전공 정보통신전문대학원 정보통신공학과
  • 본문언어 한국어

초록/요약

최근 정보통신 선진국 중심으로 급격히 확산되고 있는 유비쿼터스 컴퓨팅(Ubiquitous Computing) 서비스 환경으로 인한 스마트폰, PDA, 정보가전 등 제한적 컴퓨터 자원을 이용한 고품질의 서비스를 요구하는 임베디드 시스템의 요구가 급증하고 있으며, 이는 국내 전 산업분야로의 파급효과가 큰 부가가치 사업이다. 그러나 시스템의 개발과 생산에만 급급한 나머지 임베디드 소프트웨어나 임베디드 시스템의 품질에 대한 관심은 미비한 상태이다. 소프트웨어 품질 보증(Software Quality Assurance) 활동은 소프트웨어 개발 단계에서 소프트웨어가 내재하고 있는 오류를 찾아내, 이를 제거하는 활동이다. 이 과정에서 주로 이용하는 방법은 소프트웨어 테스트이다. 그러나 기존의 데스크탑 컴퓨터에서 작동하는 소프트웨어와는 달리 임베디드 소프트웨어는 다양한 하드웨어 구성과의 의존성이 매우 크다. 이런 이유로 임베디드 소프트웨어를 테스트 하는 테스트 자동화 도구의 경우 임베디드 시스템이 가진 특수성이 반드시 반영되어 있어야 한다. 본 논문에서는 블랙박스 테스팅 방식으로 임베디드 소프트웨어를 효과적으로 테스트 할 수 있는 테스트 자동화 도구의 구조를 제안하고자 한다. 본 논문에서 제안하는 테스트 소프트웨어인 TEST(Testing-stand for Embedded Software Test)는 FSM 기반의 스펙 정의와 블랙박스 테스트 방법을 수행하며, 자동 테스트 케이스 생성, 가상 환경 제어, 오류 추적을 위한 자동 레포팅 기능을 포함하고 있다. 또한 이기종의 임베디드 시스템에 쉽게 적용할 수 있도록 시스템 의존성을 가진 모듈의 경우 클래스를 추상화하여 정의하였다.

more

초록/요약

An embedded system needs software that is specific to a given application of that system. Generally embedded software controls several sensors or actuators. This means that it has many constraints in comparison with conventional software, which works on the desktop PC. We should consider what the embedded software is and what kinds of bugs it has when we test the embedded software. In spite of these differentiations, most of existing testing tools were designed and implemented to test specific embedded software. They can not provide portability to different sorts of embedded software because they can not provide general approach to test embedded software and require the expert of the target system to test it. Portability means designing the test software so that you can easily move it to another environment. We design and implement the test automation tool(TEST:Test-stand for Embedded Software Testing) for complex embedded software based on test software requirements. Data Converter converts the SML into internal data structures to be used in the test software. Test Engine manages lower modules and Test Executor performs the scheduling of the test. Checker generates the test oracle and Reporter creates the report in the format of HTML automatically. In the proposed architecture, each module communicates with other module through the queue to save the test time. We have developed TEST using VB .Net and C and tested four REAL embedded systems, Air Conditioning System for automobile. Each system has sensors, actuators, indicators, and displays from 12 to 32. It takes one month to modeling the system A, most simple system, into SML. On the other hand it just takes 3 day for modeling the system D, most complex system, into SML. This means that general purpose test software could save the time cost and TEST is suitable to test embedded software.

more

목차

본문차례
제 1 장 서론 = 1
제 2 장 관련 연구 = 3
2.1 임베디드 소프트웨어 = 3
2.2 임베디드 소프트웨어 테스팅 방법론 = 5
2.3 테스트 자동화 도구 = 6
제 3 장 테스트 소프트웨어 요구사항 = 8
3.1 임베디드 시스템의 가변성 반영 = 8
3.2 자동화된 테스트 수행 = 9
3.2 정확한 테스트 오라클 생성 = 10
3.3 오류 복구를 위한 TRACING 기능 제공 = 10
3.4 다양한 I/O 인터페이스 제공 = 11
3.5 효율적인 테스트 케이스의 생성 = 11
제 4 장 TEST 구조 = 12
4.1 TEST 프레임워크 = 12
4.2 테스트 프로세스 = 14
4.2.1 임베디드 시스템 모델링 = 14
4.2.2 모델 입력 검증 = 17
4.2.3 Test Script 생성 = 18
4.2.4 테스트 수행 = 20
4.2.5 결과 보고서 및 오류 보고 = 21
4.3 TEST 세부 모듈 구조 = 23
4.3.1 Test Engine = 23
4.3.2 Test Executor = 23
4.3.3 IO Adapter = 25
4.3.4 Checker = 26
4.3.5 Queue Operator = 26
4.3.6 Virtual Environment Operator = 27
4.3.7 TEST DB = 29
제 5 장 TEST 성능 평가 = 30
5.1 테스트 환경 = 30
5.2 테스트 결과 = 31
제 6 장 결론 및 향후 과제 = 33

more