KR100369252B1 - 소프트웨어 테스트 시스템 및 그 방법 - Google Patents

소프트웨어 테스트 시스템 및 그 방법 Download PDF

Info

Publication number
KR100369252B1
KR100369252B1 KR10-2000-0051651A KR20000051651A KR100369252B1 KR 100369252 B1 KR100369252 B1 KR 100369252B1 KR 20000051651 A KR20000051651 A KR 20000051651A KR 100369252 B1 KR100369252 B1 KR 100369252B1
Authority
KR
South Korea
Prior art keywords
function
software
test
keyword
keywords
Prior art date
Application number
KR10-2000-0051651A
Other languages
English (en)
Other versions
KR20010103547A (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 삼성에스디에스 주식회사
Priority to US09/851,405 priority Critical patent/US20020032538A1/en
Publication of KR20010103547A publication Critical patent/KR20010103547A/ko
Application granted granted Critical
Publication of KR100369252B1 publication Critical patent/KR100369252B1/ko

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for 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

소프트웨어 테스트 시스템 및 그 방법{Software test system and method}
본 발명은 소프트웨어 테스트에 관한 것으로, 특히, 유지 및 보수가 간편한 소프트웨어 테스트 시스템 및 그 방법에 관한 것이다.
일반적으로, 테스트하고자 하는 타깃(target) 소프트웨어를 레코딩 방식에 의해 자동 테스트하는 테스트 툴은 많은 량의 스크립트(script) 파일들을 생성하게된다. 특히, 미국 레이셔널(Rational)사의 팀테스트(TeamTest)와 같이, 선형 스크립트 기술을 이용하는 테스트 툴의 경우, 스크립트 파일은 테스트 케이스 수에 비례하여 생성된다. 예컨대, 팀테스트를 이용하여 타깃 소프트웨어를 테스트하고자하는 경우, 사용자는 먼저 테스트 시나리오를 만들고, 팀테스트를 가동한 상태에서 고안된 테스트 시나리오대로 타깃 소프트웨어를 한 번씩 실행한다. 팀테스트는 테스트 시나리오대로 타깃 소프트웨어를 실행할 때마다 해당 스크립트 파일들을 생성하며, 생성된 스크립트 파일들에 의해 타깃 소프트웨어를 자동적으로 실행하면서 타깃 소프트웨어를 테스트한다.
도 1은 팀테스트를 이용하여 타깃 소프트웨어를 자동 테스트시 스크립트들의생성을 보이는 도면이다.
도 1을 참조하면, 팀테스트와 같은 선형 스크립트 기술에 의한 테스트 도구는 테스트 시나리오(1)대로 타깃 소프트웨어를 한번씩 실행하여 도구에 의해 생성된 스크립트들(3a1~3an)을 생성한다. 팀테스트는 생성된 스크립트들(3a1~3an)에 의해 타깃 소프트웨어를 실행하면서 타깃 소프트웨어를 자동 테스트한다.
도 2는 도 1에 도시된 자동 테스트 도구에 의해 생성된 스크립트들(3a1~3an)의 일예를 나타내는 도면이다. 도 2를 참조하면, 테스트 케이스수 n만큼 스크립트들이 생성되며, 각 스크립트에는 타깃 소프트웨어를 실행하기 위한 명령어(예컨대, "Window SetContext", "MenuSelect", "PushButton")와 데이터("제목없음 - 메모장", "열기", "취소")가 혼재되어 있다.
한편, 이상에서와 같이 선형 스크립트 기술을 이용한 소프트웨어 테스트는 타깃 소프트웨어가 변경될 경우, 타깃 소프트웨어가 변경된 부분에 해당되는 스크립트들(7)을 수정하거나 부분적으로 재실행하여 스크립트 파일을 다시 생성해야 한다. 만약, 해당 스크립트 파일을 수정하기 힘들거나 부분적으로 새로운 스크립트 파일의 재생성이 불가능하다면, 생성된 스크립트들(3a1~3an)을 모두 폐기하고 테스트 시나리오에 따른 스크립트 파일들을 처음부터 다시 생성해야 한다. 이처럼, 기존의 스크립트 파일들을 폐기하고 새로운 스크립트 파일들을 생성하데 드는 시간은 다음 수학식 1에 의해 측정될 수 있다.
스크립트 재생성시간=타깃소프트웨어 변경율×스크립트를 만드는데 드는 평균시간
×전체 스크립트수×계수(R)
여기서, 계수(R)는 프로젝트 규모, 스크립트 사이즈, 전체 스크립트수, 기능수등을 고려하여 부여하여야 하나, 여기서는 1로 정한다. 그리고, 전체 스크립트수를 50개로 한정하고, 타깃 소프트웨어의 변경 화면율을 5%라 하고, 단위 스크립트를 만드는데 드는 시간이 0.3시간이라 할 때, 스크립트 재생성 시간은 0.75시간이 된다. 만약, 타깃 소프트웨어의 변경 규모는 작으나 전체 화면의 50%에 걸쳐 변경이 발생된다면, 즉, 타깃 소프트웨어의 변경 화면율이 50%라면 스크립트 재생성시간은 7.5시간이 된다. 결국, 타깃 소프트웨어의 변경에 따른 소프트웨어 테스트 툴의 유지 및 보수가 복잡하고 많은 시간이 소요됨을 알 수 있다.
이상에서와 같이, 소프트웨어를 테스트하기 위해 일반적으로 쓰이는 선형 스크립트 기술은 타깃 소프트웨어에 약간의 변경만 발생되어도 스크립트 파일들중 해당 스크립트를 수정하거나 재생성해야 하며, 최악의 경우 전체 스크립트를 다시 생성해야 한다. 또한, 타깃 소프트웨어의 테스트 케이스수에 비례하여 스크립트 파일들이 생성되므로 테스트 케이스가 많을수록 스크립트 파일의 유지 및 보수는 더욱 어려워진다.
결국, 종래의 선형 스크립트 기술을 이용하여 타깃 소프트웨어를 테스트하면, 테스트 케이스가 많을수록, 타깃 소프트웨어 프로그램 변경이 잦을수록, 소프트웨어 테스트에 걸리는 시간과 노력이 많이 들게된다.
본 발명이 이루고자 하는 기술적 과제는 테스트 대상 소프트웨어의 변경에따른 유지 보수가 간단한 소프트웨어 테스트 시스템을 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 상기 소프트웨어 테스트 시스템에서 수행되는 테스트 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 또 다른 기술적 과제는 상기 소프트웨어 테스트 방법을 컴퓨터에서 실행 가능한 프로그램 코드로 기록한 기록 매체를 제공하는 데 있다.
도 1은 팀테스트를 이용하여 타깃 소프트웨어를 자동 테스트시 스크립트들의 생성을 보이는 도면이다.
도 2는 종래에, 테스트 시나리오대로 타깃 소프트웨어를 실행할 때 생성되는 스크립트 파일들을 나타낸다.
도 3은 본 발명에 따른 소프트웨어 테스트 시스템의 개념을 나타내는 도면이다.
도 4a 내지 도 4c는 도 3에 도시된 오브젝트 파일(14), 실행 프로그램(12) 및 함수 라이브러리 파일(10)의 일 예를 각각 나타내는 도면이다.
도 5는 본 발명에 따른 소프트웨어 테스트 방법의 일 실시예를 설명하기 위한 플로우차트이다.
도 6은 본 발명에 따른 소프트웨어 테스트 시스템의 다른 실시예를 개략적으로 나타내는 블록도이다.
도 7은 사용자 인터페이스(46b)를 통해 오브젝트 데이터 베이스(46a)에 따라 테스트 순서에 따른 키워드 및 인자값의 편집을 할 수 있는 화면을 나타낸다.
도 8은 본 발명에 따른 소프트웨어 테스트 방법의 다른 실시예를 나타내는 흐름도이다.
도 9는 제62단계에서, 스크립트 분석부(48)에 의해 오브젝트 데이터 베이스를 자동으로 구축하는 방법을 나타내는 흐름도이다.
도 10(a)~도 10(e)는 도 9에 도시된 단계별로 오브젝트 데이터 베이스 생성과정을 보이는 도면들이다.
상기 과제를 이루기 위해, 컴퓨터상에서 실행되는 소프트웨어를 테스트하는 본 발명에 따른 소프트웨어 테스트 시스템은 소프트웨어의 오브젝트들을 실행하기 위한 명령어들을 함수화하여 기록한 함수 라이브러리 파일, 소프트웨어의 각 오브젝트를 나타내는 키워드를 소프트웨어를 테스트하고자 하는 순서에 따라 순차적으로 기록하며, 각 키워드들은 오브젝트 구분자에 의해 구분되는 오브젝트 파일 및 오브젝트 파일로부터 키워드를 순차적으로 읽어들여 실행하고자 하는 오브젝트를 인식하고, 인식된 오브젝트를 실행하기 위한 함수를 함수 라이브러리 파일로부터 호출하여 실행하는 실행 프로그램을 포함한다.
상기 과제를 이루기 위해, 컴퓨터상에서 실행되는 소프트웨어를 테스트하는 본 발명에 따른 테스트 시스템은 상기 소프트웨어의 오브젝트들을 실행하기 위한 명령어들을 함수화하여 기록한 함수 라이브러리 파일, 상기 소프트웨어를 테스트하고자 하는 순서에 따라 순차적으로 입력되는 상기 소프트웨어의 각 오브젝트에 해당되는 키워드들과 함수 호출에 필요한 인자값들을 저장하는 오브젝트 관리부 및상기 오브젝트 데이터 베이스를 참조하여 키워드들과 인자값들을 순차적으로 읽어들이고, 키워드에 해당하는 오브젝트를 실행하기 위해 인자값에 대응되는 함수를 함수 라이브러리 파일로부터 호출하여 실행하는 실행 프로그램을 포함한다.
상기 과제를 이루기 위해, 컴퓨터상에서 실행되는 소프트웨어를 테스트하는 본 발명에 따른 테스트 시스템은 상기 소프트웨어의 오브젝트들을 실행하기 위한 명령어들을 함수화하여 기록한 함수 라이브러리 파일, 최초 테스트 실행시 생성된 스크립트들로부터 테스트 순서에 따른 키워드 및 인자값을 추출하는 함수 분석 및 추출부, 함수 분석 및 추출부로부터 추출되어 순차적으로 입력되는 소프트웨어의 각 오브젝트에 해당되는 키워드들과 함수 호출에 필요한 인자값들을 저장하는 오브젝트 관리부 및 오브젝트 데이터 베이스를 참조하여 키워드들과 인자값들을 순차적으로 읽어들이고, 키워드에 해당하는 오브젝트를 실행하기 위해 인자값에 대응되는 함수를 함수 라이브러리 파일로부터 호출하여 실행하는 실행 프로그램을 포함한다.
상기 다른 과제를 이루기 위해, 컴퓨터상에서 실행되며, 테스트하고자 하는 타깃 소프트웨어를 실행하는 명령어를 함수로 일반화시킨 함수 라이브러리 파일을 구비하는 소프트웨어 테스트 시스템에서, 타깃 소프트웨어를 테스트하는 본 발명에 따른 소프트웨어 테스트 방법은 (a)타깃 소프트웨어의 각 오브젝트를 나타내는 키워드를 소프트웨어를 테스트하고자 하는 순서에 따라 순차적으로 기록하며, 각 키워드들이 오브젝트 구분자에 의해 구분되는 오브젝트 파일을 생성하는 단계, (b)오브젝트 파일에 기록된 키워드들을 하나씩 순차적으로 읽어들이고, 읽어들인 키워드에 해당하는 오브젝트를 실행하기 위한 함수를 함수 라이브러리 파일로부터 호출하는 단계, (c)(b)단계에서 호출된 함수의 실행에 필요한 소정 개수의 함수 인자들로서 (a)단계에서 읽어들인 키워드 다음에 연속하는 키워드들을 읽어들여, (b)단계에서 호출된 함수를 실행하는 단계 및 (d)오브젝트 파일에 실행되지 않은 키워드가 있으면 (b)단계로 진행하여 테스트를 계속 진행하고, 없으면 테스트를 종료하는 단계로 이루어진다.
상기 다른 과제를 이루기 위해, 컴퓨터상에서 실행되며, 테스트하고자 하는 타깃 소프트웨어의 명령어를 함수로 일반화시킨 함수 라이브러리 파일을 구비하는 소프트웨어 테스트 시스템에서 타깃 소프트웨어를 테스트하는 본 발명에 따른 방법은 타깃 소프트웨어의 각 오브젝트를 나타내는 키워드와 함수 라이브러리 파일로부터 함수 호출을 위한 인자값을 추출하고, 추출된 키워드 및 인자값을 테스트 순서에 따라 저장하여 오브젝트 데이터베이스를 구축하는 (a)단계, 오브젝트 데이터 베이스로부터 키워드 및 인자값을 순차적으로 읽어들이고, 읽어들인 키워드에 해당하는 오브젝트를 실행하기 위해 인자값에 대응되는 함수를 함수 라이브러리 파일로부터 호출하는 (b)단계, (b)단계에서 호출된 함수의 실행에 필요한 소정 개수의 함수 인자들을 오브젝트 데이터 베이스로부터 연속적으로 읽어들여 호출된 함수를 실행하는 (c)단계 및 오브젝트 데이터 베이스에 실행되지 않은 키워드가 있으면 (b)단계로 진행하여 테스트를 계속 진행하고, 없으면 테스트를 종료하는 (d)단계로 이루어진다.
상기 또 다른 과제를 이루기 위해, 컴퓨터상에서 실행되며, 테스트하고자 하는 타깃 소프트웨어의 명령어를 함수로 일반화시킨 함수 라이브러리 파일 및 타깃소프트웨어의 각 오브젝트를 나타내는 키워드를 소프트웨어를 테스트하고자 하는 순서에 따라 순차적으로 기록하며, 각 키워드들은 오브젝트 구분자에 의해 구분되는 오브젝트 파일을 구비하는 소프트웨어 테스트 시스템에서 타깃 소프트웨어를 테스트하는 본 발명에 따른 프로그램을 기록한 기록 매체는 (a)오브젝트 파일에 기록된 키워드들을 하나씩 순차적으로 읽어들이고, 읽어들인 키워드에 해당하는 오브젝트를 실행하기 위한 함수를 함수 라이브러리 파일로부터 호출하는 단계, (b)(a)단계에서 호출된 함수의 실행에 필요한 소정 개수의 함수 인자들로서 (a)단계에서 읽어들인 키워드 다음에 연속하는 키워드들을 읽어들여, (a)단계에서 호출된 함수를 실행하는 단계 및 (c)오브젝트 파일에 실행되지 않은 키워드가 있으면 (a)단계로 진행하여 테스트를 계속 진행하고, 없으면 테스트를 종료하는 단계로 이루어진다.
이하, 본 발명에 따른 소프트웨어 테스트 시스템 및 방법을 첨부한 도면들을 참조하여 다음과 같이 설명한다.
도 3은 본 발명에 따른 소프트웨어 테스트 시스템의 일실시예를 개략적으로 나타내는 도면이다. 본 발명의 일실시예에 따른 소프트웨어 테스트 시스템은 함수 라이브러리 파일(10), 오브젝트 파일(14) 및 실행 프로그램(12)으로 이루어지며, 설명의 편의를 위해 도 2에는 테스트하고자 하는 타깃 소프트웨어(16)를 함께 도시한다. 여기서, 타깃 소프트웨어(16) 및 실행 프로그램(12)은 컴퓨터에서 실행 가능한 프로그램 코드로 이루어진다. 또한, 실행 프로그램(12)은 레이셔날 팀테스트가 제공하는 프로그램 언어 SQABasic을 이용하여 프로그래밍할 수 있다.
도 3을 참조하여, 함수 라이브러리 파일(10)에는 타깃 소프트웨어(16)의 오브젝트들을 실행하기 위한 명령어들이 함수로 일반화되어 기록된다. 오브젝트 파일(14)에는 타깃 소프트웨어(16)의 오브젝트를 인식하기 위한 키워드들이 키워드로서, 타깃 소프트웨어(16)를 테스트하고자 하는 순서에 따라, 순차적으로 기록된다. 실행 프로그램(12)은 오브젝트 파일(14)로부터 키워드를 순차적으로 읽어들여 실행하고자 하는 오브젝트를 인식하고, 인식된 오브젝트를 실행하기 위한 함수를 함수 라이브러리 파일로부터 호출하여 함수를 실행한다. 여기서, 함수의 실행은 컴퓨터상에서 타깃 소프트웨어(16)의 테스트 실행을 의미하며, 사용자는 컴퓨터를 통해 테스트 실행 상태를 관찰하며 테스트 실행 결과를 얻을 수 있다.
도 4a 내지 도 4c는 도 3에 도시된 오브젝트 파일(14), 실행 프로그램(12) 및 함수 라이브러리 파일(10)의 일 예를 각각 나타내는 도면이다. 도 4a는 오브젝트 파일(14)의 일 예로서, 타깃 소프트웨어의 오브젝트를 인식할 수 있는 오브젝트인식값들 "메뉴선택", "파일(F)→열기(O)", "버튼", "열기", "취소"등이 이 테스트 순서에 따라 순차적으로 기록되며, 각 키워드들은 오브젝트 구분자인 쉼표(,)로 각각 구분된다.
도 4b는 실행 프로그램(12)의 일 예로서, 도 4a에 도시된 오브젝트 파일로부터 키워드 "메뉴선택"을 읽어들여 "메뉴선택"에 해당되는 함수가 "Menu"임을 인식하고, 함수 라이브러리 파일로부터 "Menu" 함수를 호출하여 실행한다.
도 4c는 함수 라이브러리 파일의 일 예로서, 명령어 "Window SetContext"와 "PushButton Click"이 함수 "Setf(b)"와 "CancellBut(a)"로서 각각 일반화됨을 보인다.
도 5는 본 발명에 따른 소프트웨어 테스트 방법의 일 실시예를 설명하기 위한 플로우차트이다.
도 3 내지 도 5를 참조하여, 먼저 테스트하고자 하는 타깃 소프트웨어(16)를 테스트하기에 앞서, 타깃 소프트웨어(16)의 오브젝트들을 실행하기 위한 다수의 명령어들을 함수로 일반화시켜 도 4c에 도시된 바와 같은 함수 라이브러리 파일(10)을 생성한다(제20단계). 제20단계 후에, 키워드로부터 타깃 소프트웨어(16)의 오브젝트를 인식하고, 인식된 오브젝트를 실행하기 위한 함수를 함수 라이브러리 파일(10)로부터 호출하며, 호출된 함수를 실행하여 타깃 소프트웨어의 테스트를 수행하고자 하는, 도 4b에 도시된 바와 같은 실행 프로그램(12)을 생성한다(제22단계). 제22단계 후에, 타깃 소프트웨어의 오브젝트를 나타내는 키워드를 타깃 소프트웨어를 테스트하고자 하는 테스트 순서에 따라 순차적으로 기록한 도 4a에 도시된 바와 같은 오브젝트 파일(14)을 생성한다(제24단계).
제24단계 후에, 실행 프로그램(12)은 오브젝트 파일(14)로부터 키워드를 하나씩 순차적으로 인식한다(제26단계). 이 때, 오브젝트 파일에 기록된 오브젝트들은 도 4a에 도시된 바와 같이 오브젝트 구분자(,)에 의해 각각 분리되어 인식된다. 예컨대, 실행 프로그램(12)은 도 4a에 도시된 오브젝트 파일(14)로부터 "메뉴 선택"이라는 키워드를 읽어들인다.
제26단계 후에, 실행 프로그램(12)은 읽어들인 키워드에 해당하는 함수가 함수 라이브러리 파일(10)에 존재하는 가를 검색한다(제28단계). 예컨대, 제26단계에서 실행 프로그램(12)이 "메뉴 선택"이라는 키워드를 읽어들이며, 실행프로그램(12)은 "메뉴 선택"을 실행하기 위한 함수 "Menu"가 함수 라이브러리 파일에 정의 되어있는가를 검색한다.
실행 프로그램(12)은 제26단계에서 읽어들인 오브젝트에 대한 함수가 함수 라이브러리 파일에 정의되어 있으면, 해당 함수를 호출하고(제30단계), 함수 실행에 필요한 함수 인자들로서, 제26단계에서 읽어들인 키워드 다음에 연속되는 키워드를 읽어들여 함수실행을 한다(제32단계). 예컨대, 실행 프로그램은 오브젝트 파일에서 "메뉴선택"에 연속되는 키워드 "파일(F)→열기(O)"를 "Menu"함수를 실행하기 위한 인자로서 읽어들여 "Menu"함수를 실행한다. 여기서, 함수의 실행은 컴퓨터상에서 타깃 소프트웨어의 테스트의 실행을 의미하며, 컴퓨터상에서 그 실행결과를 확인할 수 있다.
한편, 제28단계에서, 제26단계에서 읽어들인 키워드에 해당하는 함수가 함수 라이브러리 파일(10)에 정의되어있지 않다면 테스트를 종료한다.
제32단계 후에, 실행 프로그램은 오브젝트 파일(14)에 실행되지 않은 키워드들이 남아있는가를 판단하여, 키워드들이 남아있으면 테스트를 계속하기 위해 다음 키워드를 읽어들이며, 실행되지 않은 키워드가 없다면 테스트가 완료된 것으로 판단하고 테스트를 종료한다(제34단계).
도 6은 본 발명에 따른 소프트웨어 테스트 시스템의 다른 실시예를 개략적으로 나타내는 블록도이다. 본 발명의 다른 실시예에 따른 소프트웨어 테스트 시스템은 함수 라이브러리 파일(40), 오브젝트 관리부(46) 및 실행 프로그램(42)으로 이루어지며, 설명의 편의를 위해 도 6에는 테스트하고자 하는 타깃 소프트웨어(44)를함께 도시한다. 여기서, 타깃 소프트웨어(44) 및 실행 프로그램(42)은 컴퓨터에서 실행 가능한 프로그램 코드로 이루어진다. 또한, 실행 프로그램(42)은 레이셔날 팀테스트가 제공하는 프로그램 언어 SQABasic을 이용하여 프로그래밍할 수 있다.
도 6을 참조하여, 함수 라이브러리 파일(40)에는 타깃 소프트웨어(44)의 오브젝트들을 실행하기 위한 명령어들이 함수로 일반화되어 기록된다.
오브젝트 관리부(46)에는 타깃 소프트웨어(44)의 오브젝트를 실행하기 위한 함수를 호출하는 키워드들과 함수 실행에 필요한 인자들이, 타깃 소프트웨어(44)를 테스트하고자 하는 순서에 따라, 순차적으로 데이터 베이스화되어 저장된다. 구체적으로, 오브젝트 관리부(46)는 사용자 인터페이스(46b) 및 오브젝트 데이터 베이스(46a)를 포함하여 구성된다.
사용자 인터페이스(46b)는 외부로부터 키워드들 및 인자값들을, 타깃 소프트웨어의 테스트 순서에 따라, 순차적으로 입력하도록 입력 창을 디스플레이한다. 즉, 타깃 소프트웨어를 테스트하고자 사람은 사용자 인터페이스(46b)가 표시하는 입력창을 통해 테스트 순서에 따른 키워드 및 인자값을 직접 입력할 수 있다. 사용자 인터페이스(46b)에 대한 설명은 도 7을 참조하여 상세히 설명될 것이다.
오브젝트 데이터 베이스(46a)는 사용자 인터페이스(46b)로부터 입력되는 키워드들 및 인자값들을 순차적으로 저장한다. 여기서, 오브젝트 데이터 베이스(46a)는 다음 표 1과 같이, 하나의 함수를 실행하는 데 필요한 키워드 및 인식값이 하나의 행에 배열되는 테이블 구조를 갖는다. 예를 들어, "버튼"은 함수를 호출하기 위한 키워드이고, "열기" 및 "취소"는 "버튼"에 의해 호출된 함수를 실행하기 위한인자값들이다. 또한, 그 다음 행의 "닫기"는 함수를 호출하기 위한 키워드이고, "메모장 정보"는 "닫기"에 의해 호출된 함수를 실행하기 위한 인자값이다. 이처럼, 오브젝트 데이터 베이스(46a)에는 함수를 호출하기 위한 키워드와 호출된 함수를 실행하기 위한 인자값이 하나의 행에 기록되는 테이블 구조를 갖는다.
버튼 열기 취소
닫기 메모장 정보
... ... ...
실행 프로그램(42)은 오브젝트 관리부(46)의 오브젝트 데이터 베이스(46a)로부터 행단위로 키워드 및 인자값을 순차적으로 읽어들여 실행하고자 하는 오브젝트를 인식하고, 인식된 오브젝트를 실행하기 위한 함수를 함수 라이브러리 파일로부터 호출하여 함수를 실행한다. 여기서, 함수의 실행은 컴퓨터상에서 타깃 소프트웨어(44)의 테스트 실행을 의미하며, 사용자는 컴퓨터를 통해 테스트 실행 상태를 관찰하며 테스트 실행 결과를 얻을 수 있다.
한편, 이상에서는 오브젝트 관리부(46)의 오브젝트 데이터 베이스(46a)는 테스트하고자 하는 사람이 사용자 인터페이스(46b)를 통해 키워드 및 함수값을 직접 입력함으로써 구축된다. 그러나, 도 6에 도시된 바와 같이 스크립트 분석부(48)를 통해 테스트 순서에 따른 키워드 및 인자값을 자동으로 오브젝트 데이터 베이스(46a)에 저장시킬 수 있다. 구체적으로, 타깃 소프트웨어를 테스트하고자 하는 순서대로 최초 테스트를 실행한다. 그러면, 종래 기술에서 설명된 바와 같이 테스트 스크립트들이 생성된다. 스크립트 분석부(48)는 이처럼 최초 테스트 실행시 생성된 스크립트들로부터 테스트 순서에 따른 키워드 및 인자값을 추출하고, 추출된 키워드 및 인자값을 오브젝트 데이터 베이스(46a)에 저장한다. 스크립트 분석부(48)의 동작에 대해 도 9 내지 도 10을 참조하여 상세히 설명될 것이다.
도 7은 사용자 인터페이스(46b)를 통해 오브젝트 데이터 베이스(46a)에 저장된 테스트 순서에 따른 키워드 및 인자값을 편집 할 수 있는 화면을 나타낸다. 도 7에 도시된 사용자 인터페이스(46b)는 테스트하고자 하는 사람이 직접 오브젝트 데이터 베이스(46a)를 구축하거나, 또는 타깃 소프트웨어의 프로그램 변경에 의해 키워드가 변경되는 경우 해당 키워드를 변경시킬 때 이용된다.
도 7을 참조하여, 테스트하고자 하는 사람은 사용자 인터페이스(46b)를 통해 "키워드"란에 "기동", "화면이동", "조회입력"....등의 키워드 및 인자값을 순차적으로 직접 입력한다. 그리고, 사용자 인터페이스(46b)는 입력된 키워드 및 인자값을 오브젝트 데이터 베이스(46b)에 테스트 순서에 따라 순차적으로 저장한다.
한편, 전술된 바와 같이 스크립트 분석부(48)를 이용하는 경우, 테스트 순서에 따른 각 키워드 및 인자값들이 자동으로 입력되어 오브젝트 데이터 베이스(46a)에 저장된다.
도 8은 본 발명에 따른 소프트웨어 테스트 방법의 다른 실시예를 나타내는 흐름도이다.
도 6 및 도 8을 참조하여, 먼저 테스트하고자 하는 타깃 소프트웨어(44)를 테스트하기에 앞서, 타깃 소프트웨어(44)의 오브젝트들을 실행하기 위한 다수의 명령어들을 함수로 일반화시켜 함수 라이브러리 파일(40, 도 4c 참조)을 생성한다. 이처럼, 함수 라이브러리 파일(40)을 생성한 후, 타깃 소프트웨어의 오브젝트를 나타내며 함수호출에 필요한 키워드와 호출된 함수의 실행을 위한 인자값을 타깃 소프트웨어를 테스트하고자 하는 테스트 순서에 따라 순차적으로 기록한 오브젝트 데이터 베이스(46a)를 생성한다(제62단계). 오브젝트 데이터 베이스(46a)를 생성하는 방법은 테스트하고자 하는 사람이 사용자 인터페이스(46b)를 통해 키워드 및 인자값을 직접 입력하여 생성하는 방법과, 스크립트 분석부(48)에 의해 자동 생성하는 방법이 있다.
제62단계에서 오브젝트 데이터 베이스(46a)가 구축되면, 실행 프로그램(42)은 오브젝트 데이터 베이스(46a)로부터 행단위로 키워드와 인자값을 순차적으로 인식한다(제64단계). 전술된 바와 같이, 실행 프로그램(42)은 오브젝트 데이터 베이스(46a)로부터 행단위로 "버튼", "열기", "취소"의 키워드와 인자값을 읽어들인다. 먼저, 실행 프로그램(42)은 키워드 "버튼"을 인식하여 함수 라이브러리 파일(40)로부터 "버튼"에 해당하는 함수가 존재하는가를 판단한다(제66단계).
제66단계에서, "버튼"에 대한 함수가 존재하면 "버튼"에 해당되는 함수를 함수 라이브러리 파일(40)로부터 호출한다(제68단계).
제68단계에서 연속되는 키워드 "열기" 및 "취소"를 함수 실행을 위한 인자들로서 호출된 함수에 대응시켜 호출된 함수를 실행한다(제70단계). 여기서, 함수의 실행은 전술된 바와 같이 컴퓨터상에서 타깃 소프트웨어의 테스트의 실행을 의미하며, 컴퓨터상에서 그 실행결과를 확인할 수 있다.
제70단계 후에, 실행 프로그램(42)은 오브젝트 데이터 베이스(46a)에 실행할키워드가 있는가를 판단하여, 실행되지 않은 키워드가 남아있으면 행단위의 키워드들을 읽어들여 함수 실행을 하며, 실행되지 않은 키워드가 없다면 테스트가 완료된 것으로 판단하고 테스트를 종료한다(제72단계).
도 9는 제62단계에서, 스크립트 분석부(48)에 의해 오브젝트 데이터 베이스를 자동으로 구축하는 방법을 나타내는 흐름도이다.
도 10(a)~도 10(e)는 도 9에 도시된 단계별로 오브젝트 데이터 베이스 생성과정을 보이는 도면들이다.
이제, 도 6, 도 9 및 도 10을 참조하여, 오브젝트 데이터 베이스 자동 구축방법을 상세히 설명한다.
스크립트 분석부(48)을 이용하여 오브젝트 데이터 베이스를 자동으로 구축하기 위해서는, 먼저 타깃 소프트웨어(44)를 테스트하고자 하는 순서에 따라 실행하여 테스트 실행 스크립트들을 생성한다. 도 10(a)에는 메모장에 대한 간단한 테스트를 실행한 결과 생성되는 테스트 실행 스크립트이다.
이처럼, 테스트 실행 스크립트가 생성되면 도 10(b)에 도시된 바와 같이, 테스트 실행 스크립트들의 모든 단어를 순차적으로 배열하여 저장한다(제100단계). 이 때, 테스트 실행 스크립트들의 각 단어들을 저장하고 있는 배열 각각에는 액세스할 수 있는 어드레스가 할당되어 있다.
제100단계 후에, 저장된 배열을 순차적으로 검색하여(제105단계) 기 정의된 함수를 특징짓는 신택스(syntax)가 존재하는가를 판단한다(제110단계). 예를 들어, 함수 라이브러리 파일(40)에 기 정의된 함수중에 다음과 같은 함수가 있다고 가정한다.
Function CancelBut(a,b)
Window SetContext, "Caption="+a+"", ""
PushButton Click, "Text="+b+""
End Function
위의 함수를 기동해서 테스트하기 위해서는 "CancelBut"이라는 함수를 호출할 수 있어야 하고, ""Caption=""과 ""Text="" 다음에는 각각 캡션값과 텍스트값이 있어야 한다. 이 때, 도 10(b)에 도시된 배열을 참조하면, "PushButton"이라는 단어 전후 일정한 거리에 필요한 캡션값과 텍스트값이 존재함을 알 수 있으며, 따라서, "PushButton"을 신택스 단어로 한다.
스크립트 분석부(48)는 도 10(b)에 도시된 배열을 순차적으로 검색하여 "PushButton"이라는 신택스 단어가 들어 있는지 비교한다. 예컨대, "PushButton"의 위치가 100번지라면 캡션값의 위치는 98번지이며 텍스트값은 102번지이며 그 값은 각각 "메모장"과 "아니오"가 될 것이다.
이 때, 실행 프로그램(42)에 정해진 대로 함수호출에 필요한 키워드 "버튼"을 부여하며, 함수 실행을 위한 인자값 "메모장" 및 "아니오"와 함께 도 10(c)에 도시된 바와 같이 하나의 행으로 새롭게 배열하여 저장하며,
계속해서, 윈도우의 닫기 기능을 수행하는 함수 ExitWin이 아래와 같이 정의 되어 있고 이것을 호출하는 키워드가 "닫기"라고 가정한다.
Function ExitWin(a)
Window SetContext,"Caption="+a+"", ""
Window CloseWin, "", ""
위의 함수를 기동해서 테스트하기 위해서는 "ExitWin"이라는 함수를 호출할 수 있어야 하고, ""Caption="" 다음에는 캡션값이 있어야 한다. 도 10(b)에 도시된 배열을 참조하면, "CloseWin"이라는 단어 전 일정한 거리에 필요한 캡션값이 존재함을 알 수 있다.
스크립트 분석부(48)는 도 10(b)에 도시된 배열을 순차적으로 검색하여 "CloseWin"이라는 단어가 들어 있는지 비교한다. 예컨대, "CloseWin"의 위치가 50번지라면 캡션값의 위치는 48번지이며 그 값은 "메모장 정보"가 될 것이다.
이 때, 실행 프로그램(42)에 정해진 대로 함수호출에 필요한 키워드 "닫기"를 부여하며, 함수 실행을 위한 인자값 "메모장 정보"와 함께 도 10(d)에 도시된 바와 같이 하나의 행으로 새롭게 배열하여 저장한다.
이상에서와 같이, 제100단계에서 저장된 배열에 기 정의된 함수를 특징짓는 신택스가 존재한다고 판단되면, 신택스에 해당되는 단어의 앞, 뒤 배열들을 탐색하여 소정 거리내에 위치하는 함수실행을 위한 인자값을 추출한다(제115단계).
제115단계 후에, 실행 프로그램(42)을 참조하여, 신택스에 해당되는 함수 호출을 위한 키워드를 부여하고, 신택스에 해당되는 단어의 어드레스 정보와 함께 키워드, 인자값을 행단위로 새롭게 배열하여 저장한다(제120단계).
한편, 도 10(d)를 참조하면, 키워드 "버튼"에 해당되는 신택스의 어드레스는 100이고, 키워드 "닫기"에 해당되는 신택스의 어드레스는 50이다. 만약, 이 순서대로 오브젝트 데이터 베이스(46a)에 저장을 한다면, 실행 프로그램(42)이 오브젝트 데이터 베이스(46a)를 참조하여 테스트 수행시 "버튼"에 대한 함수가 먼저 실행된 후 "닫기"에 대한 함수가 실행된다. 그러나, 원래의 테스트 순서는 "닫기"에 대한 함수 실행 후, "버튼"에 대한 함수가 실행되는 것이다. 따라서, 도 10(e)에 도시된 바와 같이, 신택스의 어드레스에 따라 그 순서를 다시 정렬한 후, 오브젝트 데이터 베이스(46a)에 저장한다(제125단계).
도 11은 본 발명의 일 실시예에 따른 소프트웨어 테스트 방법과 종래 기술에 따른 소프트웨어 테스트 방법을 적용하여 타깃 소프트웨어를 테스트한 결과 작업시간을 비교한 결과를 보이는 도면이다.
도 11을 참조하면, 타깃 소프트웨어를 테스트하고자하는 테스트항목이 작은 경우 종래 기술에 따른 소프트웨어 테스트 방법이 유리하다. 그 이유는 오브젝트 데이터 베이스를 구축하는 데 걸리는 시간 때문이다. 그러나, 테스트 항목이 많아질수록 종래에는 타깃 소프트웨어의 변경에 따른 스크립트 파일을 수정하는 데 걸리는 시간이 많아진다. 반면, 본 발명의 다른 실시예에 따르면 타깃 소프트웨어의 테스트 항목이 많아지더라도 테스트에 걸리는 시간은 크게 늘어나지 않음을 알 수 있다.
이상에서와 같이, 본 발명에 따른 소프트웨어 테스트 시스템 및 방법에 따르면, 관리대상이 되는 스크립트 파일이 없으므로, 타깃 소프트웨어의 변경에 따라 스크립트 파일을 고치는데 따르는 유지 및 보수 시간이 없다. 즉, 타깃 소프트웨어의 변경이 발생하여도 키워드가 변경되지 않았다면 오브젝트 파일을 변경할 필요없이 그대로 사용하면 된다. 따라서, 타깃 소프트웨어가 변경되어도 함수 라이브러리 파일, 실행 프로그램 또는 오브젝트 파일을 변경할 필요가 없으므로, 타깃 소프트웨어의 변경에 따른 유지 및 보수 공수가 발생되지 않는다.
또한, 타깃 소프트웨어에 중대한 변경이 발생하여 키워드가 변경되더라도 키워드를 기록한 오브젝트 파일을 고치는데 드는 공수만이 필요하며, 오브젝트 파일을 수정하는 데 드는 공수는 0.5시간 이내이다.
결국, 타깃 소프트웨어의 변경에 맞추어 테스트 시스템의 유지 및 보수작업은 0.5시간 이내에 이루어질 수 있다. 종래에는 스크립트수, 소프트웨어의 변경율, 프로젝트 규모등 많은 변수가 소프트웨어 테스트 시스템의 유지 및 보수에 드는 공수에 영향을 미친다. 그러나, 본 발명에 따른 소프트웨어 테스트 시스템은 타깃 소프트웨어에 중대한 설계 변경이 발생한 경우에만 유지 및 보수 공수가 들며, 이 때에도 오브젝트 파일을 수정하는 정도로 유지 및 보수는 매우 간단히 이루어진다. 또한, 본 발명에 따른 소프트웨어 테스트 시스템 및 방법을 다른 소프트웨어 및 제품 테스트에 적용시 함수 라이브러리 파일에서 일부 함수를 재정의하는 것만으로 쉽게 적용할 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
상술한 바와 같이, 본 발명에 따른 소프트웨어 테스트 시스템 및 방법은 타깃 소프트웨어의 변경에 따른 유지 및 보수가 매우 간단히 이루어지며, 다른 소프트웨어 및 제품 테스트에 적용시 함수 라이브러리 파일에서 일부 함수를 재정의하는 것만으로 쉽게 적용할 수 있다.

Claims (9)

  1. 컴퓨터상에서 실행되는 소프트웨어를 테스트하는 테스트 시스템에 있어서,
    상기 소프트웨어의 오브젝트들을 실행하기 위한 명령어들을 함수화하여 기록한 함수 라이브러리 파일;
    상기 소프트웨어의 각 오브젝트를 나타내는 키워드를 상기 소프트웨어를 테스트하고자 하는 순서에 따라 순차적으로 기록하며, 각 키워드들은 오브젝트 구분자에 의해 구분되는 오브젝트 파일; 및
    상기 오브젝트 파일로부터 키워드를 순차적으로 읽어들여 실행하고자 하는 오브젝트를 인식하고, 인식된 오브젝트를 실행하기 위한 함수를 함수 라이브러리 파일로부터 호출하여 실행하는 실행 프로그램을 포함하는 것을 특징으로 하는 소프트웨어 테스트 시스템.
  2. 컴퓨터상에서 실행되며, 테스트하고자 하는 타깃 소프트웨어의 명령어를 함수로 일반화시킨 함수 라이브러리 파일을 구비하는 소프트웨어 테스트 시스템에서 상기 타깃 소프트웨어를 테스트하는 방법에 있어서,
    (a)상기 타깃 소프트웨어의 각 오브젝트를 나타내는 키워드를 상기 소프트웨어를 테스트하고자 하는 순서에 따라 순차적으로 기록하며, 각 키워드들은 오브젝트 구분자에 의해 구분되는 오브젝트 파일을 생성하는 단계;
    (b)상기 오브젝트 파일에 기록된 키워드들을 하나씩 순차적으로 읽어들이고, 읽어들인 키워드에 해당하는 오브젝트를 실행하기 위한 함수를 상기 함수 라이브러리 파일로부터 호출하는 단계;
    (c)상기 (b)단계에서 호출된 함수의 실행에 필요한 소정 개수의 함수 인자들로서 상기 (a)단계에서 읽어들인 키워드 다음에 연속하는 키워드들을 읽어들여, 상기 (b)단계에서 호출된 함수를 실행하는 단계; 및
    (d)상기 오브젝트 파일에 실행되지 않은 키워드가 있으면 상기 (b)단계로 진행하여 테스트를 계속 진행하고, 없으면 테스트를 종료하는 단계로 이루어지는 것을 특징으로 하는 소프트웨어 테스트 방법.
  3. 컴퓨터상에서 실행되며, 테스트하고자 하는 타깃 소프트웨어의 명령어를 함수로 일반화시킨 함수 라이브러리 파일 및 상기 타깃 소프트웨어의 각 오브젝트를 나타내는 키워드를 상기 소프트웨어를 테스트하고자 하는 순서에 따라 순차적으로기록하며, 각 키워드들은 오브젝트 구분자에 의해 구분되는 오브젝트 파일을 구비하는 소프트웨어 테스트 시스템에서 상기 타깃 소프트웨어를 테스트하는 프로그램을 기록한 기록 매체에 있어서,
    (a)상기 오브젝트 파일에 기록된 키워드들을 하나씩 순차적으로 읽어들이고, 읽어들인 키워드에 해당하는 오브젝트를 실행하기 위한 함수를 상기 함수 라이브러리 파일로부터 호출하는 단계;
    (b)상기 (a)단계에서 호출된 함수의 실행에 필요한 소정 개수의 함수 인자들로서 상기 (a)단계에서 읽어들인 키워드 다음에 연속하는 키워드들을 읽어들여, 상기 (a)단계에서 호출된 함수를 실행하는 단계; 및
    (c)상기 오브젝트 파일에 실행되지 않은 키워드가 있으면 상기 (a)단계로 진행하여 테스트를 계속 진행하고, 없으면 테스트를 종료하는 단계로 이루어지는 것을 특징으로 하는 소프트웨어 테스트 프로그램을 컴퓨터에서 실행 가능한 프로그램코드로 기록한 기록 매체.
  4. 컴퓨터상에서 실행되는 소프트웨어를 테스트하는 테스트 시스템에 있어서,
    상기 소프트웨어의 오브젝트들을 실행하기 위한 명령어들을 함수화하여 기록한 함수 라이브러리 파일;
    상기 소프트웨어를 테스트하고자 하는 순서에 따라 순차적으로 입력되는 상기 소프트웨어의 각 오브젝트에 해당되는 키워드들과 함수 호출에 필요한 인자값들을 저장하는 오브젝트 관리부; 및
    상기 오브젝트 데이터 베이스를 참조하여 키워드들과 인자값들을 순차적으로 읽어들이고, 키워드에 해당하는 오브젝트를 실행하기 위해 인자값에 대응되는 함수를 함수 라이브러리 파일로부터 호출하여 실행하는 실행 프로그램을 포함하는 것을 특징으로 하는 소프트웨어 테스트 시스템.
  5. 제4항에 있어서, 상기 오브젝트 관리부는
    외부로부터 상기 키워드들 및 상기 인자값들을 순차적으로 입력하도록 입력 창을 디스플레이하는 사용자 인터페이스; 및
    상기 사용자 인터페이스로부터 입력되는 키워드들 및 인자값들을 순차적으로 저장하는 오브젝트 데이터 베이스를 포함하는 것을 특징으로 하는 소프트웨어 자동 테스트 시스템.
  6. 컴퓨터상에서 실행되는 소프트웨어를 테스트하는 테스트 시스템에 있어서,
    상기 소프트웨어의 오브젝트들을 실행하기 위한 명령어들을 함수화하여 기록한 함수 라이브러리 파일;
    최초 테스트 실행시 생성된 스크립트들로부터 테스트 순서에 따른 키워드 및 인자값을 추출하는 함수 분석 및 추출부;
    상기 함수 분석 및 추출부로부터 추출되어 순차적으로 입력되는 상기 소프트웨어의 각 오브젝트에 해당되는 키워드들과 함수 호출에 필요한 인자값들을 저장하는 오브젝트 관리부; 및
    상기 오브젝트 데이터 베이스를 참조하여 키워드들과 인자값들을 순차적으로 읽어들이고, 키워드에 해당하는 오브젝트를 실행하기 위해 인자값에 대응되는 함수를 함수 라이브러리 파일로부터 호출하여 실행하는 실행 프로그램을 포함하는 것을 특징으로 하는 소프트웨어 테스트 시스템.
  7. 컴퓨터상에서 실행되며, 테스트하고자 하는 타깃 소프트웨어의 명령어를 함수로 일반화시킨 함수 라이브러리 파일을 구비하는 소프트웨어 테스트 시스템에서 상기 타깃 소프트웨어를 테스트하는 방법에 있어서,
    (a)상기 타깃 소프트웨어의 각 오브젝트를 나타내는 키워드와 상기 함수 라이브러리 파일로부터 함수 호출을 위한 인자값을 추출하고, 추출된 키워드 및 인자값을 테스트 순서에 따라 저장하여 오브젝트 데이터베이스를 구축하는 단계;
    (b)상기 오브젝트 데이터 베이스로부터 키워드 및 인자값을 순차적으로 읽어들이고, 읽어들인 키워드에 해당하는 오브젝트를 실행하기 위해 인자값에 대응되는 함수를 상기 함수 라이브러리 파일로부터 호출하는 단계;
    (c)상기 (b)단계에서 호출된 함수의 실행에 필요한 소정 개수의 함수 인자들을 상기 오브젝트 데이터 베이스로부터 연속적으로 읽어들여 호출된 함수를 실행하는 단계; 및
    (d)상기 오브젝트 데이터 베이스에 실행되지 않은 키워드가 있으면 상기 (b)단계로 진행하여 테스트를 계속 진행하고, 없으면 테스트를 종료하는 단계로 이루어지는 것을 특징으로 하는 소프트웨어 테스트 방법.
  8. 제7항에 있어서, 상기 (a)단계는
    (a1)상기 타깃 소프트웨어를 테스트하고자 하는 순서에 따라 실행하여 테스트 실행 스크립트들을 생성하는 단계;
    (a2)생성된 테스트 실행 스크립트들의 모든 단어를 배열하여 저장하고, 각 배열에 액세스 가능한 어드레스를 부여하는 단계;
    (a3)상기 (a2)단계에서 저장된 배열을 순차적으로 검색하여 기 정의된 함수를 특징짓는 신택스가 존재하는가를 판단하여, 신택스가 존재하지 않으면 종료하는 단계;
    (a4)상기 (a3)단계에서 신택스에 해당되는 단어가 존재하면 그 단어의 앞, 뒤 배열들을 탐색하여 상기 추출된 키워드와 소정 거리내에 위치하는 인자값을 추출하고, 해당 함수의 호출에 필요한 키워드를 부여하는 단계;
    (a5)상기 키워드, 인자값 및 상기 신택스에 해당되는 단어의 어드레스와 함께 행단위로 임시 저장하는 단계;
    (a6)상기 (a5)단계에서 저장된 행단위의 키워드 및 인자값을 상기 신택스 단어의 어드레스에 따라 정렬하는 단계; 및
    (a6)상기 (a5)단계에서 정렬된 순서로 오브젝트 데이터 베이스에 저장하는 단계로 이루어지는 것을 특징으로 하는 소프트웨어 테스트 방법.
  9. 컴퓨터상에서 실행되며, 테스트하고자 하는 타깃 소프트웨어의 명령어를 함수로 일반화시킨 함수 라이브러리 파일과, 상기 타깃 소프트웨어를 테스트하고자 하는 순서에 따른 키워드 및 인자값을 행단위로 저장하고 있는 오브젝트 데이터 베이스를 구비하는 소프트웨어 테스트 시스템에서 상기 오브젝트 데이터 베이스를 자동으로 구축하는 프로그램을 기록한 기록 매체에 있어서,
    (a1)상기 타깃 소프트웨어를 테스트하고자 하는 순서에 따라 실행하여 테스트 실행 스크립트들을 생성하는 단계;
    (a2)생성된 테스트 실행 스크립트들의 모든 단어를 배열하여 저장하고, 각 배열에 액세스 가능한 어드레스를 부여하는 단계;
    (a3)상기 (a2)단계에서 저장된 배열을 순차적으로 검색하여 기 정의된 함수를 특징짓는 신택스가 존재하는가를 판단하여, 신택스가 존재하지 않으면 종료하는 단계;
    (a4)상기 (a3)단계에서 신택스에 해당되는 단어가 존재하면 그 단어의 앞, 뒤 배열들을 탐색하여 상기 추출된 키워드와 소정 거리내에 위치하는 인자값을 추출하고, 해당 함수의 호출에 필요한 키워드를 부여하는 단계;
    (a5)상기 키워드, 인자값 및 상기 신택스에 해당되는 단어의 어드레스와 함께 행단위로 임시 저장하는 단계;
    (a6)상기 (a5)단계에서 저장된 행단위의 키워드 및 인자값을 상기 신택스 단어의 어드레스에 따라 정렬하는 단계; 및
    (a6)상기 (a5)단계에서 정렬된 순서로 오브젝트 데이터 베이스에 저장하는 단계로 이루어지는 것을 특징으로 하는 오브젝트 데이터 베이스 자동 구축 프로그램을 컴퓨터에서 실행 가능한 프로그램 코드로 기록한 기록 매체.
KR10-2000-0051651A 2000-05-09 2000-09-01 소프트웨어 테스트 시스템 및 그 방법 KR100369252B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/851,405 US20020032538A1 (en) 2000-05-09 2001-05-08 Software test system and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020000024608 2000-05-09
KR20000024608 2000-05-09

Publications (2)

Publication Number Publication Date
KR20010103547A KR20010103547A (ko) 2001-11-23
KR100369252B1 true KR100369252B1 (ko) 2003-01-24

Family

ID=45811641

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0051651A KR100369252B1 (ko) 2000-05-09 2000-09-01 소프트웨어 테스트 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR100369252B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101106595B1 (ko) * 2010-07-29 2012-01-20 강원대학교산학협력단 소프트웨어 테스트의 자동화 장치 및 그 방법
US8315748B2 (en) 2010-01-07 2012-11-20 Korea Aerospace Research Institute Altitude measurement apparatus and method
WO2013089340A1 (ko) * 2011-12-16 2013-06-20 주식회사 안랩 어플리케이션의 유사성 검출 장치 및 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100433549B1 (ko) * 2002-05-11 2004-05-31 삼성전자주식회사 소프트웨어 분석 방법 및 장치
KR100872964B1 (ko) * 2007-05-23 2008-12-08 에스케이 텔레콤주식회사 스크립트의 재사용이 가능한 시험 자동화 시스템 및 방법
KR101038397B1 (ko) * 2009-06-19 2011-06-01 강원대학교산학협력단 로봇 소프트웨어 화이트 박스 테스트를 위한 테스트 교호강도 결정 방법 및 자동화 테스트 시스템
KR102344497B1 (ko) * 2020-09-11 2021-12-28 국방과학연구소 소프트웨어 오염 분석 방법 및 이를 이용하는 소프트웨어 오염 분석 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09223042A (ja) * 1996-02-16 1997-08-26 Nippon Steel Corp ソフトウェアのシステムテスト装置
US5708774A (en) * 1996-07-23 1998-01-13 International Business Machines Corporation Automated testing of software application interfaces, object methods and commands
US5751941A (en) * 1996-04-04 1998-05-12 Hewlett-Packard Company Object oriented framework for testing software
KR19990065780A (ko) * 1998-01-16 1999-08-05 구본준 소프트웨어 테스트 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09223042A (ja) * 1996-02-16 1997-08-26 Nippon Steel Corp ソフトウェアのシステムテスト装置
US5751941A (en) * 1996-04-04 1998-05-12 Hewlett-Packard Company Object oriented framework for testing software
US5708774A (en) * 1996-07-23 1998-01-13 International Business Machines Corporation Automated testing of software application interfaces, object methods and commands
KR19990065780A (ko) * 1998-01-16 1999-08-05 구본준 소프트웨어 테스트 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8315748B2 (en) 2010-01-07 2012-11-20 Korea Aerospace Research Institute Altitude measurement apparatus and method
KR101106595B1 (ko) * 2010-07-29 2012-01-20 강원대학교산학협력단 소프트웨어 테스트의 자동화 장치 및 그 방법
WO2013089340A1 (ko) * 2011-12-16 2013-06-20 주식회사 안랩 어플리케이션의 유사성 검출 장치 및 방법

Also Published As

Publication number Publication date
KR20010103547A (ko) 2001-11-23

Similar Documents

Publication Publication Date Title
CA2483287C (en) Automated software testing system and method
US8402434B2 (en) Graphical user interface (GUI) script generation and documentation
US7269580B2 (en) Application integration system and method using intelligent agents for integrating information access over extended networks
US6360332B1 (en) Software system and methods for testing the functionality of a transactional server
US7107182B2 (en) Program and process for generating data used in software function test
US20080320462A1 (en) Semi-automated update of application test scripts
US7661053B2 (en) Methods and apparatus for patternizing device responses
JPH02272645A (ja) プログラム・デバツグ支援方法
US8108829B2 (en) Method for automating variables in end-user programming system
US11436133B2 (en) Comparable user interface object identifications
WO2017023299A1 (en) Composing future tests
US20020032538A1 (en) Software test system and method
KR100369252B1 (ko) 소프트웨어 테스트 시스템 및 그 방법
JPH11265368A (ja) 作業手順管理システム
JPH10149301A (ja) スクリプト作成装置
CN110738384B (zh) 事件序列的校验方法及系统
CN112069080A (zh) 一种自动化可执行的脚本测试方法及系统
JPH06110733A (ja) プログラムのテストケース生成装置
JPH0926897A (ja) プログラム解析装置及びプログラム解析方法
Rahman et al. Pattern analysis of TXL programs
CN115587036A (zh) 一种测试系统和测试用例的生成方法
JPH0991173A (ja) プログラムの実行履歴表示方法
CN115268907A (zh) 一种使用json数据生成软件系统控件交互逻辑的方法
JP2000181691A (ja) プログラム構造解析方式
CN114356301A (zh) 基于Eclipse插件的编程任务上下文自动构建方法及系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130102

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20151228

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20171213

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 17

FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 18