KR100855552B1 - 테스트 스펙 자동생성장치 및 그 자동생성방법과자동생성방법을 저장하는 기록매체 - Google Patents

테스트 스펙 자동생성장치 및 그 자동생성방법과자동생성방법을 저장하는 기록매체 Download PDF

Info

Publication number
KR100855552B1
KR100855552B1 KR1020070010641A KR20070010641A KR100855552B1 KR 100855552 B1 KR100855552 B1 KR 100855552B1 KR 1020070010641 A KR1020070010641 A KR 1020070010641A KR 20070010641 A KR20070010641 A KR 20070010641A KR 100855552 B1 KR100855552 B1 KR 100855552B1
Authority
KR
South Korea
Prior art keywords
node
branch
branch node
storage unit
storing
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020070010641A
Other languages
English (en)
Other versions
KR20080072207A (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 KR1020070010641A priority Critical patent/KR100855552B1/ko
Publication of KR20080072207A publication Critical patent/KR20080072207A/ko
Application granted granted Critical
Publication of KR100855552B1 publication Critical patent/KR100855552B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3696Methods or tools to render software testable

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

테스트 스펙 자동생성장치 및 그 자동생성방법과 자동생성방법을 저장하는 기록매체{TEST SPEC AUTOMATIC PRODUCING APPARATUS AND AUTOMATIC PRODUCING METHOD THEREOF AND STORAGE THEREFOR}
도 1은 본 발명의 일실시예에 따른 테스트 스펙 자동생성장치의 블록도이다.
도 2는 소프트웨어 프로그램의 흐름도의 일예이다.
도 3은 본 발명의 일실시예에 따른 테스트 스펙 자동생성장치가 출력한 테스트 스펙의 일예이다.
도 4와 도 5는 본 발명의 일실시예에 따른 테스트 스펙 자동생성장치의 자동생성방법의 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
10 : 입력부 20 : 출력부
30 : 제어부 100 : 테스트 스펙 자동생성장치
본 발명은 소프트웨어 프로그램의 테스트 스펙 자동생성장치 및 그 자동생성방법과 테스트 스펙 자동생성방법을 저장하는 기록매체에 관한 것으로서, 보다 상 세하게는 소프트웨어 프로그램의 흐름도로부터 선형독립경로를 추출하고 추출된 선형독립경로에 기초하여 테스트 스펙을 자동으로 생성하는 테스트 스펙 자동생성장치 및 그 테스트 스펙 자동생성방법과 테스트 스펙 자동생성방법을 저장하는 기록매체에 관한 것이다.
테스터(Tester)는 개발자가 작성한 소프트웨어 프로그램에 기초하여 작성된 흐름도에 기초하여 소프트웨어 프로그램의 에러와 선형독립경로를 파악하고, 선형독립경로에 기초하여 소프트웨어 프로그램의 정상 여부를 파악할 수 있는 테스트 스펙을 작성하여야 한다.
이와 같은 일련의 작업은 테스터에 의해 수기로 작성되고, 복잡한 루틴을 테스터의 능력에만 의존한다. 이것은 테스터의 건강 상태, 주변 환경 조건, 스트레스 상태 등 여러 가지 변수에 의해 휴먼 에러(Human Error)를 발생시킬 수 있다. 또한 이와 같은 인력 투자는 인건비 등의 비용 손실이 발생되고, 인력 투자에 비해 만족할 만한 결과를 얻을 수 있다는 보장을 할 수 없다.
종래의 소프트웨어 프로그램에 대한 테스트 스펙 생성방법은 소프트웨어 프로그램의 흐름도 작성에서부터 소프트웨어 프로그램에 대한 선형독립경로의 생성 여부 검증, 소프트웨어 프로그램에 대한 모든 선형독립경로의 추출, 추출된 선형독립경로로부터 테스트 절차 스펙을 작성하는 모든 과정이 테스터에 의해 수기로 작성해야만 하는 단점이 있다. 이와 같은 단점은 과도한 인력을 투자해야 하며, 인력 투자에 인한 비용 손실과, 인력과 비용을 투자에 비해 결과물에 대한 완성도 및 만족도를 충족해 줄 수 있다는 보장할 수 없는 문제점을 가지고 있다.
따라서, 본 발명은 전술한 문제점을 해결하기 위한 것으로서, 소프트웨어 프로그램의 흐름도로부터 테스트 절차 스펙 작성까지 자동으로 출력할 수 있도록 하는 테스트 스펙 자동생성장치와 그 자동생성방법 및 자동생성방법을 저장하는 기록매체를 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해서, 본 발명은 적어도 하나의 실행 노드(Node)와, 적어도 하나의 분기 노드와 상기 분기 노드가 갖는 복수의 출력 링크(Link) 중 선택된 출력 링크에 대응하는 노드로 구성된 선형독립경로(Linearly Independent Path)를 포함하는 소프트웨어 프로그램의 테스트 스펙(Test Spec) 자동생성장치에 있어서, 소프트웨어 프로그램에 대한 흐름도를 입력받는 흐름도 입력부와, 출력부와, 입력부를 통해 입력된 흐름도로부터 적어도 하나의 선형독립경로를 결정하고 결정된 선형독립경로의 실행 노드 및 분기 노드에 기초하여 선형독립경로에 대한 테스트 절차를 작성하여 출력부로 출력하는 제어부를 포함하는 것을 특징으로 한다.
제어부는 입력부를 통해 입력된 흐름도가 선형독립경로가 생성될 수 있는지 여부를 검증하고, 만일 선형독립경로를 생성할 수 없다면 출력부를 통해 경보를 출력하는 것을 특징으로 한다.
본 발명에 따른 테스트 스펙 자동생성장치는 선형독립경로에 대한 실행 노드와 분기 노드를 저장하는 노드저장부를 더 포함하고, 제어부는 선형독립경로를 결 정하는 과정에서 노드저장부에 분기 노드가 저장되어 있으면, 분기 노드의 출력 링크 중 하나의 출력링크가 기 결정된 선형독립경로를 위해 사용된 것으로 판단하고 분기 노드의 다른 출력 링크를 선택하는 것을 특징으로 한다.
본 발명에 따른 테스트 스펙 자동생성장치는 분기 노드를 후입선출(LIPO) 방식으로 저장하는 분기 노드 저장부를 더 포함하고, 제어부는 분기 노드 저장부에 저장된 분기 노드의 개수에 대응하여 선형독립경로를 생성하는 것을 특징으로 한다.
출력부는 디스플레이 모듈과 오디오 모듈 또는 프린팅 모듈 중 적어도 어느 하나를 포함하는 것을 특징으로 한다.
본 발명에 따른 상기 목적은, 적어도 하나의 실행 노드와, 적어도 하나의 분기 노드와 상기 분기 노드가 갖는 복수의 출력 링크 중 선택된 출력 링크에 대응하는 노드로 구성된 선형독립경로를 포함하는 소프트웨어 프로그램의 테스트 스펙 자동생성장치의 테스트 스펙 자동생성방법에 있어서, (a) 소프트웨어 프로그램에 대한 흐름도를 입력하는 단계와, (b) 입력도 흐름도로부터 적어도 하나의 선형독립경로를 결정하고 결정된 선형독립경로의 실행 노드 및 분기 노드에 기초하여 선형독립경로에 대한 테스트 절차를 작성하는 단계와, (c) 작성된 테스트 절차를 출력하는 단계를 포함하는 것을 특징으로 하는 테스트 스펙 자동생성장치의 테스트 스펙 자동생성방법에 의해서도 달성된다.
본 발명에 따른 테스트 스펙 자동생성장치는 실행 노드와 분기 노드를 저장하는 노드저장부와, 후입선출 방식으로 분기 노드를 저장하는 분기 노드 저장부와 경로저장부를 포함하고, 단계(b)에서 하나의 선형독립경로를 결정하는 방법은, (b-1) 흐름도의 "시작" 실행 노드에 진입하는 단계와, 다음 노드로 진입하는 단계와, (b-3) 다음 노드가 분기 노드인지 확인하는 단계와, (b-4) 분기 노드이면, 분기 노드가 노드저장부에 저장되어 있는지 확인하는 단계와, (b-5) 분기 노드가 노드저장부에 저장되어 있지 않으면, 분기 노드를 분기 노드 저장부에 저장하는 단계와, (b-6) 분기 노드를 노드저장부에 저장하는 단계와, (b-7) 분기 노드의 제1출력링크를 선택하고 선택된 제1출력링크를 노드저장부에 저장하는 단계와, (b-8) 단계(b-4)에서 분기 노드가 노드저장부에 저장되어 있으면, 분기노드의 제2출력링크를 선택하고 선택된 제1출력링크를 노드저장부에 저장하는 단계와, (b-9) 단계(b-3)에서 다음 노드가 분기 노드가 아니면, 다음 노드가 "종료" 실행 노드인지 확인하는 단계와, (b-10) 다음 노드가 "종료"실행 노드가 아니면, 실행 노드를 상기 노드저장부에 저장하는 단계와, (b-11) 다음 노드가 "종료" 실행 노드이면, 분기 노드 저장부에 분기 노드가 존재하는지 확인하는 단계와, (b-12) 분기 노드가 분기 노드 저장부에 존재하면 노드저장부로부터 분기 노드를 가져오는 단계와, (b-13) "종료" 실행 노드를 가져온 분기 노드로 설정하는 단계와, (b-14) "시작" 실행 노드에서 분기 노드까지를 경로저장부에 저장하는 단계와, (b-15) 분기 노드 저장부로부터 가져온 분기 노드의 제2출력링크를 노드저장부에 저장하는 단계를 포함하는 것을 특징으로 한다.
또한 본 발명에 따른 상기 목적은, 컴퓨팅 장치가 읽을 수 있는 프로그램으로서, 적어도 하나의 실행 노드와, 적어도 하나의 분기 노드와 분기 노드가 갖는 복수의 출력 링크 중 선택된 출력 링크에 대응하는 노드로 구성된 선형독립경로를 포함하는 소프트웨어 프로그램의 테스트 스펙 자동생성장치의 테스트 스펙 자동생성방법을 수행하는 프로그램을 기록하는 기록매체에 있어서, 테스트 스펙 자동생성방법은, (a) 소프트웨어 프로그램에 대한 흐름도를 입력하는 단계와, (b) 입력도 흐름도로부터 적어도 하나의 선형독립경로를 결정하고 결정된 선형독립경로의 실행 노드 및 분기 노드에 기초하여 선형독립경로에 대한 테스트 절차를 작성하는 단계와, (c) 작성된 테스트 절차를 출력하는 단계를 포함하는 것을 특징으로 하는 테스트 스펙 자동생성장치의 테스트 스펙 자동생성방법을 수행하는 프로그램을 기록하는 기록매체에 의해서도 달성된다.
여기서, 본 발명에 따른 테스트 스펙 자동생성장치의 테스트 스펙 자동생성방법은 실행 노드와 분기 노드를 저장하는 노드저장부와, 후입선출 방식으로 분기 노드를 저장하는 분기 노드 저장부와 경로저장부를 포함하고, 단계(b)에서 하나의 선형독립경로를 결정하는 방법은, (b-1) 흐름도의 "시작" 실행 노드에 진입하는 단계와, (b-2) 다음 노드로 진입하는 단계와, (b-3) 다음 노드가 분기 노드인지 확인하는 단계와, (b-4) 분기 노드이면, 분기 노드가 노드저장부에 저장되어 있는지 확인하는 단계와, (b-5) 분기 노드가 노드저장부에 저장되어 있지 않으면, 분기 노드를 분기 노드 저장부에 저장하는 단계와, (b-6) 분기 노드를 노드저장부에 저장하는 단계와, (b-7) 분기 노드의 제1출력링크를 선택하고 선택된 제1출력링크를 노드저장부에 저장하는 단계와, (b-8) 단계(b-4)에서 분기 노드가 노드저장부에 저장되어 있으면, 분기노드의 제2출력링크를 선택하고 선택된 제1출력링크를 노드저장부에 저장하는 단계와, (b-9) 단계(b-3)에서 다음 노드가 분기 노드가 아니면, 다 음 노드가 "종료" 실행 노드인지 확인하는 단계와, (b-10) 다음 노드가 "종료"실행 노드가 아니면, 실행 노드를 상기 노드저장부에 저장하는 단계와, (b-11) 다음 노드가 "종료" 실행 노드이면, 분기 노드 저장부에 분기 노드가 존재하는지 확인하는 단계와, (b-12) 분기 노드가 분기 노드 저장부에 존재하면 노드저장부로부터 분기 노드를 가져오는 단계와, (b-13) "종료" 실행 노드를 가져온 분기 노드로 설정하는 단계와, (b-14) "시작" 실행 노드에서 분기 노드까지를 경로저장부에 저장하는 단계와, (b-15) 분기 노드 저장부로부터 가져온 분기 노드의 제2출력링크를 노드저장부에 저장하는 단계를 포함하는 것을 특징으로 한다.
도 1은 본 발명의 일실시예에 따른 테스트 스펙 자동생성장치의 블록도이다.
도 1에 도시한 바와 같이, 본 발명에 따른 테스트 스펙 자동생성장치(100)는 입력부(10)와 출력부(20)와 노드저장부(30)와 분기 노드 저장부(40)와 경로저장부(50)와 이들을 제어하는 제어부(60)를 포함한다.
그리고 본 발명에 따른 테스트 스펙 자동생성장치(100)는 실행 노드와 분기 노드를 저장하는 노드저장부(30)와, 분기 노드를 저장하는 분기 노드 저장부(40) 및 선형독립경로를 저장하는 경로저장부(50)를 더 포함한다.
여기서 노드저장부(30)와 분기 노드 저장부(40)와 경로저장부(50)는 별도의 저장매체로 마련될 수 있으며, 하나의 저장매체에 저장될 수 있다.
입력부(10)는 개발자에 의해 개발된 소프트웨어 프로그램에 기초하여 작성된 흐름도를 입력하는 입력부이다. 여기서 입력부는 소프트웨어 프로그램을 검사하는 테스터(Tester)에 의해 흐름도의 각 스텝(Steps)들을 소정의 툴(Tool) 프로그램을 이용하여 입력부를 통해 입력하는 것이다. 여기서 툴 프로그램은 볼랜드사에서 제작된 투게더(Together)가 일예이다.
출력부(20)는 모니터와 같은 디스플레이모듈, 스피커와 같은 오디오 모듈, 프린터와 같은 프린팅 모듈을 포함하며, 테스터에게 경보를 알리기 위한 어떠한 모듈 내지 장치로 포함할 수 있다. 여기서 디스플레이모듈은 소프트웨어 프로그램으로부터 선형독립경로가 추출될 수 없음이 결정된 경우, 이러한 사실을 테스터가 알수 있도록 소정의 문자 등을 통해 알려줄 수 있다. 또한 오디오 모듈은 경보음을 출력함으로써 테스터에게 현재 테스트 스펙 자동생성장치의 상태를 알릴 수 있다. 프린팅 모듈은 생성된 선형독립경로에 기초하여 테스트 절차를 문서에 표시하여 출력한다.
제어부(60)는 입력부(10)를 통해 입력된 소프트웨어 프로그램의 흐름도로부터 선형독립경로를 추출할 수 있을지 여부를 결정한다.
제어부(60)는 소프트웨어 프로그램의 흐름도에서 두개 이상의 출력을 가진 실행 노드가 있는지와, 흐름도에서 출력 링크가 두개인 분기 노드가 있는지를 검사한다. 그리고 제어부(60)는 흐름도에서 (링크의 수 - 노드의 수 + 2) = (분기 노드의 수) + 1 이 만족하는지 검사한다. 제어부(60)는 위의 세가지 조건이 모두 만족되는 경우 소프트웨어 프로그램의 흐름도로부터 선형독립경로를 검출할 수 있는 것으로 판단한다.
제어부(60)는 위의 세가지 조건이 만족되지 않으면, 소프트웨어 프로그램의 흐름도로부터 선형독립경로를 추출할 수 없음을 알리는 메시지 또는 경보음을 출력 부(20)를 통해 출력한다. 또한 제어부(60)는 흐름도 중 잘못된 실행 노드 또는 분기 노드를 출력부를 통해 출력한다.
제어부(60)는 소프트웨어 프로그램의 흐름도가 정상이면 선형독립경로를 추출한다.
제어부(60)가 소프트웨어 프로그램의 흐름도가 정상이면 선형독립경로를 추출하는 방법은 도 2를 일예로 상세히 설명한다.
도 2는 개발자가 작성한 소프트웨어 프로그램에 기초하여 작성된 흐름도이다.
제어부(60)는 흐름도에서 "시작" 실행 모드에 진입하면 다음 노드로 진입한다. 제어부(60)는 다음 노드가 실행 노드인지 분기 노드인지 확인한다. 다음 노드가 실행 노드1이다. 제어부(60)는 실행 노드1이 노드저장부에 저장되어 있는지 확인하고, 저장되어 있지 않으면 실행 노드1을 노드저장부(30)에 저장하고 다음 노드로 진입한다. 제어부(60)는 다음 노드가 분기 노드인지 확인한다. 다음 노드는 분기 노드1이다. 제어부(60)는 분기 노드1이 노드저장부에 저장되어 있는지 확인한다. 만일 분기 노드1이 노드저장부에 저장되어 있지 않으면 분기 노드1을 분기 노드 저장부(40)에 저장한다. 그리고 제어부(60)는 분기 노드1을 노드저장부(30)에 저장한다. 제어부(60)는 분기 노드1의 제1출력링크를 선택하고 선택된 제1출력링크를 노드저장부(30)에 저장하고 다음 노드로 진입한다. 제어부(60)는 제1출력링크에 연결된 다음 노드가 실행 노드인지 분기 노드인지 확인한다. 다음 노드가 분기 노드(분기 노드 2)이면 제어부(60)는 분기 노드2가 노드저장부(30)에 저장되어 있는지 확인한다. 분기 노드2가 노드저장부(30)에 저장되어 있지 않으면, 제어부(60)는 분기 노드2를 분기 노드 저장부(40)에 저장하고, 또한 분기 노드2를 노드저장부(30)에 저장한다. 제어부(60)는 분기 노드2의 제1출력링크를 선택하고, 선택된 분기 노드2의 제1출력링크를 노드저장부(30)에 저장한다. 제어부(60)는 분기 노드2의 제1출력링크에 연결된 다음 노드로 진입한다. 제어부(60)는 다음 노드가 분기 노드인지 실행 노드인지 파악한다. 도 2에서 분기 노드2의 제1출력링크에 연결된 다음 노드는 실행 노드2이다. 제어부(60)는 실행 노드2가 노드저장부(30)에 저장되어 있는지 확인하고 저장되어 있지 않으면 실행 노드2를 노드저장부(30)에 저장한다. 제어부(60)는 실행 노드2의 다음 노드로 진입한다. 도 2에서 실행 노드2의 다음 노드는 "종료" 실행 노드이다. 제어부(60)는 "종료"실행 노드에 진입하면, 분기 노드 저장부(40)에 분기 노드가 저장되어 있는지 확인하고 저장되어 있다면, 후입선출 방식에 의해 분기 노드2를 읽어와 "종료" 실행 노드로 설정한다. 제어부(60)는 "시작" 실행 모드에서부터 실행 노드2까지의 경로를 경로저장부(50)에 저장한다.
제어부(60)는 경로저장부(50)에 저장된 "시작" 실행 노드에서부터 실행 노드2까지의 경로에 기초하여 테스트 스펙을 작성하여 출력부(20)로 출력한다.
도 3은 본 발명의 일실시예인 테스트 스펙 자동생성장치에 의해 출력된 테스트 스펙의 일예이다. 도 3에 도시된 바와 같이, 제어부(60)는 4개의 선형독립경로를 추출하였고, 각 선형독립경로에 의해 테스트 스펙을 출력하였다.
본 실시예의 제어부(60)는 하드웨어 및 소프트웨어에 의해 구현될 수 있다. 하드웨어로서, 제어부(60)는 소프트웨어인 컴퓨터프로그램이 저장되는 비휘발성메모리(도시 안됨)와, 비휘발성메모리에 저장된 컴퓨터프로그램이 로딩되는 RAM(도시 안됨)과, RAM에 로딩된 컴퓨터프로그램을 실행하는 프로세서(도시 안됨)를 포함할 수 있다. 비휘발성메모리는 하드디스크드라이브, 플래쉬메모리 및 ROM을 포함한다. 비휘발성메모리는 본 발명의 테스트 스펙 자동생성장치(100)가 포함하는 프로세서가 읽을 수 있는 프로그램이 기록된 기록매체(computer-readable recording medium)의 일례이다.
컴퓨터프로그램은 프로세서가 읽고 실행할 수 있는 코드로서, 도 4와 도5에 도시된 단계 S10 내지 단계 S170과 같은 제어부(60)의 동작을 수행하도록 하는 코드를 포함한다.
컴퓨터프로그램은 컴퓨팅 장치와 유사한 테스트 스펙 자동생성장치(100)에 구비된 운영체계(Operating System) 또는 어플리케이션(Application)인 소프트웨어이다.
도 4와 도 5는 본 발명의 일실시예에 테스트 스펙 자동생성장치의 테스트 스펙 자동생성방법의 흐름도이다.
도 4와 도 5에 도시된 바와 같이, 컴퓨팅 장치가 읽을 수 있는 프로그램으로서, 적어도 하나의 실행 노드와, 적어도 하나의 분기 노드와 상기 분기 노드가 갖는 복수의 출력 링크 중 선택된 출력 링크에 대응하는 노드로 구성된 선형독립경로를 포함하는 소프트웨어 프로그램의 테스트 스펙 자동생성장치의 테스트 스펙 자동생성방법을 수행하는 프로그램을 기록하는 기록매체에 있어서, 상기 테스트 스펙 자동생성방법은, 소프트웨어 프로그램에 대한 흐름도를 입력받는다(S10). 입력된 흐름도로부터 적어도 하나의 선형독립경로를 추출할 수 있는지 여부를 검증한다(S20). 흐름도의 "시작" 실행 노드로 진입한다(S30). 다음노드로 진입한다(S40). 다음 노드가 분기 노드인지 확인한다(S50). 다음 노드가 분기 노드이면, 분기 노드가 노드저장부에 저장되어 있는지 확인한다(S60). 분기 노드를 분기 노드 저장부에 저장한다(S70). 분기 노드를 노드저장부에 저장한다(S80). 분기 노드의 제1출력링크를 선택하고 선택된 제1출력링크를 노드저장부에 저장한다(S90). S50에서 다음 노드가 "종료" 실행 노드인지 확인한다(S100). "종료" 실행 노드가 아니라면, 실행 노드를 노드저장부에 저장한다(S110). S60에서, 분기노드가 노드저장부에 저장되어 있다면, 분기 노드의 제2출력링크를 선택하고 선택된 제1출력링크를 노드저장부에 저장한다(S120). S100에서 다음 노드가 "종료" 실행노드이면, 분기 노드 저장부에 분기 노드가 존재하는지 확인한다(S130). 분기 노드 저장부에 분기 노드가 존재한다면, 분기 노드 저장부로부터 분기 노드를 가져온다(S140). "종료" 실행 모드를 가져온 분기 노드로 설정한다(S150). "시작" 실행 노드에서 분기 노드까지의 경로를 경로저장부(50)에 저장한다(S160). 분기 노드 저장부로부터 가져온 분기 노드의 제2출력링크를 노드저장부에 저장한다(170).
비록, 본 발명의 몇몇 실시예들이 도시되고 설명되었지만, 본 발명에 속하는 기술분야의 통상의 지식을 가진 당업자라면 본 발명의 원칙이나 정신에서 벗어나지 않으면서 본 실시예를 변형할 수 있음을 알 수 있을 것이다. 발명의 범위는 첨부된 청구항과 그 균등물에 의해 정해질 것이다.
이상 설명한 바와 같이, 본 발명에 따른 소프트웨어 프로그램의 흐름도의 테스트 스펙 자동생성장치와 그 자동생성방법 및 자동생성방법을 저장하는 기록매체는 검사자가 수기로 테스트 절차 스펙을 작성할 필요가 없으며, 그에 따른 경비 절약과 작성시 발생할 수 있는 휴먼 에러를 방지할 수 있다.

Claims (9)

  1. 적어도 하나의 실행 노드와, 적어도 하나의 분기 노드와 상기 분기 노드가 갖는 복수의 출력 링크 중 선택된 출력 링크에 대응하는 노드로 구성된 선형독립경로를 포함하는 소프트웨어 프로그램의 테스트 스펙 자동생성장치에 있어서,
    상기 소프트웨어 프로그램에 대한 흐름도를 입력받는 흐름도 입력부와;
    출력부와;
    상기 입력부를 통해 입력된 흐름도로부터 적어도 하나의 선형독립경로를 결정하고 상기 결정된 선형독립경로의 상기 실행 노드 및 상기 분기 노드에 기초하여 상기 선형독립경로에 대한 테스트 절차를 작성하여 상기 출력부로 출력하는 제어부를 포함하는 것을 특징으로 하는 테스트 스펙 자동생성장치.
  2. 제1항에 있어서,
    상기 제어부는 상기 입력부를 통해 입력된 상기 흐름도가 상기 선형독립경로가 생성될 수 있는지 여부를 검증하고, 만일 상기 선형독립경로를 생성할 수 없다면 상기 출력부를 통해 경보를 출력하는 것을 특징으로 하는 테스트 스펙 자동생성장치.
  3. 제1항에 있어서,
    상기 선형독립경로에 대한 실행 노드와 분기 노드를 저장하는 노드저장부를 더 포함하고,
    상기 제어부는 상기 선형독립경로를 결정하는 과정에서 상기 노드저장부에 분기 노드가 저장되어 있으면, 상기 분기 노드의 상기 출력 링크 중 하나의 출력링크가 기 결정된 선형독립경로를 위해 사용된 것으로 판단하고 상기 분기 노드의 다른 출력 링크를 선택하는 것을 특징으로 하는 테스트 스펙 자동생성장치.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 분기 노드를 후입선출 방식으로 저장하는 분기 노드 저장부를 더 포함하고,
    상기 제어부는 상기 분기 노드 저장부에 저장된 분기 노드의 개수에 대응하여 상기 선형독립경로를 생성하는 것을 특징으로 하는 테스트 스펙 자동생성장치.
  5. 제4항에 있어서,
    상기 출력부는 디스플레이 모듈과 오디오 모듈 또는 프린팅 모듈 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 테스트 스펙 자동생성장치.
  6. 적어도 하나의 실행 노드와, 적어도 하나의 분기 노드와 상기 분기 노드가 갖는 복수의 출력 링크 중 선택된 출력 링크에 대응하는 노드로 구성된 선형독립경로를 포함하는 소프트웨어 프로그램의 테스트 스펙 자동생성장치의 테스트 스펙 자동생성방법에 있어서,
    (a) 상기 소프트웨어 프로그램에 대한 흐름도를 입력하는 단계와;
    (b) 상기 입력된 흐름도로부터 적어도 하나의 선형독립경로를 결정하고 상기 결정된 선형독립경로의 상기 실행 노드 및 상기 분기 노드에 기초하여 상기 선형독립경로에 대한 테스트 절차를 작성하는 단계와;
    (c) 상기 작성된 테스트 절차를 출력하는 단계를 포함하는 것을 특징으로 하는 테스트 스펙 자동생성장치의 테스트 스펙 자동생성방법.
  7. 제6항에 있어서,
    상기 실행 노드와 상기 분기 노드를 저장하는 노드저장부와, 후입선출 방식으로 상기 분기 노드를 저장하는 분기 노드 저장부와 경로저장부를 포함하고,
    단계(b)에서 상기 하나의 선형독립경로를 결정하는 방법은,
    (b-1) 상기 흐름도의 "시작" 실행 노드에 진입하는 단계와;
    (b-2) 다음 노드로 진입하는 단계와;
    (b-3) 상기 다음 노드가 분기 노드인지 확인하는 단계와;
    (b-4) 상기 분기 노드이면, 상기 분기 노드가 상기 노드저장부에 저장되어 있는지 확인하는 단계와;
    (b-5) 상기 분기 노드가 상기 노드저장부에 저장되어 있지 않으면, 상기 분기 노드를 상기 분기 노드 저장부에 저장하는 단계와;
    (b-6) 상기 분기 노드를 상기 노드저장부에 저장하는 단계와;
    (b-7) 상기 분기 노드의 제1출력링크를 선택하고 선택된 제1출력링크를 노드 저장부에 저장하는 단계와;
    (b-8) 단계(b-4)에서, 상기 분기 노드가 상기 노드저장부에 저장되어 있으면, 상기 분기노드의 제2출력링크를 선택하고 선택된 제1출력링크를 상기 노드저장부에 저장하는 단계와;
    (b-9) 단계(b-3)에서 상기 다음 노드가 분기 노드가 아니면, 상기 다음 노드가 "종료" 실행 노드인지 확인하는 단계와;
    (b-10) 상기 다음 노드가 "종료"실행 노드가 아니면, 상기 실행 노드를 상기 노드저장부에 저장하는 단계와;
    (b-11) 상기 다음 노드가 "종료" 실행 노드이면, 상기 분기 노드 저장부에 상기 분기 노드가 존재하는지 확인하는 단계와;
    (b-12) 상기 분기 노드가 상기 분기 노드 저장부에 존재하면 상기 노드저장부로부터 상기 분기 노드를 가져오는 단계와;
    (b-13) 상기"종료" 실행 노드를 가져온 분기 노드로 설정하는 단계와;
    (b-14) 상기 "시작" 실행 노드에서 상기 분기 노드까지를 상기 경로저장부에 저장하는 단계와;
    (b-15) 상기 분기 노드 저장부로부터 가져온 분기 노드의 제2출력링크를 노드저장부에 저장하는 단계를 포함하는 것을 특징으로 하는 테스트 스펙 자동생성장치의 테스트 스펙 자동생성방법.
  8. 컴퓨팅 장치가 읽을 수 있는 프로그램으로서, 적어도 하나의 실행 노드와, 적어도 하나의 분기 노드와 상기 분기 노드가 갖는 복수의 출력 링크 중 선택된 출력 링크에 대응하는 노드로 구성된 선형독립경로를 포함하는 소프트웨어 프로그램의 테스트 스펙 자동생성장치의 테스트 스펙 자동생성방법을 수행하는 프로그램을 기록하는 기록매체에 있어서,
    상기 테스트 스펙 자동생성방법은,
    (a) 상기 소프트웨어 프로그램에 대한 흐름도를 입력하는 단계와;
    (b) 상기 입력된 흐름도로부터 적어도 하나의 선형독립경로를 결정하고 상기 결정된 선형독립경로의 상기 실행 노드 및 상기 분기 노드에 기초하여 상기 선형독립경로에 대한 테스트 절차를 작성하는 단계와;
    (c) 상기 작성된 테스트 절차를 출력하는 단계를 포함하는 것을 특징으로 하는 테스트 스펙 자동생성장치의 테스트 스펙 자동생성방법을 수행하는 프로그램을 기록하는 기록매체.
  9. 제8항에 있어서,
    상기 실행 노드와 상기 분기 노드를 저장하는 노드저장부와, 후입선출 방식으로 상기 분기 노드를 저장하는 분기 노드 저장부와 경로저장부를 포함하고,
    단계(b)에서 상기 하나의 선형독립경로를 결정하는 방법은,
    (b-1) 상기 흐름도의 "시작" 실행 노드에 진입하는 단계와;
    (b-2) 다음 노드로 진입하는 단계와;
    (b-3) 상기 다음 노드가 분기 노드인지 확인하는 단계와;
    (b-4) 상기 분기 노드이면, 상기 분기 노드가 상기 노드저장부에 저장되어 있는지 확인하는 단계와;
    (b-5) 상기 분기 노드가 상기 노드저장부에 저장되어 있지 않으면, 상기 분기 노드를 상기 분기 노드 저장부에 저장하는 단계와;
    (b-6) 상기 분기 노드를 상기 노드저장부에 저장하는 단계와;
    (b-7) 상기 분기 노드의 제1출력링크를 선택하고 선택된 제1출력링크를 노드저장부에 저장하는 단계와;
    (b-8) 단계(b-4)에서, 상기 분기 노드가 상기 노드저장부에 저장되어 있으면, 상기 분기노드의 제2출력링크를 선택하고 선택된 제1출력링크를 상기 노드저장부에 저장하는 단계와;
    (b-9) 단계(b-3)에서 상기 다음 노드가 분기 노드가 아니면, 상기 다음 노드가 "종료" 실행 노드인지 확인하는 단계와;
    (b-10) 상기 다음 노드가 "종료"실행 노드가 아니면, 상기 실행 노드를 상기 노드저장부에 저장하는 단계와;
    (b-11) 상기 다음 노드가 "종료" 실행 노드이면, 상기 분기 노드 저장부에 상기 분기 노드가 존재하는지 확인하는 단계와;
    (b-12) 상기 분기 노드가 상기 분기 노드 저장부에 존재하면 상기 노드저장부로부터 상기 분기 노드를 가져오는 단계와;
    (b-13) 상기"종료" 실행 노드를 가져온 분기 노드로 설정하는 단계와;
    (b-14) 상기 "시작" 실행 노드에서 상기 분기 노드까지를 상기 경로저장부에 저장하는 단계와;
    (b-15) 상기 분기 노드 저장부로부터 가져온 분기 노드의 제2출력링크를 노드저장부에 저장하는 단계를 포함하는 것을 특징으로 하는 테스트 스펙 자동생성장치의 테스트 스펙 자동생성방법을 수행하는 프로그램을 기록하는 기록매체.
KR1020070010641A 2007-02-01 2007-02-01 테스트 스펙 자동생성장치 및 그 자동생성방법과자동생성방법을 저장하는 기록매체 Expired - Fee Related KR100855552B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070010641A KR100855552B1 (ko) 2007-02-01 2007-02-01 테스트 스펙 자동생성장치 및 그 자동생성방법과자동생성방법을 저장하는 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070010641A KR100855552B1 (ko) 2007-02-01 2007-02-01 테스트 스펙 자동생성장치 및 그 자동생성방법과자동생성방법을 저장하는 기록매체

Publications (2)

Publication Number Publication Date
KR20080072207A KR20080072207A (ko) 2008-08-06
KR100855552B1 true KR100855552B1 (ko) 2008-09-03

Family

ID=39882574

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070010641A Expired - Fee Related KR100855552B1 (ko) 2007-02-01 2007-02-01 테스트 스펙 자동생성장치 및 그 자동생성방법과자동생성방법을 저장하는 기록매체

Country Status (1)

Country Link
KR (1) KR100855552B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708699B (zh) * 2016-12-09 2020-01-24 中国银行股份有限公司 错误信息记录方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243835B1 (en) * 1998-01-30 2001-06-05 Fujitsu Limited Test specification generation system and storage medium storing a test specification generation program
US7065748B2 (en) * 2001-05-17 2006-06-20 Fujitsu Limited Test specification formation supporting apparatus, method, and program, and recording medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243835B1 (en) * 1998-01-30 2001-06-05 Fujitsu Limited Test specification generation system and storage medium storing a test specification generation program
US7065748B2 (en) * 2001-05-17 2006-06-20 Fujitsu Limited Test specification formation supporting apparatus, method, and program, and recording medium

Also Published As

Publication number Publication date
KR20080072207A (ko) 2008-08-06

Similar Documents

Publication Publication Date Title
US6418543B1 (en) Apparatus and method for debugging source code
TW201544952A (zh) 電腦之自動化測試系統及測試方法、記錄媒體及程式產品
CN107391333B (zh) 一种osd磁盘故障测试方法及系统
CN108021505A (zh) 数据上线方法、装置和计算机设备
CN104021072A (zh) 用于评估失效的软件程序的机器和方法
KR100937689B1 (ko) 사용자 환경 프로파일링에 기반을 두어 테스트 대상소프트웨어의 테스트를 지원하는 시뮬레이션 방법
CN105892932A (zh) 用于磁盘数据管理的方法和装置
CN101192181A (zh) 开机自我检测方法
KR100855552B1 (ko) 테스트 스펙 자동생성장치 및 그 자동생성방법과자동생성방법을 저장하는 기록매체
CN110908903A (zh) 一种基于可编辑yaml文件的测试方法
CN117711478A (zh) 一种固态硬盘的上下电测试方法、装置以及介质
JP7228374B2 (ja) シミュレーションシステム及びシミュレート方法
CN111506506A (zh) 一种测试方法、装置、设备及可读存储介质
JP2009181180A (ja) プログラム生成ツールの検査プログラムおよびプログラム生成ツールの検査方法ならびにプログラム生成ツールの検査装置
CN111427731A (zh) 一种自动化拆分码流及验证码流的测试方法和系统
CN115729557B (zh) 脚本处理方法和装置
CN120126531B (zh) 存储系统测试方法和装置
JP2002244934A (ja) メモリ監視装置および方法
CN114139477B (zh) 一种车辆故障的仿真方法、系统、设备及存储介质
CN112882931B (zh) 基于ddt的自动化测试方法及装置
JP2008216221A (ja) 半導体試験装置
JP6072547B2 (ja) アプリケーション・テストシステム
JP2008089493A (ja) Icテスタ用組み込みソフトウェアのデバッグ方法
JP2007328447A (ja) ソフトウェア試験項目選択装置、ソフトウェア試験項目選択プログラム、ソフトウェア試験項目選択プログラムが格納された記憶媒体およびソフトウェア試験項目選択方法
KR0121094B1 (ko) 메모리 테스트 방법

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20110827

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20110827

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000