首页 / 专利库 / 电脑零配件 / 嵌入式系统 / 내장 시스템 소프트웨어를 테스트하기 위한 시스템 및 방법

내장 시스템 소프트웨어를 테스트하기 위한 시스템 및 방법

阅读:959发布:2023-03-28

专利汇可以提供내장 시스템 소프트웨어를 테스트하기 위한 시스템 및 방법专利检索,专利查询,专利分析的服务。并且PURPOSE: A software test system and a method of an embedded system are provided to automatically generate a test script and test driver necessary for testing an embedded system software. CONSTITUTION: A software test method of an embedded system comprises generating a high level message sequence chart, a decision table and interface specifications and storing them in a database(S400), a message sequence chart editor generating a basic message sequence chart from the high level message sequence chart(S420), a message sequence chart parser generating a message sequence chart from the basic message sequence chart in response to a control of the message sequence chart editor(S430), a test sequence generator generating a test sequence from the message sequence chart in response to a control of the table parser(S440), and a test case selector generating a test script from the table and the test sequence in response to a control of the test sequence generator(S450). The test script generation step(450) specifies individual module by using the decision table, and specifies a module call pattern by using the message sequence chart.,下面是내장 시스템 소프트웨어를 테스트하기 위한 시스템 및 방법专利的具体信息内容。

  • 제1 메시지 시퀀스 챠트, 결정 테이블 그리고 인터페이스 명세를 저장하고 출력하기 위한 데이터베이스; 및
    상기 제1 메시지 시퀀스 챠트, 결정 테이블 그리고 인터페이스 명세에 의거하여 테스트 스크립트 및 테스트 드라이버를 생성하기 위한 테스트 케이스 생성기를 포함하고,
    상기 데이터베이스 및 테스트 케이스 생성기는 컴퓨터 시스템에 의해서 제어되는 것을 특징으로 하는 내장 시스템 소프트웨어를 테스트하기 위한 시스템.
  • 제1항에 있어서, 상기 테스트 케이스 생성기는,
    상기 제1 메시지 시퀀스 챠트를 이용하여 제2 메시지 시퀀스 챠트를 생성하기 위한 메시지 시퀀스 챠트 에디터;
    상기 메시지 시퀀스 챠트 에디터의 제어에 응답하여 상기 제2 메시지 시퀀스 챠트를 분석하여서 제3 메시지 시퀀스 챠트를 생성하기 위한 메시지 시퀀스 챠트 파서;
    상기 메시지 시퀀스 챠트 파서의 제어에 응답하여 상기 결정 테이블을 분석하여서 테이블을 생성하기 위한 테이블 파서;
    상기 테이블 파서의 제어에 응답하여 상기 제3 메시지 시퀀스 챠트를 이용하여서 테스트 시퀀스를 생성하기 위한 테스트 시퀀스 생성기;
    상기 테스트 시퀀스 생성기의 제어에 응답하여 상기 테이블 및 테스트 시퀀스를 이용하여서 테스트 스크립트를 생성하기 위한 테스트 케이스 선택기; 및
    상기 인터페이스 명세를 이용하여서 상기 테스트 스크립트를 특정 오퍼레이팅 시스템에서 테스트하기 위한 테스트 드라이버를 생성하기 위한 테스트 드라이버 생성기를 포함하는 것을 특징으로 하는 내장 시스템 소프트웨어를 테스트하기 위한 시스템.
  • 제2항에 있어서, 상기 컴퓨터 시스템은 상기 테스트 드라이버 생성기에 의해 생성된 상기 테스트 드라이버를 함수 호출에 따라 체크하고, 그 결과를 화면으로 출력하는 것을 특징으로 하는 내장 시스템 소프트웨어를 테스트하기 위한 시스템.
  • 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 테스트 드라이버 생성기는 상기 인터페이스 명세를 통해 함수들의 프로토 타입 정보를 읽어들이고, 이 함수들의 프로토 타입 정보에 의거하여 초기화 코드, 각 함수에 대한 파라미터 입력 루틴 그리고 함수 호출 부분을 삽입하는 것을 특징으로 하는 내장 시스템 소프트웨어를 테스트하기 위한 시스템.
  • 제2항에 있어서, 상기 제3 메시지 시퀀스 챠트, 테이블 그리고 테스트 시퀀스는 상기 데이터베이스에 저장되는 것을 특징으로 하는 내장 시스템 소프트웨어를 테스트하기 위한 시스템.
  • 제2항에 있어서, 상기 특정 오퍼레이팅 시스템은 내장 시스템 소프트웨어인 것을 특징으로 하는 내장 시스템 소프트웨어를 테스트하기 위한 시스템.
  • (i) 제1 메시지 시퀀스 챠트, 결정 테이블 그리고 인터페이스 명세를 갖는 정형 명세를 생성하는 단계;
    (ii) 상기 제1 메시지 시퀀스 챠트로부터 제2 메시지 시퀀스 챠트를 생성하는 단계;
    (iii) 상기 제2 메시지 시퀀스 챠트로부터 제3 메시지 시퀀스 챠트를 생성하는 단계;
    (iv) 상기 결정 테이블로부터 테이블을 생성하는 단계;
    (v) 상기 제3 메시지 시퀀스 챠트로부터 테스트 시퀀스를 생성하는 단계;
    (vi) 상기 테이블 및 테스트 시퀀스로부터 테스트 스크립트를 생성하는 단계; 및
    (vii) 상기 인터페이스 명세로부터 상기 테스트 스크립트를 특정 오퍼레이팅 시스템에서 테스트하기 위한 테스트 드라이버를 생성하는 단계를 포함하는 것을 특징으로 하는 내장 시스템 소프트웨어를 테스트하기 위한 방법.
  • 제7항에 있어서, 단계 (vii)는,
    (vii-1) 상기 인터페이스 명세에 의해 제공되는 함수들에 대한 프로토 타입 정보를 독출하는 단계;
    (vii-2) 필요한 초기화 코드를 삽입하는 단계;
    (vii-3) 상기 함수들의 각 함수에 대한 파라미터 입력 루틴을 삽입하는 단계;
    (vii-4) 상기 각 함수의 함수 호출 부분을 삽입하는 단계; 및
    (vii-5) 호출된 결과를 상기 결정 테이블을 기준으로 체크하고, 그 결과를 출력하는 단계를 포함하는 것을 특징으로 하는 내장 시스템 소프트웨어를 테스트하기 위한 방법.
  • 제7항에 있어서, 상기 특정 오퍼레이팅 시스템은 내장 시스템 소프트웨어인 것을 특징으로 하는 내장 시스템 소프트웨어를 테스트하기 위한 방법.
  • 说明书全文

    내장 시스템 소프트웨어를 테스트하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR TESTING AN EMBEDDED SYSTEM SOFTWARE}

    본 발명은 내장 시스템 소프트웨어용 테스트 시스템 및 방법에 관한 것으로, 좀 더 구체적으로는, 내장 시스템 소프트웨어를 테스트하는 데 필요한 테스트 스크립트 및 테스트 드라이버를 자동으로 생성할 수 있는 내장 시스템 소프트웨어를 테스트하기 위한 시스템 및 방법에 관한 것이다.

    일반적으로, 내장 시스템 소프트웨어(Embedded System Software)는 공장 제어, 엘리베이터 제어와 같은 제어 시스템이나 휴대폰, 웹 비디오폰과 같은 통신 시스템 등에 널리 사용된다.

    이와 같은 내장 시스템 소프트웨어에서 하나의 모듈을 테스팅하기 위해서는 해당 모듈에 대한 단위 테스팅 기법 이외에 추가적으로 그 모듈에 도달하기 위한 다양한 시퀀스를 생성하는 방법이 필요하다.

    그러나, 도 1에 도시된 바와 같이, 종래에는 내장 시스템 소프트웨어를 테스트하는 데 필요한 테스트 스크립트(18) 및 테스트 드라이버(22)가 작업자의 수작업에 의해 생성된다.

    따라서, 작업자의 수작업에 의해 생성된 테스트 스크립트(18) 및 테스트 드라이버(22)에 종종 오류가 발생될뿐만 아니라 작업자의 직관에 의해 테스트 데이터를 선정하기 때문에 테스트할 데이터를 포함하지 못하는 경우가 발생되며, 그리고 수작업에 의해 진행되기 때문에 오래 작업 시간이 소요된다.

    또한, 종래에는 내장 시스템 소프트웨어의 각 모듈의 테스트시, 해당 모듈에 도달하기 위한 다양한 경로를 생성하는 방법을 제공하지 못하고 있다.

    상술한 문제점을 해결하기 위해 제안된 본 발명은, 내장 시스템 소프트웨어를 테스트하는 데 필요한 테스트 스크립트 및 테스트 드라이버를 자동으로 생성할 수 있는 내장 시스템 소프트웨어를 테스트하기 위한 시스템을 제공하는 데 그 목적이 있다.

    본 발명의 다른 목적은, 내장 시스템 소프트웨어를 테스트하는 데 필요한 테스트 스크립트 및 테스트 드라이버를 자동으로 생성할 수 있는 내장 시스템 소프트웨어를 테스트하기 위한 방법을 제공하는 데 있다.

    도 1은 종래 내장 시스템 소프트웨어를 테스트하기 위한 시스템을 설명하기 위한 블록도;

    도 2는 본 발명의 일 실시예에 따른 테스트 케이스 생성기의 모듈을 보이는 도면;

    도 3은 본 발명의 일 실시예에 따른 내장 시스템 소프트웨어를 테스트하기 위한 방법을 설명하기 위한 순서도;

    도 4는 도 3에 도시된 테스트 드라이버를 생성하는 단계를 설명하기 위한 순서도,

    도 5는 본 발명에 적용된 메시지 시퀀스 챠트의 에디터를 도시한 도면,

    도 6은 본 발명에 적용된 테스트케이스 생성기의 실행 화면을 도시한 도면,

    도 7은 본 발명에 의해 생성된 테스트 스크립트의 일예를 도시한 도면이다.

    〈도면의 주요 부분에 대한 부호의 설명〉

    110 : 하이레벨 MSC 120 : 결정 테이블

    130 : 인터페이스 명세 214 : MSC 파서

    218 : 테이블 파서 222 : 테스트 시퀀스 생성기

    224 : 테스트 시퀀스 226 : 테스트 케이스 선택기

    228 : 테스트 드라이버 생성기 310 : 테스트 스크립트

    320 : 테스트 드라이버

    상술한 목적을 달성하기 위한 본 발명에 따른 내장 시스템 소프트웨어를 테스트하기 위한 시스템은, 제1 메시지 시퀀스 챠트, 결정 테이블 그리고 인터페이스 명세를 저장하고 출력하기 위한 데이터베이스와, 그리고 상기 제1 메시지 시퀀스 챠트, 결정 테이블 그리고 인터페이스 명세에 의거하여 테스트 스크립트 및 테스트 드라이버를 생성하기 위한 테스트 케이스 생성기를 포함하고, 상기 데이터베이스 및 테스트 케이스 생성기는 컴퓨터 시스템에 의해서 제어된다.

    상술한 목적을 달성하기 위한 본 발명에 따른 내장 시스템 소프트웨어를 테스트하기 위한 방법은, (i) 제1 메시지 시퀀스 챠트, 결정 테이블 그리고 인터페이스 명세를 갖는 정형 명세를 생성하는 단계와, (ii) 상기 제1 메시지 시퀀스 챠트로부터 제2 메시지 시퀀스 챠트를 생성하는 단계와, (iii) 상기 제2 메시지 시퀀스 챠트로부터 제3 메시지 시퀀스 챠트를 생성하는 단계와, (iv) 상기 결정 테이블로부터 테이블을 생성하는 단계와, (v) 상기 제3 메시지 시퀀스 챠트로부터 테스트 시퀀스를 생성하는 단계와, (vi) 상기 테이블 및 테스트 시퀀스로부터 테스트 스크립트를 생성하는 단계와, 그리고 (vii) 상기 인터페이스 명세로부터 상기 테스트 스크립트를 특정 오퍼레이팅 시스템에서 테스트하기 위한 테스트 드라이버를 생성하는 단계를 포함한다.

    이와 같은 본 발명에 따르면, 내장 시스템 소프트웨어를 테스트하는 데 필요한 테스트 스크립트 및 테스트 드라이버는 작업자의 손을 거치지 않고 컴퓨터 시스템에 탑재된 프로그램에 의해 자동으로 생성된다. 또한, 내장 시스템 소프트웨어의 각 모듈의 테스트에서 해당 모듈에 도달하기 위한 다양한 경로를 생성하는 방법을 제공한다.

    따라서, 테스트 스크립트 및 테스트 드라이버의 오류를 방지할 수 있을뿐만 아니라 내장 시스템 소프트웨어를 테스트하는 데 소요되는 시간을 최소화할 수 있다.

    이하, 본 발명의 바람직한 일 실시예를 첨부 도면 도 2 내지 도 5에 의거해서 상세하게 설명한다.

    도 2는 본 발명의 일 실시예에 따른 테스트 케이스 생성기의 모듈을 보이는 도면이다.

    도 2를 참조하면, 본 발명에 따른 내장 시스템 소프트웨어를 테스트하기 위한 시스템은, 하이레벨 메시지 시퀀스 챠트(110), 결정 테이블(120) 그리고 인터페이스 명세(130)를 저장하고 출력하기 위한 데이터베이스(100), 그리고 하이레벨 메시지 시퀀스 챠트(110), 결정 테이블(120) 그리고 인터페이스 명세(130)에 의거하여 테스트 스크립트(310) 및 테스트 드라이버(320)를 생성하기 위한 테스트 케이스 생성기(200)를 포함한다.

    여기에서, 상기 테스트 케이스 생성기(200)는 하이레벨 메시지 시퀀스 챠트(110)를 이용하여 기본 메시지 시퀀스 챠트(212)를 생성하기 위한 메시지 시퀀스 챠트 에디터(210), 메시지 시퀀스 챠트 에디터(210)의 제어에 응답하여 기본 메시지 시퀀스 챠트(212)를 분석하여서 메시지 시퀀스 챠트(216)를 생성하기 위한 메시지 시퀀스 챠트 파서(214), 메시지 시퀀스 챠트 파서(214)의 제어에 응답하여 결정 테이블(120)을 분석하여서 테이블(220)을 생성하기 위한 테이블 파서(218), 테이블 파서(218)의 제어에 응답하여 메시지 시퀀스 챠트(216)를 이용하여서 테스트 시퀀스(224)를 생성하기 위한 테스트 시퀀스 생성기(222), 테스트 시퀀스 생성기(222)의 제어에 응답하여 테이블(220) 및 테스트 시퀀스(224)를 이용하여서 테스트 스크립트(310)를 생성하기 위한 테스트 케이스 선택기 (226) 그리고 인터페이스 명세(130)를 이용하여서 테스트 스크립트(310)를 내장 시스템 소프트웨어(embedded system software)에서 테스트하기 위한 테스트 드라이버(320)를 생성하기 위한 테스트 드라이버 생성기(228)를 갖는다.

    이때, 상기 데이터베이스(100) 및 테스트 케이스 생성기(200)는 컴퓨터 시스템에 의해서 제어되고, 상기 컴퓨터 시스템은 테스트 드라이버 생성기(228)에 의해 생성된 상기 테스트 드라이버를 함수 호출에 따라 체크하고, 그 결과를 화면으로 출력한다.

    또한, 테스트 드라이버 생성기(228)는 인터페이스 명세(130)를 통해 함수들의 프로토 타입 정보를 읽어들이고, 이 함수들의 프로토 타입 정보에 의거하여 초기화 코드, 각 함수에 대한 파라미터 입력 루틴 그리고 함수 호출 부분을 삽입한다.

    또한, 메시지 시퀀스 챠트(216), 테이블(220) 그리고 테스트 시퀀스(224)는 상기 컴퓨터 시스템의 데이터베이스(100)에 저장된다.

    이하, 도 3 및 도 4을 참조하여 본 발명에 따른 내장 시스템 소프트웨어를 테스트하기 위한 방법을 설명한다.

    도 3은 본 발명의 일 실시예에 따른 내장 시스템 소프트웨어를 테스트하기 위한 방법을 설명하기 위한 순서도이다.

    도 3을 참조하면, 먼저, 메시지 시퀀스 챠트 에디터는 하이레벨 메시지 시퀀스 챠트(110)를 생성하고, 테이블 에디터는 결정 테이블(120)을 생성하고 그리고 인터페이스 명세(130)는 별도로 생성된다. 하이레벨 메시지 시퀀스 챠트(110), 결정 테이블(120) 그리고 인터페이스 명세(130)는 정형 명세(formal specification)로서 상기 컴퓨터 시스템의 데이터베이스(100)에 저장된다(단계 S400).

    다음, 메시지 시퀀스 챠트 에디터(210)는 하이레벨 메시지 시퀀스 챠트(110)로부터 기본 메시지 시퀀스 챠트(212)를 생성한다(단계 S410).

    메시지 시퀀스 챠트 파서(214)는 메시지 시퀀스 챠트 에디터(210)의 제어에 응답하여 기본 메시지 시퀀스 챠트(212)로부터 메시지 시퀀스 챠트(216)를 생성한다(단계 S420).

    이어서, 테이블 파서(218)는 메시지 시퀀스 챠트 파서(214)의 제어에 응답하여 결정 테이블(120)로부터 테이블(220)을 생성한다(단계 S430).

    테스트 시퀀스 생성기(222)는 테이블 파서(218)의 제어에 응답하여 상기 메시지 시퀀스 챠트(216)로부터 테스트 시퀀스를 생성한다(단계 S440).

    다음, 테스트 케이스 선택기(226)는 테스트 시퀀스 생성기(222)의 제어에 응답하여 테이블(220) 및 테스트 시퀀스(224)로부터 테스트 스크립트(310)를 생성한다(단계 S450).

    상술한 테스트 스크립트(310) 단계(S450)은 각 단위 모듈에 관한 명세는 결정 테이블(120)를 사용하고, 모듈의 호출 패턴은 메시지 시퀀스 챠트(218)를 이용하여 명세한다. 한 모듈의 출력 값은 그 모듈에 영향을 미치는 입력 변수들의 가능한 범위들의 조합에 의해 결정되므로, 결정 테이블(120)을 이용하여 쉽게 기술할 수 있다.

    그리고, 시스템의 발생 가능한 시나리오를 메시지 시퀀스 챠트(218)를 이용하여 명세하고, 기술된 메시지 시퀀스 챠트(218)로부터 테스트 시퀀스(224)를 생성한다.

    상술한 메시지 시퀀스 챠트(218)는 수직선과 화살표와 같은 간단한 기호들을 이용하여 시스템을 구성하는 콤퍼넌트들 사이의 상호 작용을 표현하고 있기 때문에 직관적으로 이해하기 쉽고 작성하는 것이 간단하다.

    상술한 각각의 컴포넌트를 인스턴스(또는 프로세스)로 나타내고, 그들 간의 상호 작용을 메시지로 표현하고 있는 베이직 메시지 시퀀스 챠트와 베이직 메시지 시퀀스 챠트간의 관계를 계층적으로 표현하고 있는 하이 레벨 메시지 시퀀스 챠트(218)로 구성된다. 상술한 하이레벨 메시지 시퀀스 챠트를 정의 함으로써 부분적인 행위만을 기술하는 기존의 메시지 시퀀스 챠트의 단점을 보완할 수 있다.

    한편, 상술한 결정 테이블(120)은 상업 데이터 처리 분야에서 널리 사용되고 있는 명세 방법으로, 의미를 이해하기 쉽고, 일치성과 완전성 판별이 쉽다.

    상술한 결정 테이블(120)을 후술하는 표1에 의해 설명하면 다음과 같다.

    규칙 1 규칙 2 규칙 3 규칙 4
    조건 1 YES YES NO NO
    조건 2 YES I NO I
    조건 3 NO YES NO I
    조건 4 NO YES NO YES
    행위 1 YES YES NO NO
    행위 2 NO NO YES NO
    행위 3 NO NO NO YES

    상술한 표1에 나타낸 바와 같이 결정 테이블(120)은 상업 데이터 처리 분야에서 널리 사용되고 있는 명세 방법으로 의미를 이해하기 쉽고, 일치성과 완전성 판별이 쉽다.

    표1에서 보는 바와 같이, 결정 테이블의 행은 조건과 행위를 나타내는 두 부분으로 구성되고, 열은 각 조건의 조합으로 가능한 규칙으로 구성된다. 일예를 들어 상기 결정 테이블(120)의 명세를 만족하는 임의의 모듈이 있을 때, 그 모듈의 입력들이 만족하는 규칙이 존재하는 경우 그 모듈의 행위는 결정표에 정의 된 것과 같은 행위를 수행할 수 있다.

    예를 들어 표1에서 열1의 경우, 조건 1과 조건 2가 만족하고, 조건 3과 조건 4가 만족하지 않은 경우 그 모듈은 행위 1을 수행하게 된다.

    즉, 상술한 표1에 나타낸 결정 테이블(120)을 이용하여 명세하고, 이로부터 테스트 데이터를 생성하는 과정은 다음과 같다.

    첫째, 전체 입력 변수와 전체 출력 변수를 찾는다. 즉 함수의 수행에 영향을 미치는 입력 변수로는 함수의 입력 파라미터와 전역 변수가 있고, 함수에 의해 영향을 받는 출력변수로는 출력 파라미터와 전역변수 그리고 리턴값이 있다.

    둘째, 전체 입력 변수를 이용하여 조건을 찾아낸다. 함수의 수행에 영향을 미치는 전체 입력 변수들이 결정되면, 각 변수 별로 가능한 값의 범위를 나눈다. 각각의 범위는 하나의 조건이 된다. 각 조건들은 다른 변수의 조건과 함께 출력 값에 영향을 미친다. 따라서, 가능한 출력의 종류는 전체 입력변수로부터 가능한 조건들의 조합으로 나타날 수 있으나, 실제로 영향을 미치는 조건의 조합은 그보다 적다.

    셋째, 전체 입력 변수들의 조건에 따라 함수의 명세의 맞게 YES, NO 값을 적용하여 결정표의 규칙을 완성한다.

    넷째, 각 규칙별로 출력 변수들의 가능한 값을 결정해 준다. 결정 테이블(120)을 만드는 마지막 단계는 각 단계를 통해 생성된 조건 테이블의 각 규칙에 대해서 전체 출력 변수 값을 정해주는 과정이다. 즉 주어진 전체 입력 변수값과 함수에 의해 수행이 마쳐진 출력 결과에 대한 올바른 범위를 여기서 표시하게 된다.

    다섯째, 작성된 결정 테이블(120)에서 테스트 데이터를 생성한다. 결정 테이블(120)의 하나의 규칙을 만족하느 각 입력 변수들의 값이 하나의 테스트 데이터를 구성한다. 이때, 범위의 형식을 가지는 변수의 경우에는 기존의 영역 테스팅 방법을 이용하여 테스트 데이터를 구한다.

    메시지 시퀀스 챠트(218)와 결정 테이블(120)을 이용한 테스트 데이터 생성의 마지막 과정은 이미 생성된 테스트 시퀀스(224)와 결정 테이블(120)의 정보를 합치는 것이다.

    임의의 모듈을 테스팅하기 위해 TM(Test Manager)에서 IUT(Implementation Under Test)로의 메시지 전송을 테스팅하고자 하는 함수의 호출로 표현하였고, 이를 받은 IUT에서는 해당하는 함수의 명세를 행위 문에 결정 테이블(120) 형식으로 표현하여 테스팅하고자 하는 함수에 대한 데이터를 생성한다.

    그리고, IUT에서는 TM으로의 메시지 전송은 함수의 결과가 변환되는 것을 나타낸다. 실제로 테스트 케이스는 테스트 시퀀스에 따라 함수가 나타나고, 함수를 호출하는 부분에서 결정 테이블(120)을 참조하여 필요한 값을 넘기게 된다.

    이때, 여러개의 함수가 연속해서 호출될 때 각 함수에 대한 테스트 데이터들이 조합되어 스크립트 형식으로 출력된다.

    상술한 테스트 케이스 생성기(200)는 메시지 시퀀스 챠트 에디터(210)를 이용하여 작성된 메시지 시퀀스 명세와 수작업으로 기술한 결정 테이블(120)을 입력으로 받아 테스트 스크립트(310)를 자동으로 생성하게 된다. 이때 생성된 테스트 스크립트(310)를 수행하여 그 결과를 비교하고 저장할 수 있는 언어 형식의 테스트 드라이버 코드도 생성한다.

    첨부 도면 도 5의 메시지 시퀀스 챠트(216)는 하나의 위도우 생성에 대한 간단한 시나리오를 작성한 일예로서, CreateMainWindow() 함수를 이용하여 메인 윈도우 하나를 생성하고, ShowWindow()와 HideWindow() 함수를 이용해서 화면에 보이는 상태를 조정한 후, DestroyWindow() 함수를 이용하여 소멸하는 과정을 기술한다.

    메인 윈도우를 만들기 위해서는 타이틀이나 크기, 색깔과 같은 윈도우에 대한 기본적인 정보가 필요한데, 이에 대한 명세는 결정 테이블(120)을 이용하여 작성하는데, 상세한 설명은 생략하기로 한다.

    테스트 케이스 생성기(200)는 첨부 도면 도 2에 도시된 바와 같이, 작성된 메시지 시퀀스 챠트(216)와 결정 테이블(120)이 테스트 생성기(200)의 입력으로 사용되는데, 각각의 명세를 읽어들이기 위해서 파서(214)(218)를 이용한다.

    메시지 시퀀스 챠트(216) 명세로부터 테스트 시퀀스를 생성하고, 생성된 시퀀스 상에 행위가 나타나면 해당하는 결정 테이블(120)을 읽어들인다. 읽어들인 결정 테이블(120)로부터 테스트 데이터를 생성하는데, 만약 테스트 시퀀스 상에 여려개의 결정표가 연결된다면 각각의 테스트 데이터를 조합하여 테스트 스크립트(310)를 생성한다.

    테스트케이스 생성기(200)에는 생성된 테스트 스크립트(310)를 수행하고, 그 결과를 비교하고 저장하는 테스트 드라이버 생성기(228)도 포함하고 있다. 이 과정은 테스트 케이스 생성과 독립적으로 진행되며, 각 함수의 시그너쳐를 입력으로 받는다.

    도 6은 테스트케이스 생성기(200)의 실행화면으로 앞에서 작성한 메시지 시퀀스 챠트(218) 명세를 읽어들여 테스트케이스를 생성하는 것으로 'open' 메뉴를 사용하여 작성된 메시지 시퀀스 챠트(218)를 열고, 'run' 메뉴를 선택하여 메시지 시퀀스 챠트(218) 명세와 결정 테이블(120) 명세를 파싱하여 내부적으로 필요한 자료 구조를 만든다.

    이때, 각 명세가 문법에 맞게 작성되어 있는지 검사한다. 그리고 나서, 'gernerate' 메뉴의 'testcase'를 선택하면 자동으로 테스트 스크립트(310)를 생성할 수 있다.

    첨부 도면 도 7은 생성된 테스트 스크립트(310)의 일부분을 나타내는 것으로서 메시지 시퀀스 챠트(218)에 기술된 각 함수를 생성된 테스트 시퀀스(224)에 따라 호출하여 하나의 테스팅 과정을 완성한다.

    이때, CreateMainWindow() 함수는 결정 테이블(120)로 그 기능이 기술되어 있으며, 그에 해당하는 테스트 데이터를 생성하여 파라미터의 이름과 함께 저장하고, 그 결과 값이 유효하게 되는 범위를 결정 테이블(120)로부터 구하여, 이함수의 결과가 올바른지를 자동으로 검사할 수 있도록 한다.

    이렇게 테스트 케이스 생성기(200)에 의해 생성된 테스트 스크립트(310)는 시뮬레이터를 이용하여 실제로 수행해 볼 수 있는데, 이때, 테스트케이스 생성기(228)로부터 생성된 테스트 드라이버 코드도 함께 컴파일해 주어야 한다.

    상술한 메시지 시퀀스 챠트 에디터(212)는 테스터가 메시지 시퀀스 챠트(216)를 보다 편리하게 작성할 수 있도록 도와준다. 이렇게 작성된 메시지 시퀀스 챠트(216)는 표준 텍스트 형식으로 저장된다.

    테스트 드라이버 생성기(228)는 인터페이스 명세(130)로부터 테스트 스크립트(310)를 상기 내장 시스템 소프트웨어상에서 테스트하기 위한 테스트 드라이버(320)를 생성한다(단계 S460).

    도 4는 도 3에 도시된 테스트 드라이버(320)를 생성하는 단계를 설명하기 위한 순서도이다.

    도 4를 참조하면, 먼저, 테스트 드라이버 생성기(228)는 인터페이스 명세(130)에 의해 제공되는 함수들에 대한 프로토 타입 정보를 독출한다(단계 S500).

    다음, 테스트 드라이버(320)를 생성하는 데 필요한 초기화 코드를 삽입하고(단계 S510), 상기 함수들의 각 함수에 대한 파라미터 입력 루틴을 삽입한다(단계 S520).

    그리고, 테스트 드라이버 생성기(228)는 상기 각 함수의 함수 호출 부분을 삽입하고(단계 S530), 상기 호출된 결과를 결정 테이블(120)을 기준으로 체크하여서 그 결과를 출력한다(단계 S540).

    상술한 바와 같은 내장 시스템 소프트웨어 테스트 시스템 및 방법에 따르면, 내장 시스템 소프트웨어를 테스트하는 데 필요한 테스트 스크립트 및 테스트 드라이버는 작업자의 손을 거치지 않고 컴퓨터 시스템에 탑재된 프로그램에 의해 자동으로 생성된다. 또한, 내장 시스템 소프트웨어의 각 모듈의 테스트에서 해당 모듈에 도달하기 위한 다양한 경로를 생성하는 방법을 제공한다.

    따라서, 테스트 스크립트 및 테스트 드라이버의 오류를 방지할 수 있을뿐만 아니라 내장 시스템 소프트웨어를 테스트하는 데 소요되는 시간을 최소화할 수 있다.

    상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈