KR101106595B1 - 소프트웨어 테스트의 자동화 장치 및 그 방법 - Google Patents

소프트웨어 테스트의 자동화 장치 및 그 방법 Download PDF

Info

Publication number
KR101106595B1
KR101106595B1 KR1020100073274A KR20100073274A KR101106595B1 KR 101106595 B1 KR101106595 B1 KR 101106595B1 KR 1020100073274 A KR1020100073274 A KR 1020100073274A KR 20100073274 A KR20100073274 A KR 20100073274A KR 101106595 B1 KR101106595 B1 KR 101106595B1
Authority
KR
South Korea
Prior art keywords
test
objects
target
project
software
Prior art date
Application number
KR1020100073274A
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 KR1020100073274A priority Critical patent/KR101106595B1/ko
Priority to US12/877,866 priority patent/US20120030654A1/en
Application granted granted Critical
Publication of KR101106595B1 publication Critical patent/KR101106595B1/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
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

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

소프트웨어 테스트의 자동화 장치 및 그 방법{METHOD AND APPARATUS FOR AUTOMATED TESTING FOR SOFTWARE PROGRAM}
본 발명은 소프트웨어를 자동으로 테스트하기 위한 자동화 장치 및 그 방법에 관한 것으로, 보다 상세하게는 소스 코드가 빈번하게 변경되는 소프트웨어의 테스트를 자동으로 수행하는 장치 및 그 방법에 관련된다.
일반적으로 소프트웨어 개발에 소요되는 총 비용의 50% 이상 및 총 기간의 50% 정도가 종래의 소프트웨어 테스팅 작업에 소요된다. 이러한 비용 및 시간을 감소시키기 위해서는, 노동 집약적이고 단순 반복적인 테스트 과정을 자동으로 처리하는 도구가 필요하다.
종래의 소프트웨어 테스팅 작업에 사용되는 자동화 도구는 하나의 테스트를 수행한 후, 이와 연관된 다른 테스트들을 자동으로 수행하지 못할 수 있다.
특히, 상기 종래의 자동화 도구는 먼저 수행된 테스트와, 이후 수행될 다른 테스트 또는 그 연관된 다른 파일들의 테스트과의 상호 연관성을 고려하지 않기 때문에, 변경된 소스 코드의 경우, 연속적인 테스팅이 이루어지지 못할 수 있다.
본 발명의 일부 실시예에서는, 소프트웨어를 테스트하기 위한 다수의 테스트 오브젝트들 간의 연관관계를 기초로, 소프트웨어 내 변경된 소스코드 파일을 테스트를 자동으로 수행할 수 있는 소프트웨어 테스트의 자동화 장치 및 그 방법을 제공할 수 있다.
본 발명의 일부 실시예에서는, 상기 변경된 소스코드 파일에 대응하는 대상 테스트 오브젝트 파일 및 상기 대상 테스트 오브젝트 파일의 연관된 연관 테스트 오브젝트 파일을 검색하여, 상기 변경된 소스코드 파일에 연관된 소프트웨어의 다른 기능을 모두 테스트할 수 있는 소프트웨어 테스트의 자동화 장치 및 그 방법을 제공할 수 있다.
본 발명의 일부 실시예에서는, 대상 테스트 오브젝트 및 연관 테스트 오브젝트들의 연관된 구조를 나타내는 테스트 솔루션, 및 상기 대상 테스트 오브젝트과 연관 테스트 오브젝트에 관련된 소스코드 파일 및 테스트 케이스 파일을 포함하는 테스트 프로젝트 파일을 이용함으로써, 보다 정확한 테스트를 수행할 수 있는 소프트웨어 테스트의 자동화 장치 및 그 방법을 제공할 수 있다.
본 발명의 일 측면에 의하면, 소프트웨어를 자동으로 테스트하기 위한 장치에 있어서, 상기 소프트웨어를 테스트하기 위한 테스트 오브젝트들간의 연관관계를 저장하는 테스트 연관관계 테이블과, 상기 소프트웨어의 소스코드 파일이 변경되면, 상기 연관관계를 기초로 상기 테스트 오브젝트들 중에서 상기 변경된 소스코드 파일에 대응하는 대상 테스트 오브젝트 및 상기 대상 테스트 오브젝트와 연관된 연관 테스트 오브젝트들을 검색하고, 상기 검색 결과를 이용하여 테스트 솔루션을 생성하는 테스트 솔루션 처리부와, 상기 테스트 솔루션 처리부에 의해 검색된 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들의 각각에 해당하는 소스코드 파일을 컴파일 및 실행하는 테스트 프로젝트 처리기를 포함하는 소프트웨어 자동 테스트 시스템을 제공한다.
본 발명의 다른 측면에 의하면, 소프트웨어를 자동으로 테스트하기 위한 방법에 있어서, 상기 소프트웨어를 테스트하기 위한 테스트 오브젝트들간의 연관관계를 생성하는 생성 단계와, 상기 소프트웨어 내의 소스코드 파일이 변경되면, 상기 테스트 오브젝트들 중에서 상기 변경된 소스코드 파일에 대응하는 대상 테스트 오브젝트를 검색하는 대상 검색단계와, 상기 연관관계를 기초로, 상기 검색된 대상 테스트 오브젝트와 연관된 연관 테스트 오브젝트들을 검색하는 연관 검색단계와, 상기 검색된 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들의 각각에 해당하는 소스코드 파일을 컴파일 및 실행하는 테스트 실행 단계를 포함하는 소프트웨어 자동 테스트 방법을 제공한다.
본 발명의 실시 예에 의하면, 소스 코드가 빈번하게 변경되는 시스템에 대하여 손쉽게 테스트를 수행할 수 있다. 특히, 본 발명의 실시 예에 의하면, 소프트웨어 내 변경이 발생한 소스코드 파일을 감지하여, 자동 테스트를 수행할 수 있다.
또한, 본 발명의 실시 예에 의하면, 변경된 소스코드 파일에 연관된 소프트웨어의 다른 기능을 모두 테스트할 수 있으며, 보다 정확한 테스트가 이루어지도록 할 수 있다.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 테스트 자동화 방법이 적용된 시스템의 구성을 보여주는 도면.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 테스트 자동화 방법에 의해 생성된 테스트 솔루션의 예시를 보여주는 도면.
도 3은 본 발명의 일 실시예에 따른 소프트웨어 테스트 자동화 방법에 의해 생성된 테스트 프로젝트의 예시를 보여주는 도면.
도 4는 본 발명의 다른 실시예에 따른 소프트웨어 테스트 자동화 방법을 설명하기 위한 도면.
도 5a 및 5b는 본 발명의 다른 실시예에 따른 소프트웨어 테스트 자동화 방법의 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들간의 구조의 예시를 보여주는 도면.
도 6은 본 발명의 다른 실시예에 따른 소프트웨어 테스트 자동화 방법에서 컴파일 및 실행이 진행되는 테스트 오브젝트의 상태정보를 설명하기 위한 도면.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 테스트 자동화 방법이 적용된 시스템의 구성을 보여주는 도면이다.
도 1을 참조하면, 상기 시스템은 테스트 관리기(100), 테스트 프로젝트 처리기(110), 모니터링 장치(120), 소스코드 저장소(130) 및 테스트 프로젝트 저장소(140)를 포함한다.
테스트 관리기(100)는 소프트웨어를 테스트하기 위한 테스트 오브젝트들의 연관관계를 생성하고, 테스트할 대상의 대상 테스트 오브젝트가 있는 경우, 상기 생성된 연관관계를 기초로 상기 대상 테스트 오브젝트와 연관된 연관 테스트 오브젝트들을 선택하고, 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들에 대한 테스트를 자동으로 수행한다.
다시 말해, 테스트 관리기(100)는 소프트웨어의 소스코드 또는 테스트 프로젝트가 변경된 경우, 상기 연관관계를 기초로 상기 변경된 소스코드 또는 테스트 프로젝트와 연관된 테스트 오브젝트를 선택하고, 상기 선택된 테스트 오브젝트에 대한 테스트를 자동으로 수행한다. 이하에서는, 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들의 집합을 테스트 솔루션 (test solution)이라 칭하며, 상기 테스트의 최소 수행단위를 테스트 프로젝트(test project)라 칭한다.
테스트 관리기(100)는 테스트 연관관계 테이블(101), 변경 이벤트 처리부(102) 및 테스트 솔루션 처리부(103)를 포함할 수 있다.
테스트 연관관계 테이블(101)는 상기 소프트웨어의 소스코드에 대응하는 각각의 테스트 오브젝트들간의 연관관계를 저장한다. 이때, 상기 연관관계는 상위노드 및 하위노드의 트리구조로 나타낼 수 있다.
변경 이벤트 처리부(102)는 소스코드 저장소(130) 및 테스트 프로젝트 저장소(140)를 모니터링하는 모니터링 장치(120)와 연동하여, 소스코드 저장소(130) 및 테스트 프로젝트 저장소(140)에 저장된 파일들이 변경되었는 지를 인지한다. 즉, 변경 이벤트 처리부(102)는 모니터링 장치(120)로부터 입력되는 변경 이벤트를 기초로, 소스코드 저장소(130) 및/또는 테스트 프로젝트 저장소(140)에 저장된 파일들이 생성, 수정, 및 삭제되었는 지를 감지할 수 있다. 또한, 변경 이벤트 처리부(102)는 소스코드 저장소(130)의 파일에 대한 변경이 감지되었는 지에 따라 테스트 솔루션 처리부(103)의 동작 개시를 요청할 수 있다.
테스트 솔루션 처리부(103)는 사용자의 입력 또는 변경 이벤트 처리부(102)의 동작 개시의 요청에 따라, 상기 테스트 연관관계 테이블을 기초로 테스트할 대상의 대상 테스트 오브젝트에 연관된 연관 테스트 오브젝트를 검색하고, 상기 검색 결과를 이용하여 테스트 솔루션을 생성한다. 테스트 솔루션 처리부(103)는 상기 생성된 테스트 솔루션을 이용하여 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트에 대한 테스트를 테스트 프로젝트 처리기(110)에 요청한다.
테스트 솔루션 처리부(103)는 테스트 솔루션 생성부(103a) 및 테스트 솔루션 실행부(103b)를 포함할 수 있다.
테스트 솔루션 생성부(103a)는 상기 테스트 연관관계 테이블을 기초로 각각의 테스트 오브젝트들간의 실행순서 및 연관된 파일들을 체크하여, 상기 대상 테스트 오브젝트와 연관된 연관 테스트 오브젝트들을 검색한다. 그리고, 테스트 솔루션 생성부(103a)는 상기 검색 결과를 이용하여 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들간의 연관된 구조를 나타내는 테스트 솔루션을 생성할 수 있다.
상기 생성된 테스트 솔루션의 데이터 파일은 도 2에 도시된 바와 같이 나타날 수 있다.
도 2를 참조하면, 상기 테스트 솔루션의 데이터 파일의 예시로서, XML 파일 로 구현된 경우를 보여준다. 상기 테스트 솔루션의 데이터 파일은 상기 테스트 솔루션의 이름('Name'), 식별자('SoluctionID'), 설명정보('Description') 및 상기 테스트 솔루션을 구성하는 다수의 테스트 오브젝트들-즉, 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들-의 리스트('TestObjectList')를 포함한다. 이때, 리스트('TestObjectList') 내의 다수의 테스트 오브젝트들(TestObject)은 트리구조에서 상위노드 혹은 하위노드와 같은 상하 개념을 가질 수 있으며, 다른 테스트 프로젝트 또는 다른 테스트 솔루션이 될 수 있다.
테스트 솔루션 실행부(103b)는 상기 생성된 테스트 솔루션을 기초로 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들을 지정된 순서대로 테스트 실행 큐(Queue)에 삽입하고, 테스트 프로젝트 처리기(110)에 상기 삽입된 테스트 오브젝트들의 실행을 요청한다. 이때, 상기 지정된 순서는, 상기 트리구조에서 하위노드로부터 상위노드의 순서가 될 수 있다.
한편, 테스트 프로젝트 처리기(110)는 테스트 솔루션 실행부(103b)에 의해 실행이 요청된 테스트 오브젝트를 테스트하기 위한 테스트 프로젝트를 생성하고, 생성된 테스트 프로젝트를 수행 및 분석한다.
테스트 프로젝트 처리기(110)는 테스트 프로젝트 생성부(111), 테스트 프로젝트 실행부(112) 및 결과 분석부(113)를 포함할 수 있다.
테스트 프로젝트 생성부(111)는 다양한 테스트 종류(이를테면, 단위 테스트, 상태 테스트, 인터페이스 테스트 등)에 따른 테스트 프로젝트를 생성할 수 있다. 상기 테스트 프로젝트는 도 3에 도시된 바와 같이 나타날 수 있다.
도 3을 참조하면, 상기 테스트 프로젝트의 데이터 파일의 예시로서, XML 파일로 구현된 경우를 보여준다. 상기 테스트 프로젝트의 데이터 파일은 상기 테스트 프로젝트의 이름(Name), 식별자(ProjectID), 테스트 종류(Type), 설명정보(Description), 상기 테스트 프로젝트를 컴파일 또는 실행하기 위한 환경정보(Configurations), 및 상기 테스트 프로젝트와 연관된 소스코드(DependencyFiles)를 포함할 수 있다.
테스트 프로젝트 실행부(112)는 상기 생성된 테스트 프로젝트를 기초로 상기 실행이 요청된 테스트 오브젝트를 테스트한다. 즉, 테스트 프로젝트 실행부(112)는 상기 생성된 테스트 프로젝트의 데이터 파일을 근거로, 상기 소스코드(DependencyFiles)를 상기 테스트 종류(Type)에 따른 테스트 방법으로 컴파일하고 실행한다.
결과 분석부(113)는 상기 테스트 프로젝트의 실행결과로 인해 생성되는 테스트 로그 파일 및 결과 파일을 분석하고, 상기 테스트의 성공 여부를 판단한다. 또한, 결과 분석부(113)는 상기 테스트가 성공된 경우, 상기 테스트 프로젝트의 데이터 파일을 테스트 프로젝트 저장소(140)에 저장 및 갱신할 수 있다.
한편, 모니터링 장치(120)는 소스코드 저장소(130) 및 테스트 프로젝트 저장소(140)에 저장된 파일들의 변경을 주기적으로 모니터링한다. 이때, 소스코드 저장소(130)는 상기 소프트웨어의 소스코드 파일을 저장하며, 이는 개발자에 의해 수정, 삭제 및 추가의 변경이 가능하다. 테스트 프로젝트 저장소(140)는 테스트 프로젝트 처리기(110)에 의해 생성된 테스트 프로젝트의 데이터 파일을 저장한다.
모니터링 장치(120)는 소스코드 모니터링부(121) 및 테스트 모니터링부(122)를 포함할 수 있다.
소스코드 모니터링부(121)는 소스코드 저장소(130)에 저장된 소스코드 파일들이 변경되었는 지를 모니터링하고, 상기 모니터링에 의해 감지되는 소스코드 파일의 변경 여부를 상기 테스트 관리기(100)의 변경 이벤트 처리부(102)에 통지한다.
테스트 모니터링부(122)는 테스트 프로젝트 저장소(140)에 저장된 테스트 프로젝트의 데이터 파일들이 변경되었는 지를 모니터링하고, 상기 모니터링에 의해 감지되는 테스트 프로젝트의 데이터 파일들의 변경 여부를 상기 테스트 관리기(100)의 변경 이벤트 처리부(102)에 통지한다.
도 4는 본 발명의 다른 실시예에 따른 소프트웨어 테스트 자동화 방법을 설명하기 위한 도면이다.
도 4를 참조하면, 단계(400)는 소스코드 저장소(130)에 저장된 소스코드(예컨데, "DevFile. cpp")의 변경을 감지하고, 상기 변경 여부를 변경 이벤트 처리부(102)로 통지한다.
단계(401)는 상기 테스트 연관관계 테이블을 기초로, 상기 변경된 소스코드와 연관된 대상 테스트 오브젝트를 검색한다.
단계(402)는 단계(401)에 의해 검색된 대상 테스트 오브젝트의 식별자를 테스트 솔루션 처리부(103)로 전달한다.
단계(403)는 단계(402)에 의해 전달된 상기 대상 테스트 오브젝트의 식별자를 이용하여, 상기 테스트 연관관계 테이블을 기초로 상기 대상 테스트 오브젝트의 식별자에 연관된 연관 테스트 오브젝트들을 검색한다. 또한, 단계(403)는 상기 검색결과를 이용하여 테스트 솔루션을 생성한다. 이때, 상기 생성된 테스트 솔루션의 데이터 파일은 상기 테스트 솔루션의 이름('Name'), 식별자('SoluctionID'), 설명정보('Description') 및 상기 테스트 솔루션을 구성하는 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들의 리스트('TestObjectList')를 포함할 수 있다.
상기 테스트 솔루션 내 상기 리스트는 도 5a 및 도 5b와 같이 도식화되어, 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들간의 구조를 보여줄 수 있다.
도 5a를 참조하면, 대상 노드(600)는 상기 변경된 소스코드(10)에 대응하는 대상 테스트 오브젝트며, 다른 노드들(610 내지 680)은 상기 대상 테스트 오브젝트와 연관된 상기 연관 테스트 오브젝트들이다. 그리고, 모든 노드들은 도 5a에서 각각의 실행순서에 따른 구조를 보여주도록 배치된 것을 볼 수 있다.
또한, 상기의 배치는 도 5b와 같이 트리형태의 자료 구조로 표현될 수 있다. 도 5b를 참조하면, 대상 노드(600)가 검색된 후, 대상 노드(600)의 상위 노드들(620, 650, 680) 및 그 상위 노드들(620, 650, 680)의 다른 하위노드들(610, 630, 640, 660, 670)이 검색되어, 트리 형태로 배치된 것을 볼 수 있다.
단계(440)는 상기 대상 테스트 오브젝트 및 상기 연관된 테스트 오브젝트들을 지정된 순서대로 테스트 큐에 삽입한다. 이때, 단계(440)는 상기 트리구조에서 하위노드로부터 상위노드의 순서로 상기 대상 테스트 오브젝트 및 상기 연관된 테스트 오브젝트들을 상기 테스트 큐에 삽입할 수 있다.
단계(450)는 단계(440)에 의해 삽입된 테스트 오브젝트들에 대한 각각의 테스트를 테스트 프로젝트 실행부(112)에 요청한다.
단계(460)는 상기 테스트가 요청된 테스트 오브젝트들에 각각에 대응하는 테스트 프로젝트를 실행한다. 즉, 단계(460)는 상기 각각에 대응하는 테스트 프로젝트의 데이터 파일을 기초로, 상기 테스트 프로젝트와 연관된 소스코드를 컴파일하고 실행한다.
단계(470)는 단계(460)의 실행이 완료되었음 및 변경사항을 테스트 솔루션 실행부(103b)에 통지한다.
나아가, 상기 테스트가 요청된 테스트 오브젝트들의 순차적인 컴파일 및 실행을 위하여, 단계(460)는 상기 테스트가 요청된 테스트 오브젝트들의 각각에 대한 상태정보를 이용할 수 있다. 즉, 단계(460)는 상기 컴파일 및 실행이 진행되는 중에, 현재 상기 컴파일 및 실행이 진행 중인 테스트 오브젝트의 상태정보를 실행(RUNNING)으로 변경하고, 상기 컴파일 및 실행이 완료되면, 상기 완료된 테스트 오브젝트의 상태정보를 완료(FINISHED)로 변경할 수 있다.
도 6은 상기 컴파일 및 실행이 진행되는 테스트 오브젝트의 상태정보를 설명하기 위한 도면이다.
도 6을 참조하면, 상기 상태정보는 생성(CREATED), 대기(WAITING), 실행(RUNNING), 완료(FINISHED), 변경(CHANGED), 삭제(DELETED)의 상태 천이를 나타낼 수 있으며, 각각의 상태 천이는 아래 첨부된 [표 1]과 같이 정의될 수 있다.
[표 1]
Figure 112010049091110-pat00001
즉, 소프트웨어 테스트 자동화 장치는 상기 소프트웨어의 테스트 실행 전에, 상기 소프트웨어의 소스코드에 대한 다수의 테스트 오브젝트들 및 상기 생성된 다수의 테스트 오브젝트들 간의 연관관계를 생성한다. 이때, 상기 다수의 테스트 오브젝트들의 상태정보는 생성(CREATED)가 된다. 이 후, 단계(450)에 의해, 상기 다수의 테스트 오브젝트들 중 일부에 대한 테스트가 요청되면, 단계(460)는 상기 테스트가 요청된 테스트 오브젝트들의 상태정보를 대기(WAITING)로 설정한다. 그리고, 단계(460)는 상기 테스트가 요청된 테스트 오브젝트들을 상기 테스트 큐에 삽입된 순서대로 테스트하고, 상기 테스트가 진행 중인 테스트 오브젝트의 상태정보를 실행(RUNNING)로 설정하고, 상기 테스트가 완료된 테스트 오브젝트의 상테정보를 완료(FINISHED)로 설정한다. 상기 실행된 테스트로 인해 변경 또는 삭제가 필요한 테스트 오브젝트가 있으면, 단계(470)는 상기 변경 또는 삭제가 필요한 테스트 오브젝트의 상태정보를 변경(CHANGED) 또는 삭제(DELETED)로 설정하고, 변경(CHANGED) 또는 삭제(DELETED)의 상태정보를 테스트 솔루션 실행부(103b)에 통지한다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (10)

  1. 소프트웨어를 자동으로 테스트하기 위한 장치에 있어서,
    상기 소프트웨어를 테스트하기 위한 테스트 오브젝트들간의 연관관계를 저장하는 테스트 연관관계 테이블;
    상기 소프트웨어의 소스 코드가 변경되면, 상기 연관관계를 기초로 상기 테스트 오브젝트들 중에서 상기 변경된 소스 코드에 대응하는 대상 테스트 오브젝트 및 상기 대상 테스트 오브젝트와 연관된 연관 테스트 오브젝트들을 검색하고, 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들간의 연관된 구조를 나타내는 테스트 솔루션을 생성하는 테스트 솔루션 생성부;
    상기 생성된 테스트 솔루션을 기초로 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들을 지정된 순서대로 테스트를 요청하는 테스트 솔루션 실행부;
    상기 테스트 프로젝트의 데이터 파일에 대응하는 상기 테스트 프로젝트를 생성하는 테스트 프로젝트 생성부-상기 테스트 프로젝트의 데이터 파일은 소스 코드 및 컴파일 또는 실행을 위한 환경 정보를 포함함-;
    상기 테스트 프로젝트의 데이터 파일에 기초하여 상기 소스 코드를 컴파일 및 실행함으로써 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들을 테스트하는 테스트 프로젝트 실행부; 및
    상기 테스트 프로젝트 실행부에 의한 컴파일 및 실행된 결과를 분석하는 결과 분석부
    를 포함하는 소프트웨어 자동 테스트 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 테스트 솔루션 실행부는
    상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들을 상기 테스트 솔루션 내에서 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들간의 연관된 구조를 기초로 하위노드에서 상위노드의 순서로 테스트를 요청하는 소프트웨어 자동 테스트 시스템.
  4. 삭제
  5. 제1항에 있어서,
    상기 테스트 프로젝트 실행부는
    상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들의 각각의 상태정보를 기초로 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들을 순차적으로 테스트하는
    소프트웨어 자동 테스트 시스템.
  6. 소프트웨어를 자동으로 테스트하기 위한 방법에 있어서,
    상기 소프트웨어를 테스트하기 위한 테스트 오브젝트들간의 연관관계를 생성하는 단계;
    상기 소프트웨어 내의 소스 코드의 변경을 감지하는 단계;
    상기 연관관계를 기초로 상기 테스트 오브젝트들 중에서 상기 변경된 소스 코드에 대응하는 대상 테스트 오브젝트 및 상기 대상 테스트 오브젝트와 연관된 연관 테스트 오브젝트들을 검색하는 단계;
    상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들간의 연관된 구조를 나타내는 테스트 솔루션을 생성하는 단계;
    상기 생성된 테스트 솔루션을 기초로 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들을 지정된 순서대로 테스트를 요청하는 단계;
    상기 테스트 프로젝트의 데이터 파일에 대응하는 상기 테스트 프로젝트를 생성하는 단계-상기 테스트 프로젝트의 데이터 파일은 소스 코드 및 컴파일 또는 실행을 위한 환경 정보를 포함함-;
    상기 테스트 프로젝트의 데이터 파일에 기초하여 상기 소스 코드를 컴파일 및 실행함으로써 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들을 테스트하는 단계; 및
    상기 테스트 프로젝트 실행부에 의한 컴파일 및 실행된 결과를 분석하는 단계
    를 포함하는 소프트웨어 자동 테스트 방법.
  7. 삭제
  8. 제6항에 있어서,
    상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들을 지정된 순서대로 테스트를 요청하는 단계는
    상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들을 상기 테스트 솔루션 내에서 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들간의 연관된 구조를 기초로 하위노드에서 상위노드의 순서로 테스트를 요청하는 소프트웨어 자동 테스트 방법.
  9. 삭제
  10. 제6항에 있어서,
    상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들의 각각의 상태정보를 관리하는 단계
    를 더 포함하고
    상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들을 테스트하는 단계는
    상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들의 각각의 상태정보를 기초로 상기 대상 테스트 오브젝트 및 상기 연관 테스트 오브젝트들을 순차적으로 테스트하는
    소프트웨어 자동 테스트 방법.
KR1020100073274A 2010-07-29 2010-07-29 소프트웨어 테스트의 자동화 장치 및 그 방법 KR101106595B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100073274A KR101106595B1 (ko) 2010-07-29 2010-07-29 소프트웨어 테스트의 자동화 장치 및 그 방법
US12/877,866 US20120030654A1 (en) 2010-07-29 2010-09-08 Apparatus and method for automated testing of software program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100073274A KR101106595B1 (ko) 2010-07-29 2010-07-29 소프트웨어 테스트의 자동화 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR101106595B1 true KR101106595B1 (ko) 2012-01-20

Family

ID=45528011

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100073274A KR101106595B1 (ko) 2010-07-29 2010-07-29 소프트웨어 테스트의 자동화 장치 및 그 방법

Country Status (2)

Country Link
US (1) US20120030654A1 (ko)
KR (1) KR101106595B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723005A (zh) * 2020-05-25 2020-09-29 四川九洲电器集团有限责任公司 一种测试系统自动测试软件的配置方法
KR20230050602A (ko) * 2021-10-08 2023-04-17 주식회사 세미파이브 시스템 온 칩 설계 검증을 위한 테스트 자동화 시스템 및 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103180834B (zh) * 2010-09-09 2015-12-02 国际商业机器公司 自动操作系统测试框架
US9009682B2 (en) * 2010-12-13 2015-04-14 Sap Se Enhanced unit test framework
GB2508641A (en) * 2012-12-07 2014-06-11 Ibm Testing program code created in a development system
US10089218B2 (en) * 2013-03-17 2018-10-02 Typemock Ltd. Methods circuits apparatuses systems and associated computer executable code for generating a software unit test
US9396097B2 (en) * 2013-03-17 2016-07-19 Typemock Ltd. Methods, circuits, devices, systems and associated computer executable code for testing software code
CN104077217B (zh) * 2013-03-28 2017-11-10 腾讯科技(深圳)有限公司 代码文件的编译发布方法及系统
GB2529178A (en) 2014-08-12 2016-02-17 Ibm Test selection
US9501389B1 (en) 2015-08-20 2016-11-22 International Business Machines Corporation Test machine management
US10061685B1 (en) 2016-08-31 2018-08-28 Amdocs Development Limited System, method, and computer program for high volume test automation (HVTA) utilizing recorded automation building blocks
US10268574B2 (en) * 2016-09-01 2019-04-23 Salesforce.Com, Inc. Deployment testing for infrastructure delivery automation
US11550704B2 (en) * 2019-05-29 2023-01-10 James Arthur Canter Methods, systems and computer program products for automated software testing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100369252B1 (ko) * 2000-05-09 2003-01-24 삼성에스디에스 주식회사 소프트웨어 테스트 시스템 및 그 방법
KR20100002564A (ko) * 2008-06-30 2010-01-07 주식회사 큐에이엔씨 보조 접근 기술 기반 소프트웨어 테스트 자동화 시스템 및방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555419A (en) * 1993-01-06 1996-09-10 Digital Equipment Corporation Correlation system
US6002869A (en) * 1997-02-26 1999-12-14 Novell, Inc. System and method for automatically testing software programs
AU2003233316B2 (en) * 2002-05-11 2009-01-22 Accenture Global Services Limited Automated software testing system and method
US7103795B1 (en) * 2002-05-31 2006-09-05 Sprint Communications Company, L.P. Testing platform integration methodology
US7596778B2 (en) * 2003-07-03 2009-09-29 Parasoft Corporation Method and system for automatic error prevention for computer software
US7559053B2 (en) * 2004-08-24 2009-07-07 Microsoft Corporation Program and system performance data correlation
US7600220B2 (en) * 2005-01-11 2009-10-06 Worksoft, Inc. Extensible execution language
US20070088986A1 (en) * 2005-10-19 2007-04-19 Honeywell International Inc. Systems and methods for testing software code
US7844955B2 (en) * 2005-12-24 2010-11-30 International Business Machines Corporation Performance computer program testing after source code modification using execution conditions
US8001530B2 (en) * 2006-12-28 2011-08-16 Sap Ag Method and framework for object code testing
US20090265694A1 (en) * 2008-04-18 2009-10-22 International Business Machines Corporation Method and system for test failure analysis prioritization for software code testing in automated test execution

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100369252B1 (ko) * 2000-05-09 2003-01-24 삼성에스디에스 주식회사 소프트웨어 테스트 시스템 및 그 방법
KR20100002564A (ko) * 2008-06-30 2010-01-07 주식회사 큐에이엔씨 보조 접근 기술 기반 소프트웨어 테스트 자동화 시스템 및방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723005A (zh) * 2020-05-25 2020-09-29 四川九洲电器集团有限责任公司 一种测试系统自动测试软件的配置方法
CN111723005B (zh) * 2020-05-25 2022-08-23 四川九洲电器集团有限责任公司 一种测试系统自动测试软件的配置方法
KR20230050602A (ko) * 2021-10-08 2023-04-17 주식회사 세미파이브 시스템 온 칩 설계 검증을 위한 테스트 자동화 시스템 및 방법
KR102602534B1 (ko) 2021-10-08 2023-11-15 주식회사 세미파이브 시스템 온 칩 설계 검증을 위한 테스트 자동화 시스템 및 방법

Also Published As

Publication number Publication date
US20120030654A1 (en) 2012-02-02

Similar Documents

Publication Publication Date Title
KR101106595B1 (ko) 소프트웨어 테스트의 자동화 장치 및 그 방법
JP7090778B2 (ja) 影響分析
US8327325B2 (en) Programmable framework for automatic tuning of software applications
Mesbah et al. Crawling Ajax-based web applications through dynamic analysis of user interface state changes
EP2972817B1 (en) Techniques for traversing representations of source code
Bajracharya et al. Sourcerer: An internet-scale software repository
US20050278318A1 (en) Iterative development with prioritized build
US20110016452A1 (en) Method and system for identifying regression test cases for a software
US20060218543A1 (en) Method and apparatus for analyzing call history data derived from execution of a computer program
Valente et al. A semi-automatic approach for extracting software product lines
Dong et al. Flaky test detection in Android via event order exploration
Copik et al. Extracting clean performance models from tainted programs
Marceau et al. The design and implementation of a dataflow language for scriptable debugging
Alomari et al. A very efficient and scalable forward static slicing approach
Li et al. Multicore profiling for Erlang programs using Percept2
US10116512B2 (en) Service discovery and/or effort estimation in networked computing environments
Takeda et al. Applying change impact analysis test to migration test case extraction based on IDAU and graph analysis techniques
Moghadam et al. Resolving conflict and dependency in refactoring to a desired design
Şora Finding the right needles in hay helping program comprehension of large software systems
CN110674024A (zh) 电子设备集成测试系统及其方法
Vysocký et al. Application instrumentation for performance analysis and tuning with focus on energy efficiency
Linford et al. Performance analysis of openshmem applications with tau commander
CN114090430A (zh) 一种覆盖测试方法、系统、存储介质及计算设备
JP6048500B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
JP4997144B2 (ja) マルチタスク処理装置およびその方法

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: 20151224

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161226

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190110

Year of fee payment: 8