KR20070069614A - 소프트웨어 테스트 방법 및 소프트웨어 테스트 장치 - Google Patents

소프트웨어 테스트 방법 및 소프트웨어 테스트 장치 Download PDF

Info

Publication number
KR20070069614A
KR20070069614A KR1020050131936A KR20050131936A KR20070069614A KR 20070069614 A KR20070069614 A KR 20070069614A KR 1020050131936 A KR1020050131936 A KR 1020050131936A KR 20050131936 A KR20050131936 A KR 20050131936A KR 20070069614 A KR20070069614 A KR 20070069614A
Authority
KR
South Korea
Prior art keywords
test
information
type
software
case
Prior art date
Application number
KR1020050131936A
Other languages
English (en)
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 삼성전자주식회사
Priority to KR1020050131936A priority Critical patent/KR20070069614A/ko
Priority to EP06077087A priority patent/EP1870809A3/en
Priority to US11/637,101 priority patent/US20070180326A1/en
Priority to CNA2006101688264A priority patent/CN1991786A/zh
Publication of KR20070069614A publication Critical patent/KR20070069614A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

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

Abstract

본 발명은 소프트웨어 테스트 방법 및 소프트웨어 테스트 장치에 관한 것이다. 본 발명에 따른 소프트웨어 테스트 방법은, 소프트웨어 테스트를 시작하기 위한 테스트 모드가 실행되는 단계와; 테스트 대상 함수가 입력되는 단계와;
상기 테스트 대상 함수의 토큰정보를 읽는 단계와; 상기 토큰정보에 대한 정보를 요구하는 정보선택화면을 표시하는 단계와; 상기 정보선택화면을 통해 상기 토큰정보에 대한 정보가 입력되면, 상기 입력된 정보 및 상기 테스트 대상 함수에 기초하여 테스트 정보를 생성하는 단계와; 상기 테스트 대상 함수를 테스트하기 위하여 상기 테스트 정보를 출력하는 단계를 포함한다. 이에 의해, 테스트 대상 함수에 대해 사용자에게 정보를 요구하여, 사용자가 입력한 정보에 기초하여 테스트하는데 적합하도록 소프트웨어를 변경할 수 있다.

Description

소프트웨어 테스트 방법 및 소프트웨어 테스트 장치{SOFTWARE TEST METHOD AND SOFTWARE TEST APPARATUS}
도 1은 본 발명에 따른 소프트웨어 테스트 장치의 제어블럭도이고,
도 2는 본 발명에 따른 소프트웨어 테스트 방법의 순서를 도시한 제어흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
100 : 소프트웨어 테스트 장치 10 : 사용자 선택부
30 : 제어부 31 : 디스플레이 제어부
35 : 테스트 정보 생성부 40 : 저장부
50 : 인터페이스 화면 생성부 70 : 디스플레이부
본 발명은 소프트웨어 테스트 방법 및 소프트웨어 테스트 장치에 관한 것으로서, 보다 상세하게는, 테스트 대상 함수에 대해 사용자에게 정보를 요구하는 소프트웨어 테스트 방법 및 소프트웨어 테스트 장치에 관한 것이다.
소프트웨어는 점점 복잡해지고 끊임없이 변화하므로, 소프트웨어 검증에 대 한 요구 또한 갈수록 복잡해지고 어려워지고 있다.
일반적으로 소프트웨어의 검사(test) 타입은 소프트웨어의 유닛 단위로 검사하는 유닛 테스트(Unit Test), 복수의 유닛인 인터그레이션 단위로 검사하는 인테그레이션 테스트(Integration Test) 또는 시스템 단위로 검사하는 시스템 테스트(System Test)로 크게 구분된다. 소프트웨어의 검사는 소프트웨어의 기능을 테스트하기 위한 테스트 프로그램에 각종 변수를 대입하여 소프트웨어를 시뮬레이션 하는 형식으로 이루어진다.
여기서, 유닛 테스트란, 테스트 대상 소프트웨어의 최소 모듈을 결정한 후, 결정된 최소 모듈을 나머지 코드와 분리하고, 분리한 최소 모듈이 예상대로 정확하게 동작하는지 여부를 테스트하는 방법이다.
또한, 인터그레이션 테스트(통합 테스트)란, 유닛 테스트가 논리적으로 확장된 테스트 방법이다. 가장 단순한 형태의 인터그레이션 테스트는 이미 테스트를 마친 두 유닛을 하나의 구성 요소로 통합하고, 두 유닛 사이의 인터페이스를 테스트하는 것이다. 즉, 인터그레이션 테스트는 유닛이 결합될 때 발생하는 문제점을 식별하기 위한 테스트 방법이다.
한편, 시스템 테스트란, 하나의 시스템 단위로 테스트 하는 방법으로, 개별적인 소프트웨어 프로그램들의 테스트가 끝난 후 실행되는 전체적인 테스트 방법이다. 여기서, 시스템 테스트는 프로그램 테스트 뿐 아니라 사용자가 직접 시스템을 이용하는 부분까지도 테스트할 수 있다.
이러한 소프트웨어 검사는 사용자가 소프트웨어의 테스트 타입을 선택하고, 테스트하는데 사용되는 변수, 서브 함수 등을 모두 별도로 정의하고, 테스트 케이스를 만들어야 하는 완전수동 방식으로 수행될 수 있다.
그런데, 이러한 완전수동 방식의 경우, 사용자가 일일이 테스트 케이스(Test Case)를 만드는 등 시간과 노력이 많이 소모되는 불편함이 있다.
또한, 소프트웨어 검사는 테스트를 위한 변수 및 기타 필요한 값들을 검사 소프트웨어가 찾아서 자동으로 테스트 대상 함수에 대한 테스트를 진행하는 전자동 방식으로 수행될 수 있다.
그런데, 전자동 방식의 경우, 검사 소프트웨어의 구현이 어렵고, 검사 소프트웨어어 오류가 있는 경우, 테스트를 잘못 하거나 테스트를 하지 않는 경우가 발생할 우려가 있다. 또한, 전자동 방식의 경우, 유닛 테스트를 위한 검사 소프트웨어를 사용하는 경우, 인터그레이션 테스트를 하기 위하여는 인터그레이션 환경에 맞게 검사 소프트웨어를 재구성 해줘야 하는 불편함이 있다.
또한, 소프트웨어 검사는 사용자가 유닛 테스트를 위한 함수, 인터그레이션 테스트를 위한 함수 및 변수를 헤드 파일(Headfile)에 정의하면, 헤드파일에 기초하여 변수 및 함수를 자동으로 찾아 정의하고, 테스트 케이스를 자동으로 만들어서 실행시킬 수 있도록 하는 출력함수를 생성하고 테스트를 진행하는 반자동 방식으로 수행될 수 있다.
그런데, 이러한 반자동 방식의 경우, 사용자가 소프트웨어의 유닛에 있는 변수 및 함수를 찾아서 헤드 파일에 정의해줘야 하는 불편함이 있다.
따라서, 본 발명의 목적은 테스트 대상 함수에 대해 사용자에게 정보를 요구하여, 사용자가 입력한 정보에 기초하여 테스트하는데 적합하도록 소프트웨어를 변경할 수 있는 소프트웨어 테스트 방법 및 소프트웨어 테스트 장치를 제공하는 것이다.
상기 목적은, 본 발명에 따라, 소프트웨어 테스트 방법에 있어서, 소프트웨어 테스트를 시작하기 위한 테스트 모드가 실행되는 단계와; 테스트 대상 함수가 입력되는 단계와; 상기 테스트 대상 함수의 토큰정보를 읽는 단계와; 상기 토큰정보에 대한 정보를 요구하는 정보선택화면을 표시하는 단계와; 상기 정보선택화면을 통해 상기 토큰정보에 대한 정보가 입력되면, 상기 입력된 정보 및 상기 테스트 대상 함수에 기초하여 테스트 정보를 생성하는 단계와; 상기 테스트 대상 함수를 테스트하기 위하여 상기 테스트 정보를 출력하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 테스트 방법에 의해 달성된다.
여기서, 상기 테스트 대상 함수가 입력되면, 테스트 타입이 선택되기 위한 타입선택화면을 표시하는 단계를 더 포함하고, 상기 테스트 정보를 생성하는 단계는, 상기 테스트 타입에 기초하여 상기 테스트 정보를 생성하는 단계를 더 포함할 수 있다.
그리고, 상기 정보선택화면을 표시하는 단계에서, 상기 정보선택화면은 변수정보와, 디파인정보와, 서브함수와, 스탠다드함수 중 적어도 하나에 대한 정보를 요구하는 화면을 포함할 수 있다.
또한, 상기 변수정보는 변수 데이터 타입, 변수 포인터 설정여부, 테스트 케이스 정보 중 적어도 하나를 포함할 수 있다.
그리고, 상기 테스트 케이스 정보는 테스트 케이스 타입 및 데이터를 포함할 수 있다.
여기서, 상기 테스트 케이스 타입은 고정 케이스, 디폴트 케이스, 사용자 선택 케이스 중 적어도 하나를 포함할 수 있다.
그리고, 상기 테스트 정보는 테스트할 항목의 기준이 되는 테스트 케이스와 테스트 드라이버 중 적어도 하나를 포함할 수 있다.
또한, 상기 테스트 정보를 생성하는 단계는, 상기 정보선택화면 및 상기 타입선택화면 중 적어도 하나를 통해 선택된 정보에 기초하여 상기 테스트 대상 함수의 상기 변수정보와, 디파인정보와, 서브함수와, 스탠다드함수와, 상기 테스트 케이스의 타입 중 적어도 하나의 개수를 표시하는 단계를 포함할 수 있다.
그리고, 상기 테스트 타입은 유닛 테스트와 인터그레이션 테스트를 포함할 수 있다.
한편, 상기 목적은, 본 발명에 따라, 소프트웨어 테스트 장치에 있어서, 이미지를 표시하기 위한 디스플레이부와; 상기 디스플레이부에 표시될 화면을 생성하기 위한 인터페이스 화면 생성부와; 토큰정보를 갖는 테스트 대상 함수를 저장하는 저장부와; 소프트웨어 테스트를 시작하기 위한 테스트 모드를 선택하기 위한 사용자 선택부와; 상기 테스트 모드가 선택되면 상기 토큰정보에 대한 정보를 요구하는 정보선택화면을 생성하도록 상기 인터페이스 화면 생성부를 제어하고, 상기 정보선 택화면을 통해 입력된 정보에 기초하여 테스트 정보를 생성하는 것을 특징으로 하는 제어부를 포함하는 것을 특징으로 하는 소프트웨어 테스트 장치에 의해 달성된다.
여기서, 상기 제어부는 상기 테스트 대상 함수가 입력되면 테스트 타입이 선택되기 위한 타입선택화면을 생성하도록 상기 인터페이스 화면 생성부를 제어하고, 상기 타입선택화면을 통해 선택된 상기 테스트 타입에 기초하여 상기 테스트 정보를 생성할 수 있다.
그리고, 상기 정보선택화면은 변수정보와, 디파인정보와, 서브함수와, 스탠다드함수 중 적어도 하나에 대한 정보를 요구하는 화면을 포함할 수 있다.
또한, 상기 변수정보는 변수 데이터 타입, 변수 포인터 설정여부, 테스트 케이스 정보 중 적어도 하나를 포함할 수 있다.
그리고, 상기 테스트 케이스 정보는 고정 케이스, 디폴트 케이스, 사용자 선택 케이스 중 적어도 하나를 포함하는 테스트 타입을 포함할 수 있다.
여기서, 상기 제어부는 상기 테스트 대상 함수를 테스트할 항목의 기준이 되는 테스트 케이스와 테스트 드라이버 중 적어도 하나를 포함하는 상기 테스트 정보를 생성할 수 있다.
여기서, 상기 테스트 타입은 유닛 테스트와 인터그레이션 테스트를 포함할 수 있다.
그리고, 상기 제어부는 상기 인터페이스 화면 생성부를 제어하는 디스플레이제어부와, 상기 테스트 정보를 생성하는 테스트 정보 생성부를 포함할 수 있다.
이하에서는 첨부도면을 참조하여 본 발명의 실시예에 대하여 상세하게 설명한다.
도 1에 도시된 바와 같이, 본 발명에 따른 소프트웨어 테스트 장치(100)는 디스플레이부(70)와, 인터페이스 화면 생성부(50)와, 저장부(40)와, 사용자 선택부(10)와, 이들을 제어하는 제어부(30)를 포함한다.
본 발명에 따른 디스플레이부(70)는 후술 할 인터페이스 화면 생성부(50)로부터 출력되는 인터페이스 화면에 대한 신호를 입력받아 이미지를 표시한다. 디스플레이부(70)는 영상이 표시되는 디스플레이모듈(미도시)과, 입력되는 영상신호를 처리하여 디스플레이모듈에 영상이 표시되게 하는 모듈구동부(미도시)를 포함한다.
본 발명에 따른 디스플레이모듈은 CRT(Cathode Ray Tube), DLP(Digital Light Processing), LCD(Liquid Crystal Display), PDP(Plasma Display Panel) 등과 같이 다양한 유형의 디스플레이모듈이 적용 가능하다. 여기서, 디스플레이모듈이 DLP인 경우 모듈구동부는 광학엔진을 포함하게 되고, 디스플레이모듈이 LCD인 경우 모듈구동부는 입력되는 영상신호를 데이터신호 및 게이트신호로 변환하는 인쇄회로기판을 포함하게 된다. 마찬가지로, 각 디스플레이부(70)는 각 디스플레이모듈의 유형에 따라 대응하는 모듈구동부의 구성을 가질 수 있다.
인터페이스 화면 생성부(50)는 후술할 제어부(30)의 제어에 따라 인터페이스 화면을 생성하여 디스플레이부(70)에 출력한다. 그리고, 인터페이스 화면 생성부(50)는 도시되지 않은 신호처리부에 인터페이스 화면을 출력하고, 신호처리부에서 입력된 인터페이스 화면을 별도의 영상신호와 믹스한다. 그리고, 신호 처리부는 디 스플레이부(70)의 소정 위치에 인터페이스 화면에 표시되도록 처리하여 디스플레이부(70)에 출력할 수 있다.
사용자 선택부(10)는 사용자가 소정의 기능을 입력 또는 선택하기 위한 것으로 복수의 입력키, 버튼, 마우스, 키보드, 터치패드 등 다양하게 구현될 수 있다. 또한, 사용자는 디스플레이부(70)에 소정 메뉴를 갖는 인터페이스 화면이 생성되면, 사용자 선택부(10)를 사용하여 인터페이스 화면의 소정 메뉴를 선택, 조절 등을 할 수 있다. 그리고, 사용자는 본 발명에 따른 사용자 선택부(10)를 사용하여 소프트웨어 테스트를 시작하기 위한 테스트 모드를 선택할 수 있다. 예를 들어, 사용자 선택부(10)는 테스트 모드를 선택하기 위한 별도의 키가 마련될 수도 있으나, 인터페이스 화면 등을 통하여 테스트 모드를 선택할 수도 있다.
본 발명에 따른 저장부(40)는 토큰정보를 갖는 테스트 대상 함수를 저장한다. 여기서, 저장부(40)는 하드디스크, 램, 롬 등 데이터를 저장할 수 있는 구성이라면 한정되지 않는다. 여기서, 토큰정보란, 문법적으로 더 이상 나눌 수 없는 기본적인 언어요소들을 의미하며, 예를 들어, 하나의 키워드, 연산자 또는 구두접 등을 포함할 수 있다.
본 발명에 따른 제어부(30)는 전술한 소프트웨어 테스트 장치(100)의 각 부를 제어하여 각 부의 기능이 실행되도록 한다.
구체적으로, 제어부(30)는 인터페이스 화면 생성부(50), 디스플레이부(70) 등 각 부를 제어하여 디스플레이부(70)에 소정의 이미지가 표시되도록 제어하는 디스플레이 제어부(31) 및 테스트 대상 함수를 테스트하기 이전에 테스트 정보를 생 성하기 위한 테스트 정보 생성부(35)를 포함할 수 있다.
사용자 선택부(10)를 통해 소프트웨어 테스트를 시작하기 위한 테스트 모드가 선택되면, 디스플레이 제어부(31)는 테스트 대상 함수가 입력되기 위한 인터페이스 화면을 생성하도록 인터페이스 화면 생성부(50)를 제어할 수 있다. 또는, 테스트 모드가 선택된 후, 사용자 선택부(10)를 통해 테스트 대상 함수가 포함된 파일을 선택하는 등에 의해 테스트 대상 함수가 정의될 수 있다.
그러면, 디스플레이 제어부(31)는 테스트 대상 함수의 토큰정보에 대한 정보를 요구하는 정보선택화면을 생성하도록 인터페이스 화면 생성부(50)를 제어할 수 있다. 그리고, 디스플레이 제어부(31)는 정보선택화면을 통해 입력된 토큰정보를 테스트 정보 생성부(35)에 출력하여, 테스트 정보 생성부(35)가 테스트 정보를 생성하도록 제어할 수 있다.
여기서, 토큰정보에 대한 정보는, 예를 들어, 변수(Variable) 정보와, 디파인(Define) 정보와, 서브함수(Sub Function) 정보와, 스탠다드함수(Standard Function) 정보 중 적어도 하나에 대한 정보를 포함할 수 있다. 따라서, 정보선택화면은 전술한 토큰정보에 대한 상세정보를 요구하는 화면을 포함할 수 있다.
여기서, 변수정보는 변수 데이터 타입(data type), 변수 포인터 설정여부, 테스트 케이스 정보 중 적어도 하나를 포함할 수 있다. 여기서, 테스트 케이스 정보는 테스트할 항목의 기준이 되며, 고정 케이스(fixed case), 디폴트 케이스(default case), 사용자 선택 케이스(user case) 중 적어도 하나를 갖는 테스트 타입을 포함할 수 있다.
여기서, 고정 케이스(fixed case) 및 사용자 선택 케이스(user case) 중 하나가 선택된 경우, 디스플레이 제어부(31)는 사용자가 테스트 케이스에 대한 데이터를 입력하도록 할 수 있다. 이 때, 제어부(30)는 고정 케이스가 선택된 경우에는 1개의 데이터가 입력되고, 사용자 선택 케이스가 선택된 경우에는 복수의 데이터가 입력 가능하도록 할 수 있다.
또한, 본 발명에 따른 디스플레이 제어부(31)는 테스트 모드가 선택되면 테스트 타입이 선택되기 위한 타입선택화면을 생성하도록 인터페이스 화면 생성부(50)를 제어할 수 있다.
그리고, 디스플레이 제어부(31)가 입력된 테스트 타입을 테스트 정보 생성부(35)에 출력하면, 테스트 정보 생성부(35)는 선택된 테스트 타입에 기초하여 테스트 정보를 생성할 수 있다. 여기서, 테스트 타입은 유닛 테스트(Unit Test)와 인터그레이션 테스트(Integration Test: 통합 테스트)를 포함할 수 있다.
본 발명의 실시예에 따른 유닛은 소프트웨어를 구성하는 최소한 단위를 지칭하는 것으로 하나의 유닛은 하나의 기능을 수행할 수도 있으며, 복수의 유닛이 모여 하나의 기능을 수행할 수도 있다. 다시 말해, 사용자에 의해 독립적으로 검사를 수행할 필요가 있는 소프트웨어의 구성단위를 의미하는 것으로 소프트웨어가 완성된 상태에서 전체적인 소프트웨어가 정상적인 기능을 수행하는지 여부에 대한 종래의 검사와는 차별된다. 또한, 유닛은 적어도 하나 이상의 하위 유닛을 포함할 수도 있으며, 본 실시예에서 지칭하는 유닛은 특정한 크기 또는 특정 기능에 한정되지 않는다.
즉, 유닛 테스트란, 테스트 대상 소프트웨어의 최소 단위인 유닛을 결정한 후, 결정된 유닛을 나머지 코드와 분리하고, 분리한 유닛이 예상대로 정확하게 동작하는지 여부를 테스트하는 방법이다.
인터그레이션 테스트란, 유닛 테스트가 논리적으로 확장된 테스트 방법이다. 가장 단순한 형태의 인터그레이션 테스트는 이미 테스트를 마친 두 유닛을 하나의 구성 요소로 통합하고, 두 유닛 사이의 인터페이스를 테스트하는 것이다. 즉, 인터그레이션 테스트는 유닛이 결합될 때 발생하는 문제점을 식별하기 위한 테스트 방법이다.
즉, 본 발명에 따른 테스트 정보 생성부(35)는 전술한 정보선택화면 및 타입선택화면 중 적어도 하나를 통해 인가된 정보에 따라 테스트 정보를 생성할 수 있다. 여기서, 테스트 정보는 테스트할 항목의 기준이 되는 테스트 케이스와 테스트 대상 함수의 검사를 진행하기 위한 테스트 드라이버 중 적어도 하나를 포함할 수 있다.
테스트 드라이버는 테스트 대상 함수의 테스트를 위하여 유닛, 서브함수, 스탠다드 함수, 디파인 및 변수 등을 모두 조합하여 구성된 실질적인 프로그램을 의미한다. 즉, 본 발명에 따른 테스트 정보 생성부(35)는 테스트할 항목을 결정하는 테스트 케이스를 생성하고, 테스트 케이스를 기초로 테스트 대상 함수를 테스트할 테스트 드라이버를 생성할 수 있다.
그리고, 제어부(30)는 생성된 테스트 드라이버 및 테스트 케이스를 테스트부(90)에 출력한다. 그러면, 테스트부(90)는 테스트 드라이버를 실행시키면서, 각 테 스트 케이스에 따라 테스트 대상 함수를 테스트하고, 각 테스트 케이스에 대응하는 검사결과를 저장하여 테스트 대상 함수에 대한 테스트를 실행할 수 있다.
여기서, 테스트 정보 생성부(35) 및 테스트부(90)는 각 기능을 실행하기 위한 소프트웨어로 이루어지는 것이 바람직하다.
도 2에 도시된 바와 같이, 본 발명에 따른 소프트웨어 테스트 장치(100)는 다음과 같은 방법 순서에 따라 소프트웨어의 테스트를 시작한다.
우선, 본 발명에 따른 소프트웨어 테스트 방법은 소프트웨어 테스트를 시작하기 위한 테스트 모드가 실행된 후(S11), 테스트 대상 함수가 입력될 수 있다(S13). 테스트 대상 함수가 입력되면, 테스트 대상 함수의 토큰정보를 읽어 들인다(S19). 그리고, 제어부(30)는 토큰정보에 대한 정보를 요구하는 정보선택화면을 디스플레이부(70)에 표시하고(S21), 정보선택화면을 통해 토큰정보에 대한 정보가 입력되면(S23), 입력된 정보 및 테스트 대상 함수에 기초하여 테스트 정보를 생성한다(S25).
이 때, 제어부(30)는 테스트 대상 함수가 입력되면, 테스트 타입이 선택되기 위한 타입선택화면을 디스플레이부(70)에 표시할 수 있다(S15). 그리고, 제어부(30)는 타입선택화면을 통해 선택된 테스트 타입이 선택되면(S17), 정보선택화면을 통해 선택된 정보 및 타입선택화면을 통해 선택된 테스트 타입에 기초하여 테스트 정보를 생성할 수 있다(S25). 그리고, 제어부(30)는, 테스트 대상 함수를 실질적으로 테스트하기 위하여 생성된 테스트 정보를 테스트부(90)에 출력할 수 있다(S27).
이하, 본 발명의 일 실시예에 따라 소프트웨어 테스트 방법에 대하여 설명한 다.
본 발명의 일 실시예에 따라, 사용자는 소프트웨어 테스트를 시작하기 위하여, 테스트 소프트웨어를 실행시킬 수 있다. 그러면, 테스트 소프트웨어의 실행이 시작되면, 본 발명에 따른 제어부(30)는 소프트웨어 테스트를 시작하기 위한 테스트 모드가 실행된다고 판단할 수 있다(S11).
그러면, 제어부(30)는 테스트 대상 함수를 입력하기 위한 화면이 생성되도록 인터페이스 화면 생성부(50)를 제어할 수 있다. 그러면, 인터페이스 화면 생성부(50)에서 생성된 테스트 대상 함수를 입력하기 위한 화면이 디스플레이부(70)에 표시되면, 사용자는 테스트 대상 함수를 입력할 수 있다(S13).
그리고, 제어부(30)는 코드의 언어 타입이 입력되기 위한 화면 또는 테스트 타입이 입력되기 위한 타입선택화면이 생성되어 디스플레이부(70)에 표시되도록 인터페이스 화면 생성부(50)를 제어할 수 있다(S15). 이 때, 코드의 언어 타입은 C 언어, C++ 언어, 베이직 언어 등의 프로그래밍 언어를 다양하게 포함할 수 있다.
그리고, 사용자는 사용자 선택부(10)를 사용하여 디스플레이부(70)에 표시되는 타입선택화면을 통해 코드의 언어 타입 또는 테스트 타입이 선택될 수 있다(S17).
그리고, 제어부(30)는 입력된 테스트 대상 함수의 토큰정보를 읽어 들일 수 있다(S19). 제어부(30)는 토큰정보에 따한 정보를 요구하는 정보선택화면을 생성하도록 인터페이스 화면 생성부(50)를 제어할 수 있다. 이에 의해, 디스플레이부(70)에 정보선택화면이 표시되면(S21), 사용자는 사용자 선택부(19)를 사용하여 정보선 택화면을 통해 정보를 선택할 수 있다(S23).
이 때, 정보선택화면은, 제어부(30)가 읽어 들인 각 토큰정보에 대응하는 변수 정보와, 디파인 정보와, 서브함수와, 스탠다드함수 중 적어도 하나에 대한 정보를 요구하는 화면을 포함할 수 있다.
즉, 제어부(30)가 읽어 들인 토큰정보가 변수인 경우, 정보선택화면은 캐릭터, 인트, 더블 등의 변수 데이터 타입(data type), 저장부(40)에서 변수의 위치를 알려주기 위한 변수 포인터 설정여부, 테스트 케이스 정보 중 적어도 하나를 포함할 수 있다.
여기서, 테스트 케이스 정보는 테스트 케이스 타입을 포함할 수 있다. 이 때, 테스트 케이스 타입은 전술한 바와 같이, 고정 케이스(fixed case), 디폴트 케이스(default case), 사용자 선택 케이스(user case)를 포함할 수 있다.
또한, 제어부(30)가 읽어 들인 토큰정보가 함수인 경우, 정보선택화면은 함수가 서브함수인지 스탠다드함수인지 여부를 선택하기 위한 화면을 포함할 수 있다.
제어부(30)는 정보선택화면 및 타입선택화면을 통해 입력된 정보에 기초하여 테스트 정보를 생성할 수 있다(S25). 그리고, 제어부(30)는 정보선택화면 및 타입선택화면을 통해 입력된 정보에 기초하여 테스트 대상 함수의 변수 정보와, 디파인 정보와, 서브함수와, 스탠다드함수와, 테스트 케이스의 타입 중 적어도 하나의 개수를 표시할 수 있다. 이에 의해, 사용자는 표시된 개수가 맞는지 확인하여 사용자의 의도에 맞게 테스트 정보가 생성됐는지 여부를 판단할 수 있다.
여기서, 테스트 정보는 테스트할 항목의 기준이 되는 테스트 케이스와 테스트 드라이버 중 적어도 하나를 포함할 수 있다.
그리고, 제어부(30)는 생성된 테스트 정보를 테스트부(90)에 출력하여(S27), 실직적으로 소트프웨어의 테스트가 진행되도록 할 수 있다.
전술한 실시예에서, 본 발명에 따른 소프트웨어 테스트 방법에서, 타입선택화면 또는 정보선택화면은 대화 형식으로 디스플레이부(70)에 표시될 수 있다. 즉, 디스플레이부(70)에 "테스트의 타입은 무엇입니까?"라고 묻는 화면이 표시되고, 사용자로부터 입력된 테스트 타입에 따라, 유닛 테스트 또는 인터그레이션 테스트의 타입에 적합한 정보를 묻는 정보선택화면이 표시될 수 있다. 즉, "포인터를 사용합니까?", "테스트 케이스의 타입은 무엇입니까?" 등 다양하게 대화형식의 화면이 표시될 수 있다. 이에 따라, 사용자는 대화를 하듯이 화면에 표시되는 질문에 대답을 하여 소프트웨어 테스트를 시작할 수 있으며, 보다 효율적으로 소프트웨어를 테스트할 수 있다.
전술한 실시예에서, 제어부(30) 또는 제어부(30)의 테스트 정보 생성부(35)는 별도의 소프트웨어로 마련될 수 있다. 또한, 이 별도의 소프트웨어는 테스트부(90)를 포함하도록 마련될 수도 있다. 이 경우, 본 발명에 따른 소프트웨어 테스트 장치(100)는 전술한 소프트웨어를 갖는 전자기기를 다양하게 포함할 수 있다.
전술한 바와 같이, 본 발명에 따른 소프트웨어 테스트 방법에 의하면, 사용자가 소프트웨어, 즉 테스트 대상함수를 테스트하기 전에 간단한 옵션 변경 또는 대화형으로 정보를 입력한다. 그리고, 본 발명은 대화식으로 테스트 방법이 진행됨 으로써 사용자가 진행과정을 직접, 쉽게 확인할 수 있다. 따라서, 본 발명에 따른 소프트웨어 테스트 방법 및 소프트웨어 테스트 장치(100)는 오류가 적고 사용자의 수고가 적게 든다.
비록 본 발명의 몇몇 실시예들이 도시되고 설명되었지만, 본 발명에 속하는 기술분야의 통상의 지식을 가진 당업자라면 본 발명의 원칙이나 정신에서 벗어나지 않으면서 본 실시예를 변형할 수 있음을 알 수 있을 것이다. 발명의 범위는 첨부된 청구항과 그 균등물에 의해 정해질 것이다.
이상 설명한 바와 같이, 본 발명에 따르면, 테스트 대상 함수에 대해 사용자에게 정보를 요구하여, 사용자가 입력한 정보에 기초하여 테스트하는데 적합하도록 소프트웨어를 변경할 수 있는 소프트웨어 테스트 방법 및 소프트웨어 테스트 장치가 제공된다.

Claims (17)

  1. 소프트웨어 테스트 방법에 있어서,
    소프트웨어 테스트를 시작하기 위한 테스트 모드가 실행되는 단계와;
    테스트 대상 함수가 입력되는 단계와;
    상기 테스트 대상 함수의 토큰정보를 읽는 단계와;
    상기 토큰정보에 대한 정보를 요구하는 정보선택화면을 표시하는 단계와;
    상기 정보선택화면을 통해 상기 토큰정보에 대한 정보가 입력되면, 상기 입력된 정보 및 상기 테스트 대상 함수에 기초하여 테스트 정보를 생성하는 단계와;
    상기 테스트 대상 함수를 테스트하기 위하여 상기 테스트 정보를 출력하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 테스트 방법.
  2. 제1항에 있어서,
    상기 테스트 대상 함수가 입력되면, 테스트 타입이 선택되기 위한 타입선택화면을 표시하는 단계를 더 포함하고,
    상기 테스트 정보를 생성하는 단계는,
    상기 테스트 타입에 기초하여 상기 테스트 정보를 생성하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 테스트 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 정보선택화면을 표시하는 단계에서,
    상기 정보선택화면은 변수정보와, 디파인정보와, 서브함수와, 스탠다드함수 중 적어도 하나에 대한 정보를 요구하는 화면을 포함하는 것을 특징으로 하는 소프트웨어 테스트 방법.
  4. 제3항에 있어서,
    상기 변수정보는 변수 데이터 타입, 변수 포인터 설정여부, 테스트 케이스 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 소프트웨어 테스트 방법.
  5. 제4항에 있어서,
    상기 테스트 케이스 정보는 테스트 케이스 타입 및 데이터를 포함하는 것을 특징으로 하는 소프트웨어 테스트 방법.
  6. 제5항에 있어서,
    상기 테스트 케이스 타입은 고정 케이스, 디폴트 케이스, 사용자 선택 케이스 중 적어도 하나를 포함하는 것을 특징으로 하는 소프트웨어 테스트 방법.
  7. 제4항 내지 제6항 중 어느 한 항에 있어서,
    상기 테스트 정보는 테스트할 항목의 기준이 되는 테스트 케이스와 테스트 드라이버 중 적어도 하나를 포함하는 것을 특징으로 하는 소프트웨어 테스트 방법.
  8. 제3항에 있어서,
    상기 테스트 정보를 생성하는 단계는,
    상기 정보선택화면 및 상기 타입선택화면 중 적어도 하나를 통해 선택된 정보에 기초하여 상기 테스트 대상 함수의 상기 변수정보와, 디파인정보와, 서브함수와, 스탠다드함수와, 상기 테스트 케이스의 타입 중 적어도 하나의 개수를 표시하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 테스트 방법.
  9. 제1항 또는 제2항에 있어서,
    상기 테스트 타입은 유닛 테스트와 인터그레이션 테스트를 포함하는 것을 특징으로 하는 소프트웨어 테스트 방법.
  10. 소프트웨어 테스트 장치에 있어서,
    이미지를 표시하기 위한 디스플레이부와;
    상기 디스플레이부에 표시될 화면을 생성하기 위한 인터페이스 화면 생성부와;
    토큰정보를 갖는 테스트 대상 함수를 저장하는 저장부와;
    소프트웨어 테스트를 시작하기 위한 테스트 모드를 선택하기 위한 사용자 선택부와;
    상기 테스트 모드가 선택되면 상기 토큰정보에 대한 정보를 요구하는 정보선 택화면을 생성하도록 상기 인터페이스 화면 생성부를 제어하고, 상기 정보선택화면을 통해 입력된 정보에 기초하여 테스트 정보를 생성하는 것을 특징으로 하는 제어부를 포함하는 것을 특징으로 하는 소프트웨어 테스트 장치.
  11. 제10항에 있어서,
    상기 제어부는 상기 테스트 대상 함수가 입력되면 테스트 타입이 선택되기 위한 타입선택화면을 생성하도록 상기 인터페이스 화면 생성부를 제어하고, 상기 타입선택화면을 통해 선택된 상기 테스트 타입에 기초하여 상기 테스트 정보를 생성하는 것을 특징으로 하는 소프트웨어 테스트 장치.
  12. 제10항 또는 제11항에 있어서,
    상기 정보선택화면은 변수정보와, 디파인정보와, 서브함수와, 스탠다드함수 중 적어도 하나에 대한 정보를 요구하는 화면을 포함하는 것을 특징으로 하는 소프트웨어 테스트 장치.
  13. 제12항에 있어서,
    상기 변수정보는 변수 데이터 타입, 변수 포인터 설정여부, 테스트 케이스 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 소프트웨어 테스트 장치.
  14. 제13항에 있어서,
    상기 테스트 케이스 정보는 고정 케이스, 디폴트 케이스, 사용자 선택 케이스 중 적어도 하나를 포함하는 테스트 타입을 포함하는 것을 특징으로 하는 소프트웨어 테스트 장치.
  15. 제13항 또는 제14항에 있어서,
    상기 제어부는 상기 테스트 대상 함수를 테스트할 항목의 기준이 되는 테스트 케이스와 테스트 드라이버 중 적어도 하나를 포함하는 상기 테스트 정보를 생성하는 것을 특징으로 하는 것을 특징으로 하는 소프트웨어 테스트 장치.
  16. 제10항 또는 제11항에 있어서,
    상기 테스트 타입은 유닛 테스트와 인터그레이션 테스트를 포함하는 것을 특징으로 하는 소프트웨어 테스트 장치.
  17. 제10항 내지 제11항에 있어서,
    상기 제어부는 상기 인터페이스 화면 생성부를 제어하는 디스플레이제어부와, 상기 테스트 정보를 생성하는 테스트 정보 생성부를 포함하는 것을 특징으로 하는 소프트웨어 테스트 장치.
KR1020050131936A 2005-12-28 2005-12-28 소프트웨어 테스트 방법 및 소프트웨어 테스트 장치 KR20070069614A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020050131936A KR20070069614A (ko) 2005-12-28 2005-12-28 소프트웨어 테스트 방법 및 소프트웨어 테스트 장치
EP06077087A EP1870809A3 (en) 2005-12-28 2006-11-23 Software test method and software test apparatus
US11/637,101 US20070180326A1 (en) 2005-12-28 2006-12-12 Software test method and software test apparatus
CNA2006101688264A CN1991786A (zh) 2005-12-28 2006-12-14 软件测试方法和软件测试设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050131936A KR20070069614A (ko) 2005-12-28 2005-12-28 소프트웨어 테스트 방법 및 소프트웨어 테스트 장치

Publications (1)

Publication Number Publication Date
KR20070069614A true KR20070069614A (ko) 2007-07-03

Family

ID=38134775

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050131936A KR20070069614A (ko) 2005-12-28 2005-12-28 소프트웨어 테스트 방법 및 소프트웨어 테스트 장치

Country Status (4)

Country Link
US (1) US20070180326A1 (ko)
EP (1) EP1870809A3 (ko)
KR (1) KR20070069614A (ko)
CN (1) CN1991786A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101160482B1 (ko) * 2010-07-23 2012-06-28 강원대학교산학협력단 테스트 스윗 생성 장치 및 방법

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080270898A1 (en) * 2007-04-26 2008-10-30 Kristin Petersen Methods and Apparatus for Dynamically Updating a Graphical User Interface, to Focus on a Production Display or a Debug Display
US20080270847A1 (en) * 2007-04-26 2008-10-30 Carli Connally Methods and Apparatus for Displaying Production and Debug Test Data
CN101398864B (zh) * 2007-09-28 2011-12-21 富葵精密组件(深圳)有限公司 电路板制作仿真系统及方法
CN101751248B (zh) * 2008-11-28 2013-01-02 国际商业机器公司 为Web应用设计时间敏感的性能测试用例的方法和系统
CN101661580B (zh) * 2009-07-22 2012-05-02 中国农业银行股份有限公司 一种软件测试的方法及系统
CN101697144A (zh) * 2009-10-28 2010-04-21 中兴通讯股份有限公司 一种软件测试方法及测试装置
CN102521134B (zh) * 2011-12-21 2014-09-17 中国工商银行股份有限公司 一种基于大型机的测试信息检测方法及装置
CN103246601B (zh) * 2012-02-10 2018-01-09 腾讯科技(深圳)有限公司 测试方法及装置
CN102681939B (zh) * 2012-05-07 2014-12-10 北京邮电大学 一种选取路径的方法及装置
CN102708054A (zh) * 2012-05-08 2012-10-03 中国信息安全测评中心 二进制程序循环写内存安全漏洞的检测方法
CN102736977B (zh) * 2012-06-07 2016-01-06 四川九洲空管科技有限责任公司 一种tcasii防撞算法的标准符合性验证方法
CN103970614B (zh) * 2013-01-24 2018-07-06 腾讯科技(深圳)有限公司 一种业务测试方法及装置
KR20150029184A (ko) * 2013-09-09 2015-03-18 삼성에스디에스 주식회사 애플리케이션을 테스트하는 기법
CN104699594A (zh) * 2013-12-05 2015-06-10 北汽福田汽车股份有限公司 一种测试方法和测试设备
US11586976B2 (en) * 2019-07-23 2023-02-21 Dell Products, L.P. Method and apparatus for creating tests for execution in a storage environment
CN113391200A (zh) * 2021-06-11 2021-09-14 兴机电器有限公司 一种高压开关智能综合检测系统及其装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0594888A1 (en) * 1992-10-30 1994-05-04 International Business Machines Corporation Method and apparatus for computer software testing
US6002869A (en) * 1997-02-26 1999-12-14 Novell, Inc. System and method for automatically testing software programs
US6408430B2 (en) * 1998-09-03 2002-06-18 Lucent Technologies, Inc. Interactive software testing system and method
US6895578B1 (en) * 1999-01-06 2005-05-17 Parasoft Corporation Modularizing a computer program for testing and debugging
US20040015865A1 (en) * 2001-03-19 2004-01-22 Kevin Cirone Component/web service data synthesis
US7334219B2 (en) * 2002-09-30 2008-02-19 Ensco, Inc. Method and system for object level software testing
TWI262383B (en) * 2003-01-10 2006-09-21 Univ Nat Cheng Kung A generic software testing system and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101160482B1 (ko) * 2010-07-23 2012-06-28 강원대학교산학협력단 테스트 스윗 생성 장치 및 방법

Also Published As

Publication number Publication date
EP1870809A2 (en) 2007-12-26
CN1991786A (zh) 2007-07-04
EP1870809A3 (en) 2010-04-07
US20070180326A1 (en) 2007-08-02

Similar Documents

Publication Publication Date Title
KR20070069614A (ko) 소프트웨어 테스트 방법 및 소프트웨어 테스트 장치
US20050229122A1 (en) Logic verification device, logic verification method and logic verification computer program
CN104272245B (zh) 过扫描支持
RU2013108062A (ru) Способ управления составными атрибутами и соответствующее портативное устройство
CN1976412B (zh) 视频处理装置及其控制方法
US20120268654A1 (en) Projector, control method and computer program product
US20170185422A1 (en) Method and system for generating and controlling composite user interface control
US20060174161A1 (en) Viewer for test apparatus hardware
EP3418882A1 (en) Display apparatus having the ability of voice control and method of instructing voice control timing
CN115269285A (zh) 测试方法及装置、设备、计算机可读存储介质
EP2296081A1 (en) Image processing apparatus and method of controlling the same
CN113225717B (zh) 蓝牙设备的控制方法、装置及计算机可读存储介质
JP6251994B2 (ja) テスト結果表示装置、およびテスト結果表示プログラム
KR100396680B1 (ko) 디지털 티브이의 진단방법
CN110278476B (zh) 一种在屏幕上进行多窗口布局的方法、装置及可读存储介质
JP2006277577A (ja) 処理装置及び処理装置システム
JPH10221129A (ja) 分析装置
JP2005250112A (ja) 画像信号発生装置、画像表示装置、画像表示装置のオンライン制御方法
JP2002200830A (ja) 表示装置
CN117827345A (zh) 显示窗口界面布局方法及装置、视觉平台系统和存储介质
JP2020086895A (ja) 入力支援装置
KR100699258B1 (ko) 디스플레이 장치
CN117453522A (zh) 任务执行方法、装置、电子设备及存储介质
JP2001051875A (ja) ソフトウエア試験装置
US20130094057A1 (en) Image processing system and image processing apparatus

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid