KR20080052341A - 내장형 시스템 소프트웨어 자동 테스트 시스템 및 방법과테스트 시나리오 작성 방법 - Google Patents

내장형 시스템 소프트웨어 자동 테스트 시스템 및 방법과테스트 시나리오 작성 방법 Download PDF

Info

Publication number
KR20080052341A
KR20080052341A KR1020070100067A KR20070100067A KR20080052341A KR 20080052341 A KR20080052341 A KR 20080052341A KR 1020070100067 A KR1020070100067 A KR 1020070100067A KR 20070100067 A KR20070100067 A KR 20070100067A KR 20080052341 A KR20080052341 A KR 20080052341A
Authority
KR
South Korea
Prior art keywords
event
test
embedded system
message
target
Prior art date
Application number
KR1020070100067A
Other languages
English (en)
Other versions
KR100985749B1 (ko
Inventor
김우식
이재호
김영호
박상준
김강희
김선자
Original Assignee
한국전자통신연구원
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원, 삼성전자주식회사 filed Critical 한국전자통신연구원
Publication of KR20080052341A publication Critical patent/KR20080052341A/ko
Application granted granted Critical
Publication of KR100985749B1 publication Critical patent/KR100985749B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 내장형 시스템 소프트웨어를 테스트하기 위한 방법 및 장치에 관한 것으로, 특히 내장형 시스템 소프트웨어의 동작 테스트를 호스트 환경과 타겟 환경에서 자동화하기 위한 장치 및 방법에 관한 것이다.
본 발명에 따라 내장형 시스템 소프트웨어를 실행시키는 호스트의 에뮬레이터에서 발생하는 이벤트를 기록하고 재현하며, 이러한 이벤트에 따라 테스트되는 내장형 소프트웨어의 각종 출력 메시지를 기록함으로써 테스터의 수동 개입이 없이도 내장형 시스템 소프트웨어를 차별 없이 다양한 시나리오에 대해 자동 테스트할 수 있는 방법 및 시스템이 제공된다.
따라서, 이와 같은 본 발명에 의해 각종 사용자 테스트 시나리오의 작성을 자동화할 수 있고 각 타겟 시스템에서의 내장형 시스템 소프트웨어 테스트를 자동화할 수 있어 테스트 소요 시간을 감소시키고 정확성을 높일 수 있다.
내장형 시스템 소프트웨어, 테스트, 에뮬레이터, 단말기 응용 프로그램

Description

내장형 시스템 소프트웨어 자동 테스트 시스템 및 방법과 테스트 시나리오 작성 방법{AUTOMATIC-TESTING SYSTEM AND METHOD FOR EMBEDDED SYSTEM SOFTWARE AND TEST SCENARIO COMPOSING METHOD}
본 발명은 내장형 시스템 소프트웨어(embedded system software)를 테스트하기 위한 방법 및 장치에 관한 것으로, 특히 내장형 시스템 소프트웨어의 동작 테스트를 호스트 환경과 타겟 환경에서 자동화하기 위한 장치 및 방법에 관한 것이다.
내장형 시스템 소프트웨어는 실제 환경인 타겟에서 테스트되기 전에 먼저 호스트 환경에서 각종 다양한 사용자 시나리오에 따라 테스트된다. 호스트 환경에서 테스트 결과 소정의 조건을 충족시키면 그 소프트웨어는 타겟 환경에 이식되고, 그 후 호스트 환경에서 행한 시나리오를 타겟 환경에서 재현하여 호스트 환경과 타겟 환경에서의 동작 결과를 비교하는 방식으로 테스트가 이루어진다.
내장형 시스템 소프트웨어는 다양한 하드웨어적 특성 및 소프트웨어 환경을 갖는 타겟 시스템에 이식되어 동작해야 하므로 새로운 환경에 대한 안정성을 확보하기 위하여 반복적인 테스트 과정을 필요로 하며, 특히, 이러한 내장형 시스템 소프트웨어 중 모바일 단말기에 이식되는 모바일 응용 프로그램은 그 특성상 쉽게 교 체가 어려우며 모바일 단말기가 상시 음성 통화나 SMS 메시지 등을 대기하고 있어야 하므로 매우 높은 수준의 안전성을 요구한다. 따라서, 내장형 시스템 소프트웨어는 개발이 완료되기 전에 다양한 사용자 시나리오 대하여 면밀하고 심도 있는 테스트가 수행되어야 한다.
종래에 상기의 테스트는 크게 테스터의 수동 입력을 필요로 하는 테스트와 테스터의 수동 입력을 필요로 하지 않는 테스트로 나뉠 수 있는데, 테스터의 수동 입력을 필요로 하지 않는 테스트에서는, 테스터가 소정의 테스트 케이스 프로그램을 작성해서 타겟에 이식하고 이 프로그램에 따라 정해진 입력에 의해서 의도된 결과 값이 출력되는 지를 확인함으로써 개발된 소프트웨어가 간단히 테스트된다. 한편, 보다 면밀한 테스트로서 테스터의 수동 입력을 필요로 하는 테스트에서는, 테스터가 소프트웨어가 설치된 타겟을 소정의 사용자 시나리오에 따라 직접 수동 조작하고 그 결과를 분석함으로써 내장형 시스템 소프트웨어가 테스트된다.
상기 테스트 중 후자는 실제로 사용자에 의해 소프트웨어가 사용될 방식인 “사용자 시나리오”를 테스트하는 것이므로 일반적으로 테스트 케이스 프로그램에 의한 테스트에 비해 세부 단계까지 테스트되는 매우 중요한 과정인데 반해, 테스터가 직접 개입하여 테스트를 행하여야 하고 또한 일 시나리오에 대하여 동일한 테스트 과정을 호스트와 타겟에서 반복해야 하므로 테스트 시간 및 비용의 측면에서 손실이 크다.
게다가 이러한 테스트는 테스터의 실수로 인한 테스트 오류 발생 빈도가 높다는 문제도 있으며, 더욱이 대상 타겟이 바뀔 때마다 테스터가 동일한 시나리오를 반복적으로 테스트해야 하므로 시간 및 비용 측면에서 손실이 크므로 자동화가 특히 요구된다.
따라서 본 발명은 상기의 문제점을 해결하기 위한 것으로, 본 발명은 타겟 장치 상에서의 이벤트와 네트워크 사용의 이벤트를 포함하는 각종 사용자 시나리오를 호스트 환경에서 테스터의 개입이 없이 기록하고 이를 타겟 환경에서 동기적으로 또는 비동기적으로 동일하게 재현시킴으로써, 호스트 시스템에서 각종 사용자 시나리오 작성의 자동화와 타겟 시스템에서 내장형 시스템 소프트웨어의 테스트의 자동화를 달성하고, 이로써 테스트의 효율성 및 정확성을 높이는 데 그 목적이 있다.
상술한 문제점을 해결하기 위해 제안된 본 발명은, 내장형 시스템 소프트웨어를 실행시키는 타겟 장치 에뮬레이터를 모니터하고 상기 에뮬레이터에서 발생하는 이벤트와 이벤트 발생 결과를 기록하는 제1 이벤트 에이전트; 상기 제1 이벤트 에이전트에 의해서 기록된 이벤트를 수신하여 상기 내장형 시스템 소프트웨어를 실행시키는 타겟 장치에서 재현하고 이벤트 재현 결과를 기록하는 제2 이벤트 에이전트; 및 상기 제1 이벤트 에이전트 및 상기 제2 이벤트 에이전트를 제어하여 이벤트를 발생 및 재현시키고, 상기 이벤트 발생 결과 및 재현 결과를 비교하는 이벤트 관리 엔진을 포함하는 내장형 시스템 소프트웨어 자동 테스트 시스템을 제공한다.
또한 본 발명에 따라, 내장형 시스템 테스트 시나리오를 작성하는 방법으로서, (a) 사용자의 명령에 따라 이벤트 기록을 시작하는 단계; (b) 타겟 장치를 에 뮤레이팅하는 에뮬레이터에서 내장형 시스템 소프트웨어를 실행하는 단계; (c) 상기 에뮬레이터의 가상 장치부에 내장형 시스템 소프트웨어의 실행에 따른 이벤트 및 사용자 명령에 따른 이벤트를 발생시키는 단계; 및 (d) 상기 내장형 시스템 소프트웨어의 실행에 따른 이벤트 및 상기 사용자 명령에 따른 이벤트를 저장하는 단계를 포함하는 내장형 시스템 테스트 시나리오 작성 방법을 제공한다.
또한 본 발명에 따라, 호스트 및 타겟 시스템으로 이루어지는 원격 테스트 환경에서 내장형 시스템을 자동 테스트하는 방법으로서, (a) 호스트 시스템에서, 상기 에뮬레이터의 가상 장치부에 내장형 시스템 소프트웨어의 실행에 따른 이벤트 및 사용자 명령에 따른 이벤트를 발생시키는 단계; (b) 호스트 시스템에서 상기 내장형 시스템 소프트웨어의 실행에 따른 이벤트 및 상기 사용자 명령에 따른 이벤트와, 상기 발생 이벤트들에 따른 상기 소프트웨어의 결과 메시지를 저장하는 단계; (c) 호스트 시스템에서 타겟 시스템을 선택하여 접속하는 단계; (d) 상기 접속된 타겟 시스템에서 상기 호스트 시스템에 저장된 이벤트의 리스트를 판독하는 단계; (e) 상기 타겟 시스템에서 내장형 시스템 소프트웨어를 실행하는 타겟 장치에 상기 판독된 이벤트의 리스트를 재현하고 상기 재현 이벤트에 따른 상기 소프트웨어의 결과 메시지를 상기 호스트 시스템에 전달하는 단계; 및 (f) 상기 호스트 시스템에서 상기 발생 이벤트들에 따른 상기 소프트웨어의 결과 메시지와 상기 타겟 시스템에서의 재현 이벤트에 따른 상기 소프트웨어의 결과 메시지를 상기 호스트 시스템에서 비교하는 단계를 포함하는 내장형 시스템 소프트웨어 자동 테스트 방법을 제공한다.
따라서, 이와 같은 본 발명에 의해 각종 사용자 테스트 시나리오의 작성을 자동화할 수 있고 각 타겟 시스템에서의 내장형 시스템 소프트웨어 테스트를 자동화할 수 있어 테스트 소요 시간을 감소시키고 정확성을 높일 수 있다.
상술한 바와 같이 본 발명에 따르면, 내장형 시스템 소프트웨어 테스트 과정에서 기존에 테스터의 내장형 시스템 조작이 필요한 테스트 과정을 이벤트 단위로 기록, 재현, 테스트함으로써 테스터의 빈번한 수동 조작에 따른 오류를 방지할 수 있을 뿐만 아니라 내장형 시스템 소프트웨어를 테스트하는데 소요되는 시간을 최소화할 수 있다.
상술한 목적, 특징 및 이점은 첨부된 도면과 관련하여 다음의 상세한 설명에 의해 보다 명확해질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명에 따른 내장형 시스템 소프트웨어 자동 테스트 시스템을 개 략적으로 도시하고 있다.
도 1에 도시하는 바와 같이, 본 발명에 따른 내장형 시스템 소프트웨어 자동 테스트 시스템은, 내장형 시스템 소프트웨어가 실제로 타겟에 이식되어 사용되기 전에 개발 및 테스트될 수 있는 호스트 시스템(host system : 10)과 소프트웨어가 최종적으로 설치되어 동작할 타겟 시스템(target system : 20)에서 하부 구성 요소들을 각각 포함하고 있다.
호스트 시스템(10)은 실제 장치 형상의 GUI를 구비하며 내장형 시스템 소프트웨어를 구동시킬 수 있는 프로그램인 장치 에뮬레이터(11)와, 타겟 시스템의 다양한 장치를 호스트 환경에서 시뮬레이션하며 복수 개의 가상 장치를 포함하는 가상 장치부(12), GUI(Graphic User Interface)를 갖는 이벤트 관리 엔진(13), 이벤트 에이전트(14), 그리고 이벤트 및 메시지 저장소(15)를 포함한다.
여기서, 이벤트 관리 엔진(13)은 사용자로부터 테스트 관련 명령을 수신하고 호스트의 이벤트 에이전트(14) 또는 타겟의 이벤트 에이전트(21)를 제어하여 각각 가상 장치부(12) 또는 장치 드라이버부(22)에서 발생하는 이벤트와 상기 이벤트에 따른 소프트웨어의 메세지를 이벤트 및 메시지 저장소(15)에 기록하게 하는 기능을 하며 GUI를 통해서 사용자에게 나타내는 기능을 한다. 또한, 저장소(15)에 기록된 이벤트를 바탕으로 테스트 시나리오를 파일로서 구성하며 이벤트 에이전트(14, 21)로 하여금 자동 테스트를 수행하고 그 결과를 저장하게 하는 기능을 하는 전체적인 테스트 관리 기능을 한다.
한편, 타겟 시스템(20)은 이벤트 에이전트(21)와 장치 드라이버부(22)를 포 함한다. 이벤트 에이전트(21)는 호스트(10)의 이벤트 관리 엔진(13)에 의하여 제어되고, 이벤트 및 메시지 저장소(15)에 저장되어 있는 테스트 시나리오를 기초로 하여 장치 드라이버부(22)에 이벤트를 발생시키고 이에 따라 발생하는 응용 프로그램의 메시지를 호스트의 이벤트 관리 엔진(13)을 통해 이벤트 및 메시지 저장소(15)에 기록한다.
또한, 장치 드라이버부(22)에는 실제 장치를 컨트롤하는 커널 프로그램인 장치 드라이버가 복수 포함될 수 있는데, 이 장치 드라이버를 조종함으로써 발생하는 이벤트 정보를 획득하거나 또는 임의적으로 이벤트 발생이 가능하다.
이상, 본 발명에 따른 내장형 시스템 소프트웨어-자동 테스트 시스템의 개략적인 구성을 설명하였으며, 이하에서는 내장형 시스템이 모바일 단말기인 경우를 예로 들어 본 발명을 보다 상세히 설명한다.
도 2에는 본 발명에 따른 내장형 시스템 소프트웨어 자동 테스트 시스템의 일 실시예로서, 모바일 단말기에서의 모바일 응용 프로그램을 자동 테스트하는 장치의 블록도를 도시한다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 모바일 응용 프로그램 자동 테스트 시스템은, 도 1에서와 마찬가지로, 장치 에뮬레이터(110), 가상 장치부(120), 이벤트 관리 엔진(130), 이벤트 에이전트(140) 및 이벤트와 메시지 저장소(150)를 포함한다.
도 2에서 장치 에뮬레이터(110)는 모바일 폰 에뮬레이터이다. 일반적인 폰 에뮬레이터는 응용 프로그램이 단말기 환경에서 사용하는 API만을 처리하여 에뮬레 이션을 수행하지만, 본 발명에서는 폰 에뮬레이터에서 발생하는 각종 이벤트가 자동 테스트를 위한 가상 장치부와 연결된다. 따라서, 예를 들면 폰 에뮬레이터의 터치 스크린 GUI와 키패드 GUI는 가상 장치부의 가상 터치 스크린과 가상 키패드와 연결되고, 사용자가 폰 에뮬레이터에서 GUI를 통해서 발생시키는 각종 이벤트는 가상 장치부에 전달된다. 이와 같이, 폰 에뮬레이터에서 키 영역에 해당하는 부분을 누르면 이는 가상 키패드에서 키가 눌린 것으로 인식이 되고, 이 반대의 과정도 성립하여 가상 키패드에 특정 키가 눌렸다는 이벤트를 제공하면 이는 폰 에뮬레이터에도 특정 키가 눌렸다는 이벤트로 인정된다. 이러한 모바일 폰 환경에서 발생할 수 있는 이벤트에는 터치 스크린 이벤트, 키 패드 이벤트, 기기 이벤트, 모뎀 이벤트 등이 있으므로, 가상 장치부(120)는 가상 터치 스크린(121), 가상 키패드(122), 가상 모뎀(123) 및 가상 기기(124) 등을 가상 장치로서 포함한다.
또한, 이벤트 관리 엔진(130)은 보다 상세히 이벤트 관리 인터페이스(131) 및 이벤트 관리 제어부(132)를 포함하는데, 이벤트 관리 인터페이스(131)는 사용자로부터의 테스트 관련 명령, 즉, 이벤트 기록, 재현 명령 등을 수신하고, 발생 이벤트 및 상기 이벤트에 따른 응용 프로그램의 메시지를 사용자에게 표시하는 기능을 한다. 또, 이벤트 관리 제어부(132)는 이벤트 에이전트(140, 210)를 제어하여 가상 장치부(120) 또는 장치 드라이버부(220)에서 발생하는 이벤트와 상기 이벤트에 따른 응용 프로그램의 메세지를 이벤트 및 메시지 저장소(150)에 기록하는 기능을 하며, 또한 기록된 이벤트들을 모아서 시나리오로 구성하고 테스트를 행하는 기능을 한다.
이벤트 에이전트(140, 210)는 호스트와 타겟 환경에서 모두 동작을 하며 각각 이벤트 로깅 기능부(Event Logging Function : 141, 211) 및 이벤트 피딩 기능부(Event Feeding Function : 142, 212)를 구비한다. 특히, 호스트에서 이벤트 로깅 기능부(141)는 각 가상 장치(121, 122, 123, 124)를 모니터하고 여기서 발생하는 이벤트를 이벤트 및 메시지 저장소(150)에 저장하는 기능을 하며, 이벤트 피딩 기능부(142)는 이벤트 관리 엔진(130)의 제어 하에 가상 장치부(120)에 이벤트를 임의로 발생시키는 기능을 한다. 타겟에서 이벤트 로깅 기능부(211)는 실제 장치에서 발생하는 이벤트를 판독하여 이벤트 및 메시지 저장소(150)에 저장하는 기능을 하고 이벤트 피딩 기능부(212)는 특정 장치를 감시하고 있는 장치 드라이버부(220)에게 실제 장치에서 이벤트가 발생할 때 발생하는 신호를 발생시키는 기능을 수행한다. 이벤트 및 메시지 저장소(150)는 실행되는 이벤트와, 이에 따라 내장형 시스템 소프트웨어, 즉, 모바일 응용 프로그램에서 발생되는 메세지를 저장한다.
상기 구성을 갖는 장치를 이용하여 테스터가 수행하는 모든 이벤트가 기록되며 하나의 시나리오에 대해서 하나의 이벤트 리스트가 파일 형태로 기록이 된다. 따라서, 상기와 같은 구성에 의해 기록된 이벤트는 실제 테스터의 입력 없이도 기록된 시나리오 파일 정보를 통해서 그대로 재현되게 된다. 이러한 기록과 재현 과정을 통하여 내장형 시스템 응용 프로그램이 자동 테스트될 수 있다.
다음으로는, 본 발명에 따른 모바일 응용 프로그램 테스트 시스템에서 이벤트 기록 포맷, 응용 프로그램 메시지 기록, 이벤트 재현, 자동 테스트의 과정을 도 2 내지 도 6을 참조하여 상세히 설명한다.
이벤트 기록 포맷
본 발명에 따른 이벤트의 기록 포맷은 도 3과 같다. 이벤트는 이벤트 발생 시각, 이벤트 타입, 이벤트 카운트, 이벤트 페이로드(Payload) 크기로 이루어진다. 이벤트 발생 시각은 해당 이벤트가 발생한 시각이며, 이벤트 로깅 기능부(141, 211)가 가상 장치부(120) 또는 실제 장치의 장치 드라이버부(220)에서 발생 이벤트를 판독하는 시점에서 부여가 된다. 이벤트 타입은 터치스크린, 키패드, 모뎀, 기기 이벤트 4가지 종류를 구별하는 식별자가 된다. 이 식별자에 따라서 그 뒤의 페이로드의 내용물이 바뀌게 된다. 이벤트 카운트는 터치스크린 이벤트와 같이 여러 개의 이벤트 정보가 모여서 하나의 이벤트를 이루는 경우를 위한 것으로서, 페이로드 영역에 해당 이벤트 타입에 대해서 이벤트가 몇 개 존재하는 지를 나타낸다. 이벤트 페이로드 크기는 이벤트 타입에 따라서 변경된다. 또한, 이벤트 타입에 따른 페이로드에는, 예를 들어, 터치스크린의 경우, X축, Y축, 압력, 프레스(Press)또는 릴리즈(Release) 정보가 오게 되며 키패드인 경우에는 키값과 프레스 릴리즈 정보가 오게 된다.
응용 프로그램 메시지 기록
일반적인 응용 프로그램은 프로그램 동작 시에 여러 가지 메시지를 출력한다. 프로그램이 동작 시에 특정 지점을 지나가면 프로그래머가 프로그램 동작을 확인하기 위해서 표준 출력(Standard Output) 또는 표준 에러 출력(Standard Error) 형태로 다양한 메시지를 출력하는 방식을 취한다.
본 발명이 제안하는 장치는 표준 출력과 표준 에러 출력을 하는 시스템 함수를 수정하여 소정의 파일에 소정의 메시지를 동시에 기록하게 한다. 따라서, 본 발명에서는 시스템 라이브러리를 수정하므로 기존의 응용 프로그램이 변경될 필요가 없다.
이와 같이 사용되는 본 발명에 따른 메시지 기록 포맷은 도 4와 같다. 메시지 기록 포맷은 메시지 발생 시각, 메시지 중요도, 모듈 명, 메시지 내용의 4가지로 구성되며, 응용 프로그램이 표준 출력이나 표준 에러 출력으로 메시지를 프린트하면 수정된 라이브러리에서 메시지 발생 시각, 소정 정책에 따른 중요도, 및 해당 메시지를 출력하는 프로그램 이름을 모듈 명으로서 할당하여 상기 표준 출력이나 표준 에러 출력 메시지와 함께 파일로서 기록이 된다.
파일로 기록된 상기 메시지 정보는 이벤트 에이전트(140 또는 210)가 감시하며 이벤트 관리 엔진(130)을 통한 명령에 따라 이벤트 정보와 함께 이벤트 및 메시지 저장소(150)에 저장되고 추후 테스트 결과 비교에 사용된다.
테스트 시나리오 자동 작성
이제, 도 5를 참조하여, 본 발명의 일 실시예에 따라 호스트 시스템에서의 자동화된 테스트 시나리오 작성 과정을 설명한다.
먼저, 단계(S510)에서 이벤트 관리 인터페이스(131)를 통하여 이벤트 및 메 세지 기록 시작 명령을 수신하고, 그 후 폰 에뮬레이터(110)를 이용하여 테스트하고자하는 응용 프로그램을 실행시킨다(S520). 테스터는 응용 프로그램을 구동하는 과정에서 터치 스크린 또는 키패드 이벤트를 발생시킬 것이며 테스트 프로그램이 망과 관련된 응용 프로그램이면 이벤트 발생기를 통해서 음성 전화 수신, SMS 수신 등의 이벤트를 발생시킬 것이다(S530). 또한, 응용 프로그램이 단말기의 특수 장치 이벤트에 어떻게 반응하는지 테스트하기 위해서 이벤트 관리 엔진(130)을 통해 이벤트 피딩 기능부(142)를 제어하여 배터리 낮음, 플립 열림 등의 이벤트를 발생시킬 수 있다(S530). 이벤트 로깅 기능부(141)는 이와 같이 가상 장치부(120)에서 발생하는 이벤트와, 이에 따라 응용 프로그램에서 발생되는 이벤트 발생 결과 메시지를 저장소(150)에 파일로서 각각 기록하는데, 가상 장치에서 발생되는 이벤트의 리스트는 타겟에서 자동으로 수행시킬 시나리오로서 저장된다. 그 다음, 이벤트 관리 엔진(130)으로부터 테스트 완료 명령을 수신할 때까지 단계(S530) 및 단계(S540)를 반복한 후, 단계(S550)에서 테스트가 완료되었음을 확인하면 종료하여 테스트 시나리오 작성을 마친다.
호스트 및 타깃 환경에서 이벤트 재현
이벤트 재현은 호스트나 타겟을 통해서 기록된 이벤트를 다시 입력하여 재현하는 것이다. 호스트 환경에서는 폰 에뮬레이터(110)가 가상 장치부(120)와 연결이 되어 있기 때문에 가상 장치(121, 122, 123, 124)에 이벤트 피딩 기능부(142)를 통해서 정해진 포맷으로 작성된 이벤트의 리스트를 이벤트 에이전트(140)가 입력하 면 폰 에뮬레이터(110)에서 해당 이벤트가 그대로 발생하게 된다.
시나리오를 이루는 이벤트 정보는 파일 형태로 저장되며 이는 이벤트 관리 엔진(130)의 이벤트 관리 제어부(132)에 의하여 판독되고 이벤트 관리 인터페이스(131)에 표시된다. 저장된 이벤트를 재현하기 위해서 이벤트 관리 엔진(130)은 이벤트 에이전트(140 또는 210)에 접속한다. 이벤트 에이전트(140 또는 210)는 호스트와 타겟에서 서버 형태로 구동되고 동작 환경과 관계없이 이벤트 정보를 주고받는 프로토콜이 동일하다. 따라서 이벤트 관리 엔진(130)이 호스트(100)에 있는 이벤트 에이전트(140)에 접속하여 이벤트 정보를 전달하면 호스트 이벤트 재현이 되고 타겟(200)에서 동작하는 이벤트 에이전트(210)에 접속을 하면 타겟 이벤트 재현이 된다. 경우에 따라서 다수의 "이벤트 에이전트"에 접속을 하게 되면 동시에 복수의 타겟 또는 복수의 폰 에뮬레이터에서 동시에 이벤트 재현이 가능하게 된다.
이벤트 관리 엔진(130)은 이벤트 및 메시지 저장소(150)에 저장되어 있는 이벤트 정보 파일(즉, 시나리오 파일)의 이벤트를 하나씩 판독하고 이벤트 에이전트(140 또는 210)를 제어하고 이벤트 피딩 기능부(142 또는 212)가 판독된 이벤트를 기초로 하여 호스트 또는 타겟 환경에 따라서 가상 장치 또는 실제 장치 수준에서 이벤트 재현 시 필요한 작업을 수행한다.
자동 테스트 방법
자동 테스트는 상술한 이벤트 기록, 이벤트 재현, 이벤트 및 메시지 기록 정 보를 모두 활용하여 수행된다.
이하 특히 도 6을 참조하여 본 발명에 따른 자동 테스트 방법을 설명한다.
이벤트 관리 엔진(130)은 도 5와 관련하여 설명한 바와 같이 기록된 이벤트와 메시지를 이용하여 자동 테스트를 수행하는데, 이에 앞서 먼저, 타겟 시스템에 테스트 환경을 설정한다(S610). 즉, 타겟 시스템에 테스트 프로그램을 설치하고 상술한 이벤트 에이전트를 설치한다. 이 때 테스트 프로그램은 도 5의 시나리오 작성 시 사용된 것과 동일한 프로그램이나 동작 단말기 환경 또는 구동 프로그램 환경이 변경될 수도 있다.
다음, 단계(S620)에서, 이벤트 관리 엔진(130)이 타겟 환경의 이벤트 에이전트(210)에 접속한다. 그 후, 단계(S630)에서 이벤트 에이전트(210)는 호스트 시스템(100)의 이벤트 및 메시지 저장소(150)에 저장된 테스트 이벤트(테스트 시나리오)를 판독하여 실제 장치에서 이벤트 발생시 발생하는 신호를 장치 드라이버부(220)에 입력하는 방식으로 이벤트를 실행시킨다. 그 후, 상기 이벤트에 의해 타겟 시스템에 설치된 테스트 프로그램에서 발생되는 메시지를 호스트 시스템(100)의 이벤트 및 메시지 저장소(150)에 저장하며, 시나리오에 기록된 모든 이벤트를 실행할 때까지 단계(S630) 및 단계(S640)를 반복한다. 그 후 단계(S650)에서 모든 이벤트가 실행되었다고 판정이 되면, 호스트 시스템에서 시나리오 작성 시 함께 저장된 결과 메시지와, 타겟 시스템에서 시나리오 실행 후 테스트 프로그램에 의해 발생되는 메시지를 비교한다(S660).
메시지의 비교 판정은 두 가지 방식으로 이루어진다. 기본적으로 메시지 전 체 순서가 맞는지 확인한다. 즉, 같은 메시지가 동일한 순서로 출력되었는지 확인한다. 또, 테스트 프로그램이 여러 개의 프로세스나 모듈로 동작하는 경우에 개별 모듈로 출력되는 메시지의 순서를 국지적으로 순서를 비교한다. 예를 들어, 4개의 응용 프로그램을 실행시키면서 테스트를 수행한 경우에 전체 메시지 순서는 맞지 않더라도 응용 프로그램별 메시지 출력의 순서는 비교하여 맞는 지를 확인한다.
이와 같이 이벤트 실행부터의 모든 과정은 이벤트 관리 엔진(130)을 통해 자동화되어 이루어지며 결과의 판정 또한 자동으로 이루어져 테스터에게 보고된다.
이상 몇 가지 실시예를 들어 본 발명을 상세히 설명하였다. 그러나, 해당 기술 분야의 숙련된 당업자라면 하기의 특허 청구의 범위에 기재된 본 발명이 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 본 발명에 따른 내장형 시스템 소프트웨어-자동 테스트 시스템의 개략적인 구성도.
도 2는 본 발명의 일 실시예에 따른 모바일 응용 프로그램의 자동 테스트 시스템의 블록도.
도 3은 본 발명의 일 실시예에 따른 이벤트 기록 포맷.
도 4는 본 발명의 일 실시예에 따른 메시지 기록 포맷.
도 5는 본 발명의 일 실시예에 따라 호스트 시스템에서의 자동화된 테스트 시나리오 작성 동작의 순서도.
도 6은 본 발명의 일 실시예에 따라 타겟 시스템에서의 자동 테스트 동작의 순서도.
* 도면 주요 부분에 대한 부호의 설명 *
10 : 호스트 11 : 장치 에뮬레이터
12 : 가상 장치부 13 : 이벤트 관리 엔진
14 : 이벤트 에이전트 15 : 이벤트 및 메시지 저장소
20 : 타겟 21 : 이벤트 에이전트
22 : 장치 드라이버부

Claims (11)

  1. 내장형 시스템 소프트웨어를 실행시키는 타겟 장치 에뮬레이터를 모니터하고 상기 에뮬레이터에서 발생하는 이벤트와 이벤트 발생 결과를 기록하는 제1 이벤트 에이전트;
    상기 제1 이벤트 에이전트에 의해서 기록된 이벤트를 수신하여 상기 내장형 시스템 소프트웨어를 실행시키는 타겟 장치에서 재현하고 이벤트 재현 결과를 기록하는 제2 이벤트 에이전트; 및
    상기 제1 이벤트 에이전트 및 상기 제2 이벤트 에이전트를 제어하여 이벤트를 발생 및 재현시키고, 상기 이벤트 발생 결과 및 재현 결과를 비교하는 이벤트 관리 엔진
    을 포함하는 내장형 시스템 소프트웨어 자동 테스트 시스템.
  2. 제 1 항에 있어서,
    상기 이벤트 관리 엔진 및 상기 제1 이벤트 에이전트는 하나의 호스트 시스템에 상주하고, 상기 제2 이벤트 에이전트는 하나 이상의 타겟 시스템에 상주하는 내장형 시스템 소프트웨어 자동 테스트 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 이벤트 관리 엔진은,
    사용자와의 인터페이스를 담당하는 이벤트 관리 인터페이스; 및
    상기 인터페이스를 통한 사용자로부터의 명령에 따라 상기 제1 이벤트 에이전트에 이벤트 발생 명령을 하고 상기 제2 이벤트 에이전트에 접속하여 상기 제2 이벤트 에이전트가 이벤트 재현을 할 수 있게 하는 이벤트 관리 제어부를 더 포함하는
    내장형 시스템 소프트웨어 자동 테스트 시스템.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 이벤트는 이벤트 시각 정보, 이벤트 타입 정보, 이벤트 카운트 정보, 이벤트 페이로드 크기 정보, 이벤트 페이로드 정보 및 이벤트 반복 회수 중 적어도 하나를 포함하며, 상기 이벤트 페이로드 정보는 이벤트 타입에 따라 달라지는 내장형 시스템 소프트웨어 자동 테스트 시스템.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 이벤트 발생 결과는 상기 타겟 장치 에뮬레이터에서 상기 이벤트 발생시 상기 타겟 장치 에뮬레이터가 실행하는 내장형 시스템 소프트웨어에서 출력되는 메시지이고,
    상기 이벤트 재현 결과는 상기 타겟 장치에서 상기 이벤트 재현시 상기 타겟 장치가 실행하는 내장형 시스템 소프트웨어에서 출력되는 메시지인 것을 특징으로 하는
    내장형 시스템 소프트웨어 자동 테스트 시스템.
  6. 제 5 항에 있어서,
    상기 출력 메시지들은 메시지 시각, 메시지 중요도, 모듈 명, 메시지 내용을 포함하는 내장형 시스템 소프트웨어 자동 테스트 시스템.
  7. 제 2 항에 있어서,
    상기 타겟 시스템은 모바일 단말기이고, 상기 타겟 장치 에뮬레이터는 폰 에뮬레이터인 것을 특징으로 하는 내장형 시스템 자동 테스트 시스템.
  8. 내장형 시스템 소프트웨어의 테스트 시나리오를 작성하는 방법에 있어서, 상기 방법은,
    (a) 사용자의 명령에 따라 이벤트 기록을 시작하는 단계;
    (b) 타겟 장치를 에뮤레이팅하는 에뮬레이터에서 내장형 시스템 소프트웨어를 실행하는 단계;
    (c) 상기 에뮬레이터의 가상 장치부에 내장형 시스템 소프트웨어의 실행에 따른 이벤트 및 사용자 명령에 따른 이벤트를 발생시키는 단계; 및
    (d) 상기 내장형 시스템 소프트웨어의 실행에 따른 이벤트 및 상기 사용자 명령에 따른 이벤트를 저장하는 단계
    를 포함하는 내장형 시스템 소프트웨어 테스트 시나리오 작성 방법.
  9. 제 8 항에 있어서,
    상기 이벤트는 이벤트 시각 정보, 이벤트 타입 정보, 이벤트 카운트 정보, 이벤트 페이로드 크기 정보, 이벤트 페이로드 정보 및 이벤트 반복 회수 중 적어도 하나를 포함하며, 상기 이벤트 페이로드 정보는 이벤트 타입에 따라 달라지는 내장형 시스템 소프트웨어 테스트 시나리오 작성 방법.
  10. 호스트 및 타겟 시스템으로 이루어지는 원격 테스트 환경에서 내장형 시스템을 자동 테스트하는 방법에 있어서, 상기 방법은,
    (a) 호스트 시스템에서, 상기 에뮬레이터의 가상 장치부에 내장형 시스템 소프트웨어의 실행에 따른 이벤트 및 사용자 명령에 따른 이벤트를 발생시키는 단계;
    (b) 호스트 시스템에서 상기 내장형 시스템 소프트웨어의 실행에 따른 이벤트 및 상기 사용자 명령에 따른 이벤트와, 상기 발생 이벤트들에 따른 상기 소프트웨어의 결과 메시지를 저장하는 단계;
    (c) 호스트 시스템에서 타겟 시스템을 선택하여 접속하는 단계;
    (d) 상기 접속된 타겟 시스템에서 상기 호스트 시스템에 저장된 이벤트의 리스트를 판독하는 단계;
    (e) 상기 타겟 시스템에서 내장형 시스템 소프트웨어를 실행하는 타겟 장치에 상기 판독된 이벤트의 리스트를 재현하고 상기 재현 이벤트에 따른 상기 소프트웨어의 결과 메시지를 상기 호스트 시스템에 전달하는 단계; 및
    (f) 상기 호스트 시스템에서 상기 발생 이벤트들에 따른 상기 소프트웨어의 결과 메시지와 상기 타겟 시스템에서의 재현 이벤트에 따른 상기 소프트웨어의 결과 메시지를 상기 호스트 시스템에서 비교하는 단계
    를 포함하는 내장형 시스템 소프트웨어 자동 테스트 방법.
  11. 제 10 항에 있어서,
    상기 단계 (f)의 결과 메시지들은 메시지 시각, 메시지 중요도, 모듈 명, 메시지 내용을 포함하는 내장형 시스템 소프트웨어 자동 테스트 방법.
KR1020070100067A 2006-12-05 2007-10-04 내장형 시스템 소프트웨어 자동 테스트 시스템 및 방법과테스트 시나리오 작성 방법 KR100985749B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060122299 2006-12-05
KR20060122299 2006-12-05

Publications (2)

Publication Number Publication Date
KR20080052341A true KR20080052341A (ko) 2008-06-11
KR100985749B1 KR100985749B1 (ko) 2010-10-06

Family

ID=39807172

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070100067A KR100985749B1 (ko) 2006-12-05 2007-10-04 내장형 시스템 소프트웨어 자동 테스트 시스템 및 방법과테스트 시나리오 작성 방법

Country Status (1)

Country Link
KR (1) KR100985749B1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101276573B1 (ko) * 2011-04-15 2013-06-18 주식회사 캠프넷 디지털 신호처리 장치의 알고리즘을 검증하기 위한 테스트 장치
US8549491B2 (en) 2008-12-05 2013-10-01 Electronics And Telecommunications Research Institute Apparatus and method for application testing of embedded system
CN103678100A (zh) * 2012-09-10 2014-03-26 联芯科技有限公司 终端的应用自动化测试方法及其系统
US9195571B2 (en) 2012-10-26 2015-11-24 Samsung Electronics Co., Ltd. Automatic testing apparatus for embedded software, automatic testing method thereof and test scenario composing method
US9323648B2 (en) 2012-10-26 2016-04-26 Samsung Electronics Co., Ltd. Automatic testing apparatus for embedded software and automatic testing method thereof
US9870235B2 (en) 2011-08-10 2018-01-16 Kt Corporation Recording events generated for performing a task through user equipment
CN110502437A (zh) * 2019-07-31 2019-11-26 惠州市德赛西威汽车电子股份有限公司 一种车载蓝牙应用程序的测试系统及其方法
CN110874318A (zh) * 2018-08-31 2020-03-10 浙江宇视科技有限公司 软件测试方法、装置及计算机可读存储介质
CN112035346A (zh) * 2020-08-25 2020-12-04 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于嵌入式dsp操作系统的自动化测试方法、系统及介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101391786B1 (ko) * 2012-06-22 2014-05-09 인텔렉추얼디스커버리 주식회사 스마트 기기 사용 패턴을 통해 벤치마킹을 수행하는 서버 및 그 수행방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060111673A (ko) * 2004-01-08 2006-10-27 보이스 시그널 테크놀로지스, 인코포레이티드. 음성 인식 소프트웨어의 자동화된 테스트

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8549491B2 (en) 2008-12-05 2013-10-01 Electronics And Telecommunications Research Institute Apparatus and method for application testing of embedded system
KR101276573B1 (ko) * 2011-04-15 2013-06-18 주식회사 캠프넷 디지털 신호처리 장치의 알고리즘을 검증하기 위한 테스트 장치
US9870235B2 (en) 2011-08-10 2018-01-16 Kt Corporation Recording events generated for performing a task through user equipment
CN103678100B (zh) * 2012-09-10 2016-09-14 联芯科技有限公司 终端的应用自动化测试方法及其系统
CN103678100A (zh) * 2012-09-10 2014-03-26 联芯科技有限公司 终端的应用自动化测试方法及其系统
US9195571B2 (en) 2012-10-26 2015-11-24 Samsung Electronics Co., Ltd. Automatic testing apparatus for embedded software, automatic testing method thereof and test scenario composing method
US9323648B2 (en) 2012-10-26 2016-04-26 Samsung Electronics Co., Ltd. Automatic testing apparatus for embedded software and automatic testing method thereof
CN110874318A (zh) * 2018-08-31 2020-03-10 浙江宇视科技有限公司 软件测试方法、装置及计算机可读存储介质
CN110874318B (zh) * 2018-08-31 2023-10-24 浙江宇视科技有限公司 软件测试方法、装置及计算机可读存储介质
CN110502437A (zh) * 2019-07-31 2019-11-26 惠州市德赛西威汽车电子股份有限公司 一种车载蓝牙应用程序的测试系统及其方法
CN110502437B (zh) * 2019-07-31 2023-07-28 惠州市德赛西威汽车电子股份有限公司 一种车载蓝牙应用程序的测试系统及其方法
CN112035346A (zh) * 2020-08-25 2020-12-04 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于嵌入式dsp操作系统的自动化测试方法、系统及介质
CN112035346B (zh) * 2020-08-25 2023-09-12 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于嵌入式dsp操作系统的自动化测试方法、系统及介质

Also Published As

Publication number Publication date
KR100985749B1 (ko) 2010-10-06

Similar Documents

Publication Publication Date Title
KR100985749B1 (ko) 내장형 시스템 소프트웨어 자동 테스트 시스템 및 방법과테스트 시나리오 작성 방법
CN109302522B (zh) 测试方法、装置以及计算机系统和介质
CN109039824B (zh) 一种车载终端无线远程通信协议自动化测试系统及方法
CN111651366B (zh) Sdk测试方法、装置、设备及存储介质
US20190227917A1 (en) Adaptive system for mobile device testing
CN110888414B (zh) 一种车辆控制器升级的测试方法
CN107463500B (zh) 测试脚本的调试方法、介质、系统和计算设备
CN104063305A (zh) 智能终端软件的压力测试方法、装置和系统
CN104407980A (zh) 移动应用自动化测试装置和方法
KR20140053542A (ko) 내장형 소프트웨어의 자동 테스트 장치, 자동 테스트 방법 및 테스트 시나리오 작성방법
IE60444B1 (en) A software verification apparatus
CN101751329B (zh) 一种实现自动测试的方法和系统
CN107562637B (zh) 一种用于软件测试的方法、设备、系统及存储介质
US20060036907A1 (en) Area-and product-independent test automation system and method for automatically synchronizing tests of multiple devices
US20200167270A1 (en) Systems and Methods for Mobile Automation Testing by Emulating Human Behaviors
CN109597653A (zh) Bios与bmc命令交互的方法、bios及bmc
TW201616356A (zh) 偵錯韌體/軟體以產生追蹤資料之系統與方法、記錄媒體及電腦程式產品
CN111814354B (zh) 仪器性能的模拟测试方法、系统、介质及电子设备
US20100312541A1 (en) Program test device and program
CN115658529A (zh) 用户页面的自动化测试方法以及相关设备
RU2678717C1 (ru) Способ построения программного комплекса автоматизации и визуализации тестирования встроенного программного обеспечения электронных устройств
CN112231206A (zh) 应用程序测试的脚本编辑方法、计算机可读存储介质及测试平台
CN111414309A (zh) 应用程序的自动化测试方法、计算机设备和存储介质
CN108984380A (zh) 一种基于Linux系统的服务器测试方法、装置及介质
CN110968517B (zh) 自动测试方法、装置、平台和计算机可读存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130829

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140828

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150828

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160830

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170830

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180830

Year of fee payment: 9