[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR101271232B1 - Software testing device and method thereof - Google Patents

Software testing device and method thereof Download PDF

Info

Publication number
KR101271232B1
KR101271232B1 KR1020110120791A KR20110120791A KR101271232B1 KR 101271232 B1 KR101271232 B1 KR 101271232B1 KR 1020110120791 A KR1020110120791 A KR 1020110120791A KR 20110120791 A KR20110120791 A KR 20110120791A KR 101271232 B1 KR101271232 B1 KR 101271232B1
Authority
KR
South Korea
Prior art keywords
test
software
script
unit
image
Prior art date
Application number
KR1020110120791A
Other languages
Korean (ko)
Other versions
KR20130055181A (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 KR1020110120791A priority Critical patent/KR101271232B1/en
Publication of KR20130055181A publication Critical patent/KR20130055181A/en
Application granted granted Critical
Publication of KR101271232B1 publication Critical patent/KR101271232B1/en

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
    • 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)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명에 따른 소프트웨어 테스트 장치는 테스트 대상 소프트웨어에 대해 수행된 입력수단의 입력을 캡쳐(capture)하여 제 1 테스트 스크립트를 생성하고, 상기 생성된 제 1 테스트 스크립트를 재생하여 상기 소프트웨어에 대한 테스트를 수행하는 제 1 테스트부, 사용자에 의하여 작성된 복수의 이벤트 정보를 포함하는 제 2 테스트 스크립트의 이벤트 정보를 기초로 상기 소프트웨어에 대한 테스트를 수행하는 제 2 테스트부, 상기 입력 수단의 입력을 캡쳐하여 생성한 제 1 테스트 스크립트 및 이벤트 정보를 포함하는 제 2 테스트 스크립트를 혼합한 하이브리드 테스트 스크립트에 기초하여 상기 소프트웨어에 대한 테스트를 수행하는 하이브리드 테스트부 및 사용자의 선택 또는 상기 소프트웨어에 대한 테스트 설정값에 따라 상기 제 1 테스트부, 제 2 테스트부 및 하이브리드 테스트부 중 어느 하나를 실행시켜 상기 소프트웨어에 대한 테스트를 수행하는 테스트 제어부를 포함한다.The software test apparatus according to the present invention captures the input of the input means performed on the software under test to generate a first test script, and reproduces the generated first test script to perform a test on the software. A first test unit configured to perform a test on the software based on event information of a second test script including a plurality of event information written by a user, and generated by capturing and inputting the input means The hybrid test unit performing a test on the software based on a hybrid test script including a first test script and a second test script including event information, and the first test script according to a user's selection or a test setting value for the software. 1 test section, 2nd frame And a test controller configured to execute one of the test unit and the hybrid test unit to test the software.

Description

소프트웨어 테스트 장치 및 그 방법{SOFTWARE TESTING DEVICE AND METHOD THEREOF}SOFTWARE TESTING DEVICE AND METHOD THEREOF}

본 발명은 소프트웨어 테스트 장치 및 그 방법에 관한 것이다.The present invention relates to a software test apparatus and a method thereof.

일반적으로 소프트웨어는 요구사항, 설계, 구현 및 테스트 과정을 통해 개발된다. 여기서, 개발의 최종 단계인 테스트에서 해당 소프트웨어의 에러가 발견된 경우, 요구 사항부터 구현에 이르는 과정의 산출물을 모두 변경해야 하므로 소프트웨어 개발 비용이 증가하게 된다.Software is typically developed through requirements, design, implementation, and testing processes. Here, if an error of the corresponding software is found in the test, which is the final stage of the development, the cost of the software development is increased because all the processes of the process from the requirement to the implementation are changed.

그리고, 소프트웨어의 일부 기능에 발생한 에러를 수정한 경우 복잡하게 서로 연동되어 있는 내부 구조를 가진 소프트웨어의 특징 때문에, 해당 수정 사항으로 인하여 또 다른 기능에 에러가 발생할 수 있다. 이를 해결하기 위한 방법의 하나로 종래에는 소프트웨어의 구현 전에 테스트 시나리오를 작성하고 테스트 시나리오를 통해 소프트웨어를 테스트하는 방법이 사용되었다.If an error occurs in some functions of the software, errors may occur in another function due to the characteristics of the software having an internal structure that is complicatedly interlocked with each other. As a method for solving this, conventionally, a test scenario was created before the implementation of the software and a method of testing the software through a test scenario was used.

이러한 소프트웨어 테스트 방법은 소프트웨어를 개발하면서 테스트 시나리오에 따라 실행된 값이 미리 예측된 값과 다른 경우에 해당 소프트웨어가 정상적인 동작을 수행하고 있지 않다는 것으로 판단한다. 이 경우, 테스트 시나리오에 따라 미리 예측된 값이 나올 때까지 소프트웨어를 계속 수정하면서 테스트를 진행하게 된다.Such a software testing method determines that the software is not performing a normal operation when a value that is executed according to a test scenario differs from a predicted value, while the software is being developed. In this case, according to the test scenario, the test is continued while the software is continuously modified until a predicted value is obtained in advance.

그러나, 테스트 계획을 수립하고 테스트 시나리오와 테스트 데이터를 만드는 작업에 많은 시간이 소요되었고, 개발 도중 사용자의 요구가 변경된 경우 테스트 계획부터 테스트 데이터까지 모두 변경되는 문제점이 있었다.However, it took a lot of time to develop a test plan, create test scenarios and test data, and when the user's needs changed during development, there was a problem that all of the test plan and the test data were changed.

따라서, 보다 효과적으로 소프트웨어에 대한 테스트를 수행할 필요성이 제기된다.Thus, there is a need to test the software more effectively.

이와 관련하여, 한국공개특허 제2005-0109305호(발명의 명칭: 공정장비의 상태를 모니터링하기 위한 시스템 및 방법)는 공정장비의 상태를 모니터링하기 위한 시스템 및 방법에 관한 것으로, 공정장비의 오류를 정확하게 감지할 수 있는 공정장비의 상태를 모니터링하기 위한 시스템 및 방법을 제공한다.In this regard, Korean Patent Laid-Open Publication No. 2005-0109305 (name of the invention: a system and method for monitoring the status of a process equipment) relates to a system and a method for monitoring the status of a process equipment. It provides a system and method for monitoring the status of process equipment that can be accurately detected.

또한, 한국공개특허 제 2002-0063270호(발명의 명칭: FDC 반도체 제조 프로세스로부터 트레이스 데이터리포트들을 요구하는 방법)는 오류 검출 제어를 채용하여 반도체 제조 프로세스에서 트레이스 데이터 리포트들을 동적으로 생성하는 방법을 개시한다.In addition, Korean Patent Laid-Open Publication No. 2002-0063270 (name of the invention: a method for requesting trace data reports from an FDC semiconductor manufacturing process) discloses a method of dynamically generating trace data reports in a semiconductor manufacturing process by employing error detection control. do.

본 발명의 일 실시예는 사용자가 직접 수동으로 테스트 스크립트를 작성하기 어렵거나 GUI(Graphic User Interface)를 기초로 동작하는 소프트웨어를 테스트하거나, 소프트웨어의 특정 모듈, 복수의 모듈들이 통합되어 동작하도록 하는 인터페이스, 각 프로그램 코드의 변수 및 함수 정의 등에 대한 효과적인 테스트를 수행하는 소프트웨어 테스트 장치 및 그 방법을 제공한다.An embodiment of the present invention is an interface that makes it difficult for a user to manually write a test script or tests software operating based on a graphical user interface (GUI), or allows a specific module of the software and a plurality of modules to be integrated and operated. The present invention provides a software test apparatus and method for performing an effective test on a variable and a function definition of each program code.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 소프트웨어 테스트 장치는, 테스트 대상 소프트웨어에 대해 수행된 입력수단의 입력을 캡쳐(capture)하여 제 1 테스트 스크립트를 생성하고, 상기 생성된 제 1 테스트 스크립트를 재생하여 상기 소프트웨어에 대한 테스트를 수행하는 제 1 테스트부, 사용자에 의하여 작성된 복수의 이벤트 정보를 포함하는 제 2 테스트 스크립트의 이벤트 정보를 기초로 상기 소프트웨어에 대한 테스트를 수행하는 제 2 테스트부, 상기 입력 수단의 입력을 캡쳐하여 생성한 제 1 테스트 스크립트 및 이벤트 정보를 포함하는 제 2 테스트 스크립트를 혼합한 하이브리드 테스트 스크립트에 기초하여 상기 소프트웨어에 대한 테스트를 수행하는 하이브리드 테스트부 및 사용자의 선택 또는 상기 소프트웨어에 대한 테스트 설정값에 따라 상기 제 1 테스트부, 제 2 테스트부 및 하이브리드 테스트부 중 어느 하나를 실행시켜 상기 소프트웨어에 대한 테스트를 수행하는 테스트 제어부를 포함한다.As a technical means for achieving the above-described technical problem, the software test apparatus of the present invention, by capturing the input of the input means performed for the software to be tested to generate a first test script, the generated first A first test unit for reproducing a test script to test the software, and a second test for testing the software based on event information of a second test script including a plurality of event information written by a user A hybrid test unit and a user for performing a test on the software based on a hybrid test script including a first test script generated by capturing input of the input means and a second test script including event information; Or in the software According to the test set value by executing one of the first testing unit, a second test section and a hybrid test unit comprises a test control unit for performing a test on the software.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 사용자가 직접 수동으로 테스트 스크립트를 작성하기 어렵거나 GUI(Graphic User Interface)를 기초로 동작하는 소프트웨어를 테스트하거나, 소프트웨어의 특정 모듈, 복수의 모듈들이 통합되어 동작하도록 하는 인터페이스, 각 프로그램 코드의 변수 및 함수 정의 등에 대한 빠르고 정밀한 테스트를 수행할 수 있다.According to any one of the problem solving means of the present invention described above, it is difficult for a user to manually write a test script or test software operating based on a GUI (Graphic User Interface), or a specific module of the software, a plurality of modules You can quickly and precisely test the interface that allows them to work together, define variables and functions in each program code, and so on.

또한, 전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 커스터마이징이 필요한 FDC(Fault Detection and Classification) 및 R2R(Run to Run)와 같은 반도체 공정제어 소프트웨어에 대한 테스트 효율성을 높일 수 있다.In addition, according to any one of the above-described problem solving means of the present invention, it is possible to improve the test efficiency for semiconductor process control software such as Fault Detection and Classification (FDC) and R2R (Run to Run) that requires customization.

도 1은 본 발명의 일 실시예에 따른 소프트웨어 테스트 장치의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 제 1 테스트부의 블록도이다.
도 3은 본 발명의 일 실시예에 따른 제 2 테스트부의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 제 1 테스트부를 통한 소프트웨어 테스트 방법을 예시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 소프트웨어 테스트 전 및 테스트 후의 테스트 결과 이미지를 예시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 제 2 테스트부를 통한 소프트웨어 테스트 방법을 예시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 소프트웨어 테스트 방법의 순서도이다.
도 8은 본 발명의 일 실시예에 따른 제 1 테스트부를 통한 소프트웨어 테스트 방법의 순서도이다.
도 9는 본 발명의 일 실시예에 따른 제 2 테스트부를 통한 소프트웨어 테스트 방법의 순서도이다.
도 10은 본 발명의 다른 실시예에 따른 소프트웨어 테스트 장치의 블록도이다.
도 11은 본 발명의 일 실시예에 따른 하이브리드 테스트부의 블록도이다.
도 12는 본원 발명의 다른 실시예에 따른 하이브리트 테스트부를 통한 소프트웨어 테스트 방법의 순서도이다.
1 is a block diagram of a software test apparatus according to an embodiment of the present invention.
2 is a block diagram of a first test unit according to an exemplary embodiment of the present invention.
3 is a block diagram of a second test unit according to an exemplary embodiment of the present invention.
4 is a diagram illustrating a software test method through a first test unit according to an embodiment of the present invention.
5 is a diagram illustrating a test result image before and after a software test according to an embodiment of the present invention.
6 is a diagram illustrating a software test method through a second test unit according to an embodiment of the present invention.
7 is a flowchart of a software test method according to an embodiment of the present invention.
8 is a flowchart illustrating a software test method through a first test unit according to an embodiment of the present invention.
9 is a flowchart illustrating a software test method through a second test unit according to an embodiment of the present invention.
10 is a block diagram of a software test apparatus according to another embodiment of the present invention.
11 is a block diagram of a hybrid test unit according to an embodiment of the present invention.
12 is a flowchart of a software test method through a hybrid test unit according to another exemplary embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

도 1은 본 발명의 일 실시예에 따른 소프트웨어 테스트 장치의 블록도이다.1 is a block diagram of a software test apparatus according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 소프트웨어 테스트 장치(100)는 제 1 테스트부(110), 제 2 테스트부(120), 테스트 제어부(130), 테스트 검증부(140), 테스트 결과 생성부(150), 스크립트 저장부(160), 로드부(170) 및 데이터 저장부(180)를 포함한다. As shown in FIG. 1, the software test apparatus 100 of the present invention includes a first test unit 110, a second test unit 120, a test control unit 130, a test verification unit 140, and a test result generation. The unit 150 includes a script storage unit 160, a load unit 170, and a data storage unit 180.

본 발명의 실시예에 따른 소프트웨어는 반도체 공정제어 소프트웨어로서 FDC(Fault Detection and Classification) 및 R2R(Run to Run) 중 하나 이상을 포함할 수 있다. FDC 공정제어 소프트웨어는 반도체 공정에서 반도체 장비와 각각의 공정을 제어하기 위한 것으로, 웨이브릿(wavelet)을 분석하고 결함여부를 검사하여 반도체 생성 수율 및 생산성을 향상시키고 불량률을 감소시킨다. The software according to an embodiment of the present invention may include one or more of fault detection and classification (FDC) and run to run (R2R) as semiconductor process control software. FDC process control software is used to control semiconductor equipment and individual processes in semiconductor processes. It analyzes wavelets and checks for defects to improve semiconductor production yield and productivity and reduce defect rates.

그리고, R2R 공정제어 소프트웨어는 반도체 공정제어 프로세스를 안정화시키고 방해 요소들의 영향을 최소화하기 위한 것으로, 유동적으로 엔지니어의 요구사항에 따라 커스터마이징(customizing)될 수 있다. 이때, 본 발명의 소프트웨어 테스트 장치(100)를 통해 커스터마이징이 필요한 반도체 공정제어 소프트웨어에 대한 테스트 효율성을 높일 수 있다.The R2R process control software is designed to stabilize the semiconductor process control process and minimize the impact of disturbances, and can be flexibly customized according to the engineer's requirements. In this case, the test efficiency of the semiconductor process control software requiring customization can be improved through the software test apparatus 100 of the present invention.

본 발명의 소프트웨어 테스트 장치(100)는 상술한 반도체 공정제어 소프트웨어에 한정되지 않고, 휴대폰, 컴퓨터, 영상 기기, 가전 기기 등 각종 산업 분야 및 개인 휴대용 기기 등에서 동작하는 소프트웨어를 테스트하거나 구현 과정에 있는 소프트웨어를 테스트하는 데에 이용될 수 있다. 이하, 소프트웨어 테스트 장치(100)의 각 구성요소에 대해서 구체적으로 설명하기로 한다.The software test apparatus 100 of the present invention is not limited to the above-described semiconductor process control software, and software for testing or implementing software operating in various industrial fields such as mobile phones, computers, imaging devices, home appliances, and personal portable devices. It can be used to test. Hereinafter, each component of the software test apparatus 100 will be described in detail.

제 1 테스트부(110)는 테스트 대상 소프트웨어에 대해 수행된 입력수단의 입력을 캡쳐(capture)(또는 기록)하여 제 1 테스트 스크립트를 생성하고, 생성된 제 1 테스트 스크립트를 재생(playback or replay)하여 소프트웨어에 대한 테스트를 수행한다. 예컨대 제 1 테스트부(110)는 사용자가 직접 수동으로 테스트 스크립트를 작성하기 어렵거나 GUI(Graphic User Interface)를 기초로 동작하는 소프트웨어를 테스트하는 데에 사용될 수 있다. The first test unit 110 captures (or records) input of the input means performed on the software to be tested to generate a first test script, and plays back or replays the generated first test script. Test the software. For example, the first test unit 110 may be used to test software that is difficult for a user to manually write a test script or operates based on a graphical user interface (GUI).

상술한 입력수단은 마우스, 터치패드 및 키보드 중 하나 이상을 포함할 수 있다. 그리고, 사용자가 소프트웨어에 대해 입력수단을 통한 입력을 수행하도록 인터페이스가 제공될 수 있다. 제 1 테스트부(110)의 자세한 구성에 대해서는 도 2에서 설명하기로 한다.The input means described above may include one or more of a mouse, a touch pad, and a keyboard. In addition, an interface may be provided for the user to perform input through the input means to the software. A detailed configuration of the first test unit 110 will be described with reference to FIG. 2.

제 2 테스트부(120)는 복수의 이벤트 정보를 포함하는 제 2 테스트 스크립트를 생성하고, 생성된 제 2 테스트 스크립트의 이벤트 정보를 기초로 소프트웨어에 대한 테스트를 수행한다. 여기서, 사용자가 이벤트 정보를 입력하거나 수정할 수 있도록 인터페이스가 제공될 수 있다.The second test unit 120 generates a second test script including a plurality of event information, and performs a test on software based on the generated event information of the second test script. Here, an interface may be provided so that a user may input or modify event information.

이와 같은 제 2 테스트부(120)는 소프트웨어의 특정 모듈, 복수의 모듈들이 통합되어 동작하도록 하는 인터페이스, 각 프로그램 코드의 변수 및 함수 정의 등에 대한 빠르고 정밀한 테스트를 요구할 경우 사용될 수 있다. 제 2 테스트부(120)의 구성에 대한 보다 구체적인 설명은 도 3에서 설명하기로 한다.The second test unit 120 may be used when a fast and precise test is required for a specific module of software, an interface for allowing a plurality of modules to be integrated, and operation of variable and function definition of each program code. A more detailed description of the configuration of the second test unit 120 will be described with reference to FIG. 3.

테스트 제어부(130)는 사용자의 선택 또는 소프트웨어에 대한 테스트 설정값에 따라 제 1 테스트부(110) 및 제 2 테스트부(120) 중 어느 하나를 실행시키고 소프트웨어에 대한 테스트를 제어한다. 여기서, 테스트 제어부(130)는 사용자가 선택한 사항에 따라 제 1 테스트부(110) 및 제 2 테스트부(120) 중 어느 하나를 실행시킬 수 있다. 또한, 테스트 제어부(130)는 테스트 설정값에 따라 제 1 테스트부(110) 및 제 2 테스트부(120) 중 어느 하나를 실행시킬 수도 있다.The test control unit 130 executes any one of the first test unit 110 and the second test unit 120 according to the user's selection or the test setting value for the software and controls the test for the software. Here, the test controller 130 may execute any one of the first test unit 110 and the second test unit 120 according to the user's selection. In addition, the test controller 130 may execute any one of the first test unit 110 and the second test unit 120 according to the test set value.

이때, 테스트 제어부(130)는 테스트 설정값에 따라 제 1 테스트부(110) 및 제 2 테스트부(120)를 하나씩 순차적으로 실행시킬 수 있다. 예컨대, 테스트 제어부(130)는 제 1 테스트부(110)에 대한 테스트가 완료된 이후 검증 결과에 따라 이어서 제 2 테스트부(120)를 실행시킬 수 있다. In this case, the test controller 130 may sequentially execute the first test unit 110 and the second test unit 120 one by one according to the test set value. For example, after the test on the first test unit 110 is completed, the test controller 130 may execute the second test unit 120 according to the verification result.

보다 구체적으로, 테스트 제어부(130)는 테스트 설정값에 따라 제 1 테스트부(110)를 통해 소프트웨어에 대한 테스트를 수행한 결과, 하기 테스트 검증부(140)를 통해 해당 소프트웨어의 특정 모듈이 비정상으로 판단된 경우, 제 2 테스트부(120)를 실행시켜 해당 모듈에 대한 보다 정밀한 테스트가 수행되도록 할 수 있다. More specifically, the test control unit 130 performs a test on the software through the first test unit 110 according to the test set value, the specific module of the software through the test verification unit 140 is abnormal If it is determined, the second test unit 120 may be executed to perform a more precise test on the corresponding module.

이때, 테스트 제어부(130)는 에러가 발생한 소프트웨어의 특정 모듈에 대한 테스트를 수행하기 위해 필요한 이벤트 정보를 체크 리스트 형태로 사용자에게 제공하거나, 자동으로 제 2 테스트부(120)로 전달하여 제 2 테스트 스크립트가 생성되도록 할 수 있다.In this case, the test control unit 130 provides the user with event information necessary to perform a test on a specific module of the software in which an error occurs in the form of a check list, or automatically transfers it to the second test unit 120 to perform a second test. You can have a script generated.

또한, 테스트 제어부(130)는 테스트 설정값에 따라 제 1 테스트부(110) 및 제 2 테스트부(120) 중 어느 하나를 정해진 테스트 속도에 따라 일정 횟수 반복 실행시켜 소프트웨어에 대한 테스트를 수행하도록 하여, 소프트웨어 테스트의 신뢰성을 높일 수 있다. 이와 같이, 각각 특성을 가지는 제 1 테스트부(110) 및 제 2 테스트부(120)를 사용자의 선택 또는 테스트 설정값에 따라 실행시킴으로써, 보다 정밀하고 신뢰성 있는 소프트웨어에 대한 자동화된 테스트를 수행할 수 있다.In addition, the test controller 130 repeatedly executes one of the first test unit 110 and the second test unit 120 a predetermined number of times according to a predetermined test rate according to the test set value to perform a test on the software. This can increase the reliability of software tests. As such, by executing the first test unit 110 and the second test unit 120 having characteristics, respectively, according to a user's selection or test setting value, an automated test for more precise and reliable software can be performed. have.

테스트 검증부(140)는 제 1 테스트부(110) 및 제 2 테스트부(120) 중 어느 하나의 실행에 따라 테스트가 수행된 소프트웨어의 테스트 결과 데이터를 기초로, 소프트웨어의 정상 여부를 판단하기 위한 검증을 수행한다. 여기서, 테스트 검증부(140)는 하기 도 2의 이미지 검증부(118) 및 도 3의 이벤트 검증부(126)를 포함할 수 있다. 또한, 테스트 검증부(140)는 이미지 검증부(118) 및 이벤트 검증부(126)로 각각 구현되어 제 1 테스트부(110) 및 제 2 테스트부(120)에 포함될 수 있다.The test verification unit 140 may determine whether the software is normal based on the test result data of the software on which the test is performed according to one of the first test unit 110 and the second test unit 120. Perform verification. Here, the test verifier 140 may include the image verifier 118 of FIG. 2 and the event verifier 126 of FIG. 3. In addition, the test verifier 140 may be implemented as the image verifier 118 and the event verifier 126, respectively, and included in the first test unit 110 and the second test unit 120.

테스트 결과 생성부(150)는 제 1 테스트부(110) 및 제 2 테스트부(120) 중 어느 하나의 실행에 따라 테스트가 수행된 소프트웨어의 테스트 결과 데이터 및 이를 기초로 한 소프트웨어의 검증 결과를 평가 보고서로 생성한다. 예컨대 테스트 결과 생성부(150)는 XML(extensible markup language), HTML(HyperText Markup Language) 등의 형태로 평가 보고서를 작성할 수 있다. 여기서, 테스트 일시, 테스트 소요 시간, 테스트를 패스한 객체, 응답시간, 처리량, 처리속도, 활용도 등에 대한 정보가 평가 보고서에 포함될 수 있다.The test result generator 150 evaluates the test result data of the software on which the test is performed according to the execution of any one of the first test unit 110 and the second test unit 120 and the verification result of the software based on the test result. Generate as a report. For example, the test result generator 150 may create an evaluation report in the form of extensible markup language (XML), HyperText Markup Language (HTML), or the like. Here, the information about the test date and time, the test time required, the object passing the test, the response time, the throughput, the processing speed, the utilization, etc. may be included in the evaluation report.

스크립트 저장부(160)는 제 1 테스트 스크립트 및 제 2 테스트 스크립트 중 하나 이상을 파일로 저장한다. 여기서, 제 1 테스트 스크립트 및 제 2 테스트 스크립트는 마크업 언어(markup language)로 작성될 수 있다. 예컨대, 제 1 테스트 스크립트 및 제 2 테스트 스크립트 중 하나 이상은 마크업 언어 중 XML(extensible markup language) 언어로 작성될 수 있다.The script storage unit 160 stores one or more of the first test script and the second test script as a file. Here, the first test script and the second test script may be written in a markup language. For example, one or more of the first test script and the second test script may be written in an extensible markup language (XML) language among markup languages.

로드부(170)는 테스트 제어부(130)의 제어에 따라 제 1 테스트 스크립트 및 제 2 테스트 스크립트의 저장 파일을 로드(load)하여, 소프트웨어에 대한 테스트가 수행되도록 한다. 예컨대, 제 1 테스트부(110)가 실행될 경우 기 작성된 제 1 테스트 스크립트가 로드될 수 있다. 이때, 기 작성된 테스트 스크립트를 재 사용하여 소프트웨어를 테스트할 수 있어, 테스트 스크립트 작성으로 인한 시간 비용을 줄일 수 있다.The load unit 170 loads the storage files of the first test script and the second test script under the control of the test control unit 130, so that a test of the software is performed. For example, when the first test unit 110 is executed, a previously written first test script may be loaded. At this time, it is possible to test the software by reusing the pre-written test script, thereby reducing the time cost of writing the test script.

데이터 저장부(180)는 소프트웨어 테스트 수행 및 검증을 위한 알고리즘, 설정값 및 기타 각종 정보를 저장한다. 예컨대 테스트 설정값, 이벤트 정보, 테스트 데이터, 테스트 속도, 테스트 반복 횟수, 테스트 결과 데이터, 검증 결과 데이터 등에 대한 정보가 저장될 수 있다.The data storage unit 180 stores algorithms, setting values, and various other information for performing and verifying software tests. For example, information about a test set value, event information, test data, test speed, test repetition count, test result data, and verification result data may be stored.

도 2는 본 발명의 일 실시예에 따른 제 1 테스트부의 블록도이다.2 is a block diagram of a first test unit according to an exemplary embodiment of the present invention.

도 2에 도시된 바와 같이, 제 1 테스트부(110)는 제 1 테스트 스크립트 생성부(112), 제 1 테스트 스크립트 실행부(114), 이미지 생성부(116) 및 이미지 검증부(118)를 포함한다.As illustrated in FIG. 2, the first test unit 110 may include a first test script generator 112, a first test script execution unit 114, an image generator 116, and an image verifier 118. Include.

제 1 테스트 스크립트 생성부(112)는 소프트웨어에 대해 수행된 입력수단의 입력을 캡쳐하여 제 1 테스트 스크립트로 생성한다. 여기서, 마우스, 키보드 및 터치 패드 등을 통한 입력이 캡쳐되어 제 1 테스트 스크립트로 생성될 수 있다. 예컨대 사용자가 소프트웨어의 GUI 콤포넌트(component)(또는 컨트롤)에 대해 마우스 또는 키보드를 통한 입력(클릭, 드래그, 등)을 수행하였을 경우, 이에 대한 캡쳐가 수행되어 해당 캡쳐된 값을 기초로 한 제 1 테스트 스크립트가 생성될 수 있다. The first test script generation unit 112 captures the input of the input means performed on the software and generates the first test script. Here, input through a mouse, keyboard, touch pad, etc. may be captured and generated as a first test script. For example, if the user has made an input (click, drag, etc.) through a mouse or keyboard to a GUI component (or control) of the software, a capture of this is performed and the first based on the captured value. Test scripts can be generated.

이때, 사용자가 선택한 GUI 콤포넌트의 속성값에 따라 테스트 데이터가 함께 생성될 수 있다. 예컨대, GUI 콤포넌트가 반도체 공정제어 과정에서 기기의 회전속도 및 각도를 조절하는 모듈인 경우, 회전속도 및 각도 제어와 관련된 테스트 데이터가 해당 모듈에 대응되도록 자동 생성될 수 있다.At this time, the test data may be generated together according to the attribute value of the GUI component selected by the user. For example, when the GUI component is a module that adjusts the rotational speed and angle of the device in a semiconductor process control process, test data related to the rotational speed and angle control may be automatically generated to correspond to the module.

제 1 테스트 스크립트 실행부(114)는 제 1 테스트 스크립트를 재생(playback or replay)시켜 소프트웨어에 대한 테스트를 수행한다. 이때, 설정값에 따라 반복해서 테스트를 수행할 수 있다.The first test script execution unit 114 performs a test on the software by playing back or replaying the first test script. At this time, the test may be repeatedly performed according to the set value.

이미지 생성부(116)는 입력수단의 입력을 캡쳐하기 전의 소프트웨어에 대한 테스트 결과 이미지와 입력수단의 입력을 캡쳐할 때의 소프트웨어에 대한 테스트 결과 이미지를 비교한 차이점을 기초로 제 1 이미지를 생성한다. 또한, 이미지 생성부(116)는 제 1 테스트 스크립트를 재생하기 전의 소프트웨어에 대한 테스트 결과 이미지와 제 1 테스트 스크립트를 재생한 후의 소프트웨어에 대한 테스트 결과 이미지를 비교한 차이점을 기초로 제 2 이미지를 생성한다. The image generator 116 generates a first image based on a difference between a test result image of the software before capturing the input of the input means and a test result image of the software when capturing the input of the input means. . In addition, the image generator 116 generates a second image based on a difference between a test result image of the software before playing the first test script and a test result image of the software after playing the first test script. do.

여기서, 이미지 생성부(116)는 사용자가 캡쳐한 화면을 통해 제 1 이미지 및 제 2 이미지를 생성하거나, 자동으로 해당 소프트웨어에 대한 테스트 결과 데이터를 이미지 처리하여 이미지 파일로 생성할 수 있다. 예컨대, 그래프 형태로 테스트 결과 데이터를 출력하는 반도체 공정제어를 수행하는 소프트웨어의 경우에는 테스트 결과 데이터로서 그래프 이미지가 생성될 수 있다.Here, the image generator 116 may generate the first image and the second image through the screen captured by the user, or may automatically process the test result data for the corresponding software as an image file. For example, in the case of software for performing semiconductor process control for outputting test result data in a graph form, a graph image may be generated as test result data.

이미지 검증부(118)는 제 1 이미지와 제 2 이미지의 차이점을 비교하여 소프트웨어의 정상 여부를 판단하기 위한 검증을 수행한다. 예컨대, 상술한 반도체 공정제어를 수행하는 소프트웨어의 경우, 테스트 결과 데이터로서 그래프 이미지가 생성되므로, 이미지 검증부(118)는 입력수단의 입력을 캡쳐할 때의 제 1 이미지와 제 1 테스트 스크립트의 재생에 따라 생성된 제 2 이미지의 차이점을 비교하여 소프트웨어의 정상 여부를 판단하기 위한 검증을 수행한다.The image verifier 118 compares the difference between the first image and the second image and performs verification to determine whether the software is normal. For example, in the case of the software for performing the above-described semiconductor process control, since a graph image is generated as test result data, the image verification unit 118 reproduces the first image and the first test script when capturing the input of the input means. Verification to determine whether the software is normal by comparing the difference between the second image generated according to the.

만약, 제 1 이미지와 제 2 이미지의 차이점이 설정된 기준치를 초과하지 않을 경우, 이미지 검증부(118)는 해당 소프트웨어를 정상으로 판단하고, 그렇지 않을 경우에는 비정상으로 판단할 수 있다. 판단한 결과 데이터는 테스트 결과 생성부(150)로 전달되어 평가 보고서 작성에 이용될 수 있다.If the difference between the first image and the second image does not exceed the set reference value, the image verifying unit 118 may determine that the corresponding software is normal, and if not, may determine that it is abnormal. The determined result data may be transferred to the test result generator 150 and used to prepare an evaluation report.

도 3은 본 발명의 일 실시예에 따른 제 2 테스트부의 블록도이다.3 is a block diagram of a second test unit according to an exemplary embodiment of the present invention.

도 3에 도시된 바와 같이, 제 2 테스트부(120)는 제 2 테스트 스크립트 생성부(122), 제 2 테스트 스크립트 실행부(124) 및 이벤트 검증부(126)를 포함한다.As shown in FIG. 3, the second test unit 120 includes a second test script generation unit 122, a second test script execution unit 124, and an event verification unit 126.

제 2 테스트 스크립트 생성부(122)는 사용자에 의하여 작성된 복수의 이벤트 정보를 포함하는 제 2 테스트 스크립트를 생성한다. 예컨대, 이벤트 정보는 소프트웨어의 특정 모듈을 테스트하기 위한 정보를 포함할 수 있다. 여기서, 사용자는 인터페이스를 통해 이벤트 정보를 직접 입력하거나, 테스트하고자 하는 이벤트 정보를 선택하여 복수의 이벤트 정보를 작성할 수 있다.The second test script generation unit 122 generates a second test script including a plurality of event information created by the user. For example, the event information can include information for testing a particular module of software. Here, the user may directly input the event information through the interface or select the event information to be tested to create a plurality of event information.

또한, 기본적인 이벤트 정보가 미리 설정되어 있는 경우, 사용자는 해당 인터페이스를 통해 이벤트 정보를 추가하거나 삭제할 수 있다. 이후, 제 2 테스트 스크립트 생성부(122)는 사용자에 의해 입력 또는 선택된 이벤트 정보를 파싱(parsing)하여 제 2 테스트 스크립트로 생성할 수 있다.In addition, when basic event information is set in advance, a user may add or delete event information through a corresponding interface. Thereafter, the second test script generation unit 122 may generate the second test script by parsing event information input or selected by the user.

제 2 테스트 스크립트 실행부(124)는 제 2 테스트 스크립트를 기초로 소프트웨어에 대한 테스트를 수행한다. 이때, 제 2 테스트 스크립트의 이벤트 정보에 따라 소프트웨어에 대한 테스트가 수행될 때, 해당 이벤트 정보에 대응되는 테스트 데이터가 함께 제공되어 특정 테스트 데이터에 대한 테스트가 이루어질 수 있다. 이러한 테스트 데이터는 사용자가 직접 입력하거나, 인터페이스를 통해 선택된 이벤트 정보에 따라 자동 생성될 수 있다.The second test script execution unit 124 performs a test on software based on the second test script. In this case, when the test for the software is performed according to the event information of the second test script, test data corresponding to the corresponding event information may be provided together to test the specific test data. Such test data may be input by a user or automatically generated according to event information selected through an interface.

이벤트 검증부(126)는 제 2 테스트 스크립트에 포함된 이벤트 정보에 따라 테스트가 수행된 소프트웨어로부터 테스트 결과 데이터를 수신하고, 테스트 결과 데이터를 해당 이벤트 정보를 기초로 기 생성된 예상 결과 데이터와 비교하여 소프트웨어의 정상 여부를 판단하기 위한 검증을 수행한다.The event verification unit 126 receives the test result data from the software on which the test is performed according to the event information included in the second test script, and compares the test result data with the expected result data generated based on the corresponding event information. Perform verification to determine whether the software is normal.

도 4는 본 발명의 일 실시예에 따른 제 1 테스트부를 통한 소프트웨어 테스트 방법을 예시한 도면이다.4 is a diagram illustrating a software test method through a first test unit according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 사용자는 인터페이스(400)를 통해 제 1 테스트부(110)를 통한 소프트웨어 테스트를 수행할 수 있다. 이때, 사용자는 테스트 수행을 위한 각각의 값을 설정할 수 있으며, 기본적인 값들이 미리 설정되어 있는 경우 이를 수정하여 소프트웨어 테스트를 진행할 수 있다. 이하 보다 구체적으로 설명하기로 한다.As illustrated in FIG. 4, the user may perform a software test through the first test unit 110 through the interface 400. In this case, the user may set each value for performing the test, and if the basic values are set in advance, the user may modify the value and proceed with the software test. Hereinafter, this will be described in more detail.

먼저, 사용자는 캡쳐(capture) 버튼(412)을 클릭하여 테스트 대상 소프트웨어에 대해 수행된 입력수단의 입력을 캡쳐할 수 있다. 이때, 마우스를 통한 입력이 캡쳐되어 마우스 캡쳐 영역(402)에 표시되고, 키보드를 통한 입력이 캡쳐되어 키보드 캡쳐 영역(404)에 표시된다. First, the user can click the capture button 412 to capture the input of the input means performed on the software under test. At this time, input through the mouse is captured and displayed in the mouse capture area 402, and input through the keyboard is captured and displayed in the keyboard capture area 404.

다음으로, 사용자는 스크립트 저장 버튼(413)을 클릭하여 입력수단의 입력을 캡쳐한 값을 기초로 제 1 테스트 스크립트를 생성 및 저장한다. 이때, 스크립트 로드 버튼(414)을 클릭하여 기 저장된 제 1 테스트 스크립트를 로드할 수 있다. 여기서, 해당 소프트웨어를 빌드하고, 입력수단의 입력을 통한 캡쳐가 수행되었을 때 제 1 테스트 스크립트가 자동으로 생성될 수 있으며, 기 저장된 제 1 테스트 스크립트가 있을 경우 이를 자동으로 체크하여 해당 기 저장된 제 1 테스트 스크립트를 로드할 수도 있다. 그리고, 생성된 제 1 테스트 스크립트와 관련된 내용이 스크립트 표시 영역(426)에 표시된다.Next, the user clicks the save script button 413 to generate and store the first test script based on the value of capturing the input of the input means. At this time, the script load button 414 may be clicked to load the pre-stored first test script. Here, the first test script may be automatically generated when the corresponding software is built, and the capture through the input of the input means is performed, and if there is a previously stored first test script, the first test script is automatically checked and the first stored test script is automatically stored. You can also load test scripts. Then, the content related to the generated first test script is displayed in the script display area 426.

다음으로, 해당 소프트웨어에 대한 테스트 반복 횟수를 테스트 반복 횟수 설정 버튼(409)을 클릭하여 설정하고, 테스트 속도를 테스트 속도 설정 버튼(410)을 클릭하여 설정한다. 다음으로, 재생 버튼(416)을 클릭하면, 제 1 테스트 스크립트를 재생하여 소프트웨어에 대한 테스트를 수행한다.Next, the number of test repetitions for the corresponding software is set by clicking the test repetition number setting button 409 and the test rate is set by clicking the test rate setting button 410. Next, when play button 416 is clicked, the first test script is played to test the software.

그리고, 사용자는 캡쳐 버튼(418)을 클릭하여 소프트웨어에 대한 테스트 결과 이미지를 생성한다. 여기서, 소프트웨어에 대한 테스트가 완료되면 자동으로 테스트 결과 이미지가 생성될 수 있다. The user then clicks the capture button 418 to generate a test result image for the software. Here, the test result image may be automatically generated when the test for the software is completed.

도 5는 본 발명의 일 실시예에 따른 소프트웨어 테스트 전 및 테스트 후의 테스트 결과 이미지를 예시한 도면이다.5 is a diagram illustrating a test result image before and after a software test according to an embodiment of the present invention.

이어서 설명하면, 도 5의 (a)는 입력수단의 입력을 캡쳐하기 전의 해당 소프트웨어에 대한 테스트 결과 이미지를 나타낸다. 이때, 입력수단의 입력을 캡쳐하기 전이므로, 테스트 결과 이미지가 나타나지 않게 된다. 그리고, 도 5의 (b)는 입력수단의 입력을 캡쳐한 후의 소프트웨어에 대한 테스트 결과 이미지를 나타낸다. In the following description, Fig. 5A shows a test result image of the corresponding software before capturing the input of the input means. At this time, since the input of the input means is not captured, the test result image does not appear. 5B shows a test result image of the software after capturing the input of the input means.

이때, 도 5의 (a) 및 (b)의 이미지는 테스트 결과 데이터에 대해 캡쳐 버튼(418)을 클릭하였을 때에 화면 캡쳐를 통해 생성되거나, 테스트가 완료되었을 때에 자동으로 생성될 수 있다. 그리고, 도 5의 (c)는 (a)의 그래프 이미지와 (b)의 그래프 이미지를 비교한 차이점을 기초로 생성된 제 1 이미지를 나타낸다.In this case, the images of FIGS. 5A and 5B may be generated through screen capture when the capture button 418 is clicked on the test result data or automatically generated when the test is completed. 5C illustrates a first image generated based on a difference between the graph image of (a) and the graph image of (b).

이와 같이, 입력수단의 입력을 캡쳐하기 전의 소프트웨어에 대한 테스트 결과 이미지와 입력수단의 입력을 캡쳐한 후의 소프트웨어에 대한 테스트 결과 이미지를 비교한 차이점을 기초로 제 1 이미지를 생성할 수 있다. As such, the first image may be generated based on a difference between the test result image of the software before capturing the input of the input means and the test result image of the software after the input of the input means.

또한, 동일한 방법으로 제 1 테스트 스크립트를 재생하기 전의 소프트웨어에 대한 테스트 결과 이미지와 제 1 테스트 스크립트를 재생한 후의 소프트웨어에 대한 테스트 결과 이미지를 비교한 차이점을 기초로 제 2 이미지를 생성할 수 있다. In addition, the second image may be generated based on a difference between a test result image of the software before playing the first test script and a test result image of the software after playing the first test script.

다시 도 4로 돌아가서 설명하면, 사용자는 이미지 로드 버튼(422)을 클릭하여 소프트웨어의 테스트 전/후로 생성된 테스트 결과 이미지(도 5의 (a) 및 (b)의 이미지 참조)를 각각 로드한다. 그리고, 비교 버튼(424)을 클릭하면 로드된 이미지간의 차이점 비교가 이루어지고, 이를 통해 제 1 이미지(도 5의 (c) 참조) 또는 제 2 이미지가 생성된다. 여기서, 각각의 로드된 이미지에 대한 명칭이 이미지 생성 영역(406)에 표시될 수 있다.4 again, the user clicks the image load button 422 to load test result images (see images of FIGS. 5A and 5B) generated before and after the test of the software, respectively. When the comparison button 424 is clicked on, a difference comparison between the loaded images is performed, thereby generating a first image (see FIG. 5C) or a second image. Here, a name for each loaded image may be displayed in the image generation area 406.

그리고, 이미지 로드 버튼(422)과 비교 버튼(424)을 통해 최종적으로 제 1 이미지와 제 2 이미지간에 비교가 이루어지면, 해당 비교 결과 값을 기초로 소프트웨어의 검증 결과가 테스트 결과 영역(408)에 표시될 수 있다. 구체적으로 테스트 결과 영역(408)에는 테스트 단계, 테스트 이미지, 테스트 결과, 에러로 예상되는 픽셀 등에 대한 정보가 포함될 수 있다.When a comparison is finally made between the first image and the second image through the image load button 422 and the compare button 424, the verification result of the software is transmitted to the test result area 408 based on the comparison result value. Can be displayed. In more detail, the test result region 408 may include information about a test step, a test image, a test result, a pixel expected to be an error, and the like.

상술한 과정에서 화면을 여러 번 캡쳐하여 테스트하고자 하는 내용이 변경된 부분만을 추출함으로써, 캡쳐를 통해 미리 생성해 놓은 이미지와 테스트 스크립트를 재생하여 생성한 이미지가 특정 부분이(GUI) 변경되었기 때문에 발생하는 차이로 인해 검증 결과가 오류로 나타나는 것을 방지할 수 있다.By capturing the screen several times in the above-described process and extracting only the portion where the content to be tested is changed, the image generated by playing the test script and the image generated in advance through the capture is generated because the specific portion (GUI) is changed. The difference prevents the verification result from appearing as an error.

도 6a 및 도 6b는 본 발명의 일 실시예에 따른 제 2 테스트부를 통한 소프트웨어 테스트 방법을 예시한 도면이다.6A and 6B illustrate a software test method through a second test unit according to an exemplary embodiment of the present invention.

도 6a에 도시된 바와 같이, 사용자가 복수의 이벤트 정보를 입력하여 제 2 테스트 스크립트(502)를 생성할 수 있다. 여기서, 사용자는 인터페이스를 통해 소프트웨어를 테스트하기 위한 이벤트 정보를 입력하거나 기 입력된 이벤트 정보를 수정할 수 있다. 이때, 이벤트 정보 중 필요한 이벤트 정보를 선택하는 체크 리스트 형태로 인터페이스가 제공될 수 있다. 이후, 제 2 테스트 스크립트(502)에 포함된 테스트 시나리오의 각 단계(step)에 따라 이벤트 정보가 소프트웨어에 전달되어 테스트가 진행된다.As shown in FIG. 6A, a user may input a plurality of event information to generate a second test script 502. Here, the user may input event information for testing the software through the interface or may modify the previously input event information. In this case, the interface may be provided in the form of a check list for selecting necessary event information among the event information. Thereafter, the event information is transmitted to the software according to each step of the test scenario included in the second test script 502, and the test is performed.

도 6b에 도시된 바와 같이, 제 2 테스트 스크립트(502)에 포함된 이벤트 정보는 순차적으로 테스트 시나리오(504)에 따라 소프트웨어에 전달되어 해당 소프트웨어의 특정 모듈의 기능에 대한 정상 여부를 테스트할 수 있다. 그리고, 제 2 테스트 스크립트(502)의 이벤트 정보에 따라 소프트웨어에 대한 테스트가 완료되면, 상술한 테스트 결과 영역(408)에 테스트 결과 데이터가 표시된다. As illustrated in FIG. 6B, the event information included in the second test script 502 may be sequentially transmitted to the software according to the test scenario 504 to test whether the function of the specific module of the software is normal. . When the test for the software is completed according to the event information of the second test script 502, the test result data is displayed in the test result area 408 described above.

도 7은 본 발명의 일 실시예에 따른 소프트웨어 테스트 방법의 순서도이다.7 is a flowchart of a software test method according to an embodiment of the present invention.

도 7에 도시된 바와 같이, 먼저 사용자의 선택 또는 테스트 대상 소프트웨어에 대한 테스트 설정값에 따라 제 1 테스트부(110) 및 제 2 테스트부(120) 중 어느 하나를 실행시킨다(S701). 예컨대, 사용자는 제 1 테스트부(110) 및 제 2 테스트부(120) 중 어느 하나를 선택할 수 있는 인터페이스를 통해 제 1 테스트부(110) 및 제 2 테스트부(120) 중 어느 하나를 선택하여 실행시킬 수 있다. 이때, 제 1 테스트부(110) 및 제 2 테스트부(120) 중 어느 하나에 대한 테스트 설정값이 설정되어 있는 경우, 그에 따라 제 1 테스트부(110) 및 제 2 테스트부(120) 중 어느 하나가 실행될 수 있다.As shown in FIG. 7, one of the first test unit 110 and the second test unit 120 is first executed according to a user's selection or a test setting value for the test target software (S701). For example, a user may select one of the first test unit 110 and the second test unit 120 through an interface through which one of the first test unit 110 and the second test unit 120 can be selected. Can be run. In this case, when a test set value for any one of the first test unit 110 and the second test unit 120 is set, any one of the first test unit 110 and the second test unit 120 is accordingly set. One can be executed.

다음으로, 제 1 테스트부(110) 및 제 2 테스트부(120) 중 어느 하나의 실행에 따라 소프트웨어에 대한 테스트를 수행한다(S711). 여기서, 제 1 테스트부(110)의 실행에 따라 소프트웨어에 대한 테스트를 수행하는 과정은 도 8에서 구체적으로 설명하기로 한다. 그리고, 제 2 테스트부(120)의 실행에 따라 소프트웨어에 대한 테스트를 수행하는 과정은 도 9에서 구체적으로 설명하기로 한다.Next, the software test is performed according to the execution of any one of the first test unit 110 and the second test unit 120 (S711). Here, a process of performing a test on software according to the execution of the first test unit 110 will be described in detail with reference to FIG. 8. In addition, a process of performing a test for the software according to the execution of the second test unit 120 will be described in detail with reference to FIG. 9.

다음으로, 테스트가 수행된 소프트웨어의 테스트 결과 데이터를 기초로, 소프트웨어의 정상 여부를 판단하기 위한 검증을 수행한다(S721). 이때, 평가 보고서가 작성되어 검증 결과를 사용자에게 알릴 수 있다.Next, based on the test result data of the software on which the test is performed, verification is performed to determine whether the software is normal (S721). At this time, an evaluation report may be created to inform the user of the verification result.

도 8은 본 발명의 일 실시예에 따른 제 1 테스트부를 통한 소프트웨어 테스트 방법의 순서도이다.8 is a flowchart illustrating a software test method through a first test unit according to an embodiment of the present invention.

도 8에 도시된 바와 같이, 먼저 테스트 대상 소프트웨어에 대해 수행된 입력수단의 입력을 캡쳐한다(S801). As shown in FIG. 8, first, an input of an input means performed on the software under test is captured (S801).

다음으로, 입력수단의 입력을 캡쳐하기 전의 소프트웨어에 대한 테스트 결과 이미지와 입력수단의 입력을 캡쳐한 후의 소프트웨어에 대한 테스트 결과 이미지를 비교한 차이점을 기초로 제 1 이미지를 생성한다(S811). 본 단계(S811)는 소프트웨어의 정상 여부를 판단하기 위한 것으로, 단순히 소프트웨어에 대한 테스트를 수행할 경우에는 생략될 수 있다. 그리고 제 1 이미지는 사용자가 화면 캡쳐 버튼을 클릭하는 과정을 통해 생성되거나, 사용자에 의한 입력수단의 입력을 캡쳐한 후에 완료 버튼 동작과 함께 생성될 수 있다.Next, a first image is generated based on a difference between a test result image of software before capturing the input of the input means and a test result image of software after capturing the input of the input means (S811). This step (S811) is for determining whether the software is normal, and may be omitted when simply testing the software. The first image may be generated by the user clicking the screen capture button, or may be generated together with the completion button operation after capturing the input of the input means by the user.

다음으로, 입력수단의 입력을 캡쳐한 값을 기초로 제 1 테스트 스크립트를 생성한다(S821). 여기서, 기 저장된 제 1 테스트 스크립트가 있으면, 해당 제 1 테스트 스크립트를 로드할 수 있다.Next, a first test script is generated based on the value of capturing the input of the input means (S821). Here, if there is a previously stored first test script, the first test script may be loaded.

다음으로, 제 1 테스트 스크립트를 재생하여 소프트웨어에 대한 테스트를 수행한다(S831). Next, the first test script is reproduced to test the software (S831).

다음으로, 제 1 테스트 스크립트를 재생하기 전의 소프트웨어에 대한 테스트 결과 이미지와 제 1 테스트 스크립트를 재생한 후의 소프트웨어에 대한 테스트 결과 이미지를 비교한 차이점을 기초로 제 2 이미지를 생성한다(S841).Next, a second image is generated based on a difference between a test result image of software before playing the first test script and a test result image of software after playing the first test script (S841).

다음으로, 제 1 이미지와 제 2 이미지의 차이점을 비교하여, 소프트웨어의 정상 여부를 판단하기 위한 검증을 수행한다(S851). 이때, 제 1 이미지와 제 2 이미지의 차이가 기준치 범위안에 있을 경우에는 해당 소프트웨어의 테스트 결과를 정상으로 판단한다.Next, by comparing the difference between the first image and the second image, verification is performed to determine whether the software is normal (S851). At this time, when the difference between the first image and the second image is within the reference value range, it is determined that the test result of the corresponding software is normal.

도 9는 본 발명의 일 실시예에 따른 제 2 테스트부를 통한 소프트웨어 테스트 방법의 순서도이다.9 is a flowchart illustrating a software test method through a second test unit according to an embodiment of the present invention.

도 9에 도시된 바와 같이, 먼저 사용자에 의해 입력된 복수의 이벤트 정보를 포함하는 제 2 테스트 스크립트를 생성한다(S901). 여기서, 기 저장된 제 2 테스트 스크립트가 있으면, 해당 제 2 테스트 스크립트를 로드할 수 있다.As shown in FIG. 9, first, a second test script including a plurality of event information input by a user is generated (S901). Here, if there is a previously stored second test script, the second test script may be loaded.

다음으로, 제 2 테스트 스크립트의 이벤트 정보를 기초로 소프트웨어에 대한 테스트를 수행한다(S911).Next, a test of the software is performed based on the event information of the second test script (S911).

다음으로, 제 2 테스트 스크립트에 포함된 이벤트 정보에 따라 테스트가 수행된 소프트웨어로부터 테스트 결과 데이터를 수신한다(S921).Next, the test result data is received from the software on which the test is performed according to the event information included in the second test script (S921).

다음으로, 테스트 결과 데이터를 이벤트 정보에 따라 기 생성된 예상 결과 데이터와 비교하여 소프트웨어의 정상 여부를 판단하기 위한 검증을 수행한다(S931). 여기서, 테스트 결과 데이터와 기 생성된 예상 결과 데이터를 비교한 결과 값이 기준치 범위안에 있을 경우에는 해당 소프트웨어의 테스트 결과를 정상으로 판단한다.Next, the test result data is compared with the predicted result data previously generated according to the event information, and verification for determining whether the software is normal is performed (S931). If the result of comparing the test result data with the previously generated expected result data is within the reference range, the test result of the corresponding software is determined to be normal.

한편, 도 1 내지 도 3에서 도시된 각각의 구성요소는 일종의 '모듈'로 구성될 수 있다. 상기 '모듈'은 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(ASIC, Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 역할들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 구성요소들과 모듈들에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다.Meanwhile, each component illustrated in FIGS. 1 to 3 may be configured as a kind of 'module'. The term 'module' refers to a hardware component such as software or a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC), and the module performs certain roles. However, a module is not limited to software or hardware. A module may be configured to reside on an addressable storage medium and may be configured to execute one or more processors. The functionality provided by the components and modules may be combined into a smaller number of components and modules or further separated into additional components and modules.

상술된 스크립트 저장부(160) 및 데이터 저장부(180)는 캐쉬, ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 및 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 소자 또는 RAM(Random Access Memory)과 같은 휘발성 메모리 소자 또는 하드디스크 드라이브(HDD, Hard Disk Drive), CD-ROM과 같은 저장 매체 중 적어도 하나로 구현될 수 있으나 이에 한정되지는 않는다.The above-described script storage unit 160 and data storage unit 180 may include a cache, a read only memory (ROM), a programmable ROM (PROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), and a flash memory (Flash). It may be implemented as at least one of a nonvolatile memory device such as a memory, or a volatile memory device such as a random access memory (RAM), or a storage medium such as a hard disk drive (HDD) or a CD-ROM. Do not.

도 10은 본 발명의 다른 실시예에 따른 소프트웨어 테스트 장치의 블록도이다.10 is a block diagram of a software test apparatus according to another embodiment of the present invention.

전체적인 구성은 도 1의 테스트 장치와 거의 동일하며, 하이브리드 테스트부(190)가 추가되었으며, 테스트 제어부(130)의 구성이 다소 상이하다.The overall configuration is almost the same as the test apparatus of FIG. 1, the hybrid test unit 190 is added, and the configuration of the test control unit 130 is somewhat different.

먼저 테스트 제어부(130)는 사용자의 선택, 소프트웨어에 대한 테스트 설정값 등에 따라 제 1 테스트부(110), 제 2 테스트부(120) 및 하이브리드 테스트부(190) 중 어느 하나를 실행시키고 소프트웨어에 대한 테스트를 제어한다. First, the test controller 130 executes any one of the first test unit 110, the second test unit 120, and the hybrid test unit 190 according to a user's selection, test setting values for software, and the like. Control the test.

이벤트 기반으로 테스트를 수행하는 제 2 테스트부(120)를 기초로 테스트를 수행할 경우 이벤트로 표현하지 못하는 기능(버튼이 인식되지 않는 경우, 사용자 지정 패턴 등)이 테스트 중간에 필요한 경우에는 제 2 테스트부(120)만을 이용하기 어려운 문제가 있다. 이를 해결하기 위해서는 캡쳐 및 재생을 기반으로 테스트를 수행하는 제 1 테스트부(110)의 테스트 방법을 기초로 테스트를 수행할 필요가 있다.When performing a test based on the second test unit 120 that performs a test based on an event, a second function is required if a function (such as a button not recognized or a custom pattern) that cannot be expressed as an event is required in the middle of the test. It is difficult to use only the test unit 120. In order to solve this problem, it is necessary to perform a test based on a test method of the first test unit 110 that performs a test based on capture and playback.

이에, 테스트 제어부(130)는 테스트의 내용을 기초로 하이브리드 테스트가 필요한 경우에는 하이브리드 테스트부(190)를 통해 테스트가 수행되도록 한다.Thus, when the hybrid test is required based on the content of the test, the test controller 130 allows the test to be performed through the hybrid test unit 190.

하이브리드 테스트부(190)는 캡쳐 및 재생을 기반으로 하는 제 1 테스트와 이벤트 기반으로 테스트를 수행하는 제 2 테스트를 혼합한 하이브리드 테스트 스크립트를 기초로 테스트를 수행하도록 한다.The hybrid tester 190 performs a test based on a hybrid test script that mixes a first test based on capture and playback and a second test based on an event.

도 11은 본 발명의 일 실시예에 따른 하이브리드 테스트부의 블록도이다.11 is a block diagram of a hybrid test unit according to an embodiment of the present invention.

하이브리드 테스트부(190)는 제 1 테스트 스크립트 생성부(192), 제 2 테스트 스크립트 생성부(194), 하이브리드 테스트 스크립트 실행부(196) 및 검증부(198)를 포함한다.The hybrid test unit 190 includes a first test script generation unit 192, a second test script generation unit 194, a hybrid test script execution unit 196, and a verification unit 198.

제 1 테스트 스크립트 생성부(192)는 소프트웨어에 대해 수행된 입력수단의 입력을 캡쳐하여 제 1 테스트 스크립트로 생성한다. 여기서, 마우스, 키보드 및 터치 패드 등을 통한 입력이 캡쳐되어 제 1 테스트 스크립트로 생성될 수 있다. 예컨대 사용자가 소프트웨어의 GUI 콤포넌트(component)(또는 컨트롤)에 대해 마우스 또는 키보드를 통한 입력(클릭, 드래그, 등)을 수행하였을 경우, 이에 대한 캡쳐가 수행되어 해당 캡쳐된 값을 기초로 한 제 1 테스트 스크립트가 생성될 수 있다. The first test script generation unit 192 captures the input of the input means performed on the software and generates the first test script. Here, input through a mouse, keyboard, touch pad, etc. may be captured and generated as a first test script. For example, if the user has made an input (click, drag, etc.) through a mouse or keyboard to a GUI component (or control) of the software, a capture of this is performed and the first based on the captured value. Test scripts can be generated.

이때, 사용자가 선택한 GUI 콤포넌트의 속성값에 따라 테스트 데이터가 함께 생성될 수 있다. 예컨대, GUI 콤포넌트가 반도체 공정제어 과정에서 기기의 회전속도 및 각도를 조절하는 모듈인 경우, 회전속도 및 각도 제어와 관련된 테스트 데이터가 해당 모듈에 대응되도록 자동 생성될 수 있다.At this time, the test data may be generated together according to the attribute value of the GUI component selected by the user. For example, when the GUI component is a module that adjusts the rotational speed and angle of the device in a semiconductor process control process, test data related to the rotational speed and angle control may be automatically generated to correspond to the module.

제 2 테스트 스크립트 생성부(194)는 사용자에 의하여 작성된 복수의 이벤트 정보를 포함하는 제 2 테스트 스크립트를 생성한다. 예컨대, 이벤트 정보는 소프트웨어의 특정 모듈을 테스트하기 위한 정보를 포함할 수 있다. 여기서, 사용자는 인터페이스를 통해 이벤트 정보를 직접 입력하거나, 테스트하고자 하는 이벤트 정보를 선택하여 복수의 이벤트 정보를 작성할 수 있다.The second test script generation unit 194 generates a second test script including a plurality of event information created by the user. For example, the event information can include information for testing a particular module of software. Here, the user may directly input the event information through the interface or select the event information to be tested to create a plurality of event information.

또한, 기본적인 이벤트 정보가 미리 설정되어 있는 경우, 사용자는 해당 인터페이스를 통해 이벤트 정보를 추가하거나 삭제할 수 있다. 이후, 제 2 테스트 스크립트 생성부(194)는 사용자에 의해 입력 또는 선택된 이벤트 정보를 파싱(parsing)하여 제 2 테스트 스크립트로 생성할 수 있다.In addition, when basic event information is set in advance, a user may add or delete event information through a corresponding interface. Thereafter, the second test script generation unit 194 may generate the second test script by parsing event information input or selected by the user.

하이브리드 테스트 스크립트 실행부(196)는 제 1 테스트 스크립트 생성부(192)에서 생성된 제 1 테스트 스크립트 및 제 2 테스트 스크립트 생성부(194)에서 생성된 제 2 테스트 스크립트를 결합하여 하이브리드 모드로 실행한다. 이때, 하이브리드 테스트 스크립트 실행부(196)로 전달되는 테스트 스크립트는 제 1 테스트 스크립트 및 제 2 테스트 스크립트가 혼합된 것으로서, 이와 같은 구성에 따라, 한번의 테스트 과정에 제 1 테스트와 제 2 테스트를 혼합하여 실행할 수 있다.The hybrid test script execution unit 196 combines the first test script generated by the first test script generator 192 and the second test script generated by the second test script generator 194 to execute in a hybrid mode. . In this case, the test script delivered to the hybrid test script execution unit 196 is a mixture of the first test script and the second test script, and according to the configuration, the first test and the second test are mixed in one test process. Can be run.

하이브리드 테스트 스크립트 실행부(196)는 제 1 테스트 스크립트가 있는 경우 제 1 테스트 스크립트를 재생(playback or replay)시켜 소프트웨어에 대한 테스트를 수행한다. 이때, 설정값에 따라 반복해서 테스트를 수행할 수 있다. 또한, 제 2 테스트 스크립트가 있는 경우 제 2 테스트 스크립트를 기초로 소프트웨어에 대한 테스트를 수행한다. 이때, 제 2 테스트 스크립트의 이벤트 정보에 따라 소프트웨어에 대한 테스트가 수행될 때, 해당 이벤트 정보에 대응되는 테스트 데이터가 함께 제공되어 특정 테스트 데이터에 대한 테스트가 이루어질 수 있다. The hybrid test script execution unit 196 performs a test on the software by playing back or replaying the first test script when the first test script exists. At this time, the test may be repeatedly performed according to the set value. In addition, if there is a second test script, the software is tested based on the second test script. In this case, when the test for the software is performed according to the event information of the second test script, test data corresponding to the corresponding event information may be provided together to test the specific test data.

검증부(198)는 테스트 스크립트 실행 결과에 기초하여 소프트 웨어의 정상 여부를 판단하기 위한 검증을 수행한다. 제 1 테스트 스크립트에 대해서는 앞서 도 2를 통해 설명한 이미지 검증부(118)와 마찬가지로, 제 1 이미지와 제 2 이미지의 차이점을 비교하여 소프트웨어의 정상 여부를 판단하기 위한 검증을 수행한다. 예컨대, 상술한 반도체 공정제어를 수행하는 소프트웨어의 경우, 테스트 결과 데이터로서 그래프 이미지가 생성되므로, 검증부(198)는 입력수단의 입력을 캡쳐할 때의 제 1 이미지와 제 1 테스트 스크립트의 재생에 따라 생성된 제 2 이미지의 차이점을 비교하여 소프트웨어의 정상 여부를 판단하기 위한 검증을 수행한다.The verification unit 198 performs verification to determine whether the software is normal based on the test script execution result. As with the image verification unit 118 described above with reference to FIG. 2, the first test script performs verification to determine whether the software is normal by comparing differences between the first image and the second image. For example, in the case of the software for performing the above-described semiconductor process control, since the graph image is generated as the test result data, the verification unit 198 is used to reproduce the first image and the first test script when capturing the input of the input means. The verification is performed to determine whether the software is normal by comparing the differences of the second image generated accordingly.

만약, 제 1 이미지와 제 2 이미지의 차이점이 설정된 기준치를 초과하지 않을 경우, 검증부(198)는 해당 소프트웨어를 정상으로 판단하고, 그렇지 않을 경우에는 비정상으로 판단할 수 있다. If the difference between the first image and the second image does not exceed the set reference value, the verification unit 198 may determine that the corresponding software is normal, and if not, may determine that it is abnormal.

또한, 제 2 테스트 스크립트에 대해서는 이벤트 검증부(128)와 마찬가지로, 제 2 테스트 스크립트에 포함된 이벤트 정보에 따라 테스트가 수행된 소프트웨어로부터 테스트 결과 데이터를 수신하고, 테스트 결과 데이터를 해당 이벤트 정보를 기초로 기 생성된 예상 결과 데이터와 비교하여 소프트웨어의 정상 여부를 판단하기 위한 검증을 수행한다.In addition, similar to the event verification unit 128, the second test script receives the test result data from the software on which the test is performed according to the event information included in the second test script, and based on the event information. Verification is performed to determine whether the software is normal by comparing with the expected result data.

도 12는 본원 발명의 다른 실시예에 따른 하이브리트 테스트부를 통한 소프트웨어 테스트 방법의 순서도이다.12 is a flowchart of a software test method through a hybrid test unit according to another exemplary embodiment of the present invention.

먼저, 사용자에 의하여 설정된 테스트 조건을 분석하고(S1210), 하이브리드 테스트가 필요한지 여부에 대한 판단을 수행한다(S1220). 예를 들어, 테스트 제어부(120)를 통해 테스트 조건을 분석하여, 이벤트 기반의 테스트로 수행하지 못하는 기능(버튼이 인식되지 않는 경우, 사용자 지정 패턴 등)이 테스트 중간에 필요한 경우에는 하이브리트 테스트를 수행하도록 한다.First, a test condition set by a user is analyzed (S1210), and a determination is made as to whether a hybrid test is required (S1220). For example, if the test condition is analyzed through the test control unit 120 and a function that cannot be performed by the event-based test (a button is not recognized, a custom pattern, etc.) is required in the middle of the test, the hybrid test is performed. Do it.

판단 결과, 하이브리드 테스트가 불필요한 경우에는 앞서 설명한 내용에 따라 제 1 테스트 또는 제 2 테스트를 선택적으로 실행한다(S1240).If it is determined that the hybrid test is not necessary, the first test or the second test is selectively executed according to the above description (S1240).

그러나, 하이브리드 테스트가 필요한 것으로 판단된 경우에는 하이브리드 테스트부(190)를 통해, 제 1 테스트 및 제 2 테스트를 혼합시킨 하이브리드 테스트를 실행하도록 한다(S1230). However, when it is determined that a hybrid test is necessary, the hybrid test unit 190 executes a hybrid test in which the first test and the second test are mixed (S1230).

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. One embodiment of the present invention may also be embodied in the form of a recording medium including instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.

본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.While the methods and systems of the present invention have been described in connection with specific embodiments, some or all of those elements or operations may be implemented using a computer system having a general purpose hardware architecture.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is shown by the following claims rather than the above description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

110: 제 1 테스트부 120: 제 2 테스트부
130: 테스트 제어부 140: 테스트 검증부
150: 테스트 결과 생성부 160: 스크립트 생성부
170: 로드부 180: 데이터 저장부
190: 하이브리드 테스트부
110: first test unit 120: second test unit
130: test control unit 140: test verification unit
150: test result generation unit 160: script generation unit
170: load unit 180: data storage unit
190: hybrid test unit

Claims (5)

소프트웨어 테스트 장치에 있어서,
테스트 대상 소프트웨어에 대해 수행된 입력수단의 입력을 캡쳐(capture)하여 제 1 테스트 스크립트를 생성하고, 상기 생성된 제 1 테스트 스크립트를 재생하여 상기 소프트웨어에 대한 테스트를 수행하는 제 1 테스트부,
사용자에 의하여 작성된 복수의 이벤트 정보를 포함하는 제 2 테스트 스크립트의 이벤트 정보를 기초로 상기 소프트웨어에 대한 테스트를 수행하는 제 2 테스트부,
상기 입력 수단의 입력을 캡쳐하여 생성한 제 1 테스트 스크립트 및 이벤트 정보를 포함하는 제 2 테스트 스크립트를 혼합한 하이브리드 테스트 스크립트에 기초하여 상기 소프트웨어에 대한 테스트를 수행하는 하이브리드 테스트부 및
사용자의 선택 또는 상기 소프트웨어에 대한 테스트 설정값에 따라 상기 제 1 테스트부, 제 2 테스트부 및 하이브리드 테스트부 중 어느 하나를 실행시켜 상기 소프트웨어에 대한 테스트를 수행하는 테스트 제어부를 포함하되,
상기 제 1 테스트부는
상기 입력수단의 입력을 캡쳐하기 전후의 소프트웨어에 대한 테스트 결과 이미지를 비교한 차이점을 기초로 한 제 1 이미지를 생성하고,
상기 제 1 테스트 스크립트를 재생하기 전후의 소프트웨어에 대한 테스트 결과 이미지를 비교한 차이점을 기초로 한 제 2 이미지를 생성하는 이미지 생성부 및
상기 제 1 이미지 및 상기 제 2 이미지의 차이점을 비교하여 소프트웨어의 정상여부를 판단하기 위한 검증을 수행하는 이미지 검증부를 포함하는 것인 소프트웨어 테스트 장치.
In the software test apparatus,
A first test unit which captures an input of an input means performed on a test target software to generate a first test script, and reproduces the generated first test script to perform a test on the software;
A second test unit configured to test the software based on event information of a second test script including a plurality of event information written by a user;
A hybrid test unit configured to perform a test on the software based on a hybrid test script including a first test script generated by capturing an input of the input means and a second test script including event information;
And a test control unit configured to execute one of the first test unit, the second test unit, and the hybrid test unit according to a user's selection or a test setting value of the software to perform a test on the software.
The first test unit
Generating a first image based on a difference between comparing test result images of the software before and after capturing the input of the input means,
An image generator for generating a second image based on a difference between the test result images of the software before and after playing the first test script;
And an image verification unit which compares the difference between the first image and the second image and performs verification to determine whether the software is normal.
제 1 항에 있어서,
상기 하이브리드 테스트부는
상기 입력 수단의 입력을 캡쳐하여 제 1 테스트 스크립트를 생성하는 제 1 테스트 스크립트 생성부,
사용자에 의하여 작성된 복수의 이벤트 정보를 기초로 제 2 테스트 스크립트를 생성하는 제 2 테스트 스크립트 생성부 및
상기 제 1 테스트 스크립트 및 제 2 테스트 스크립트를 포함하는 하이브리드 테스트 스크립트를 실행하는 하이브리테 테스트 스크립트 실행부를 포함하는 소프트웨어 테스트 장치.
The method of claim 1,
The hybrid test unit
A first test script generation unit for capturing an input of the input means to generate a first test script;
A second test script generation unit generating a second test script based on a plurality of event information created by a user;
And a hybrid test script execution unit configured to execute a hybrid test script including the first test script and the second test script.
제 1 항에 있어서,
상기 생성된 제 1 테스트 스크립트, 제 2 테스트 스크립트 및 하이브리드 스크립트 중 하나 이상을 파일로 저장하는 스크립트 저장부 및
상기 테스트 제어부의 제어에 따라 상기 저장된 파일을 로드(load)하여, 상기 소프트웨어에 대한 테스트가 수행되도록 하는 로드부를 더 포함하는 소프트웨어 테스트 장치.
The method of claim 1,
A script storage unit for storing one or more of the generated first test script, second test script, and hybrid script as a file;
And a load unit configured to load the stored file under the control of the test controller to perform a test on the software.
제 1 항에 있어서,
상기 테스트 제어부는
상기 테스트 설정값에 따라 상기 제 1 테스트부를 통해 상기 소프트웨어에 대한 테스트를 수행한 결과, 해당 소프트웨어의 특정 모듈이 비정상으로 판단된 경우, 제 2 테스트부를 실행시켜 해당 모듈에 대한 보다 정밀한 테스트가 수행되도록 하는 것인 소프트웨어 테스트 장치.
The method of claim 1,
The test control unit
As a result of performing a test on the software through the first test unit according to the test set value, when a specific module of the corresponding software is determined to be abnormal, a second test unit is executed to perform a more precise test on the corresponding module. Software test device.
제 1 항 내지 제 4 항 중 어느 하나의 항에 있어서,
상기 소프트웨어는 반도체 공정제어 소프트웨어로서 FDC(Fault Detection and Classification) 및 R2R(Run to Run) 중 하나 이상을 포함하는 것인 소프트웨어 테스트 장치.
5. The method according to any one of claims 1 to 4,
Wherein the software is semiconductor process control software, the software test apparatus comprising one or more of Fault Detection and Classification (FDC) and Run to Run (R2R).
KR1020110120791A 2011-11-18 2011-11-18 Software testing device and method thereof KR101271232B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110120791A KR101271232B1 (en) 2011-11-18 2011-11-18 Software testing device and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110120791A KR101271232B1 (en) 2011-11-18 2011-11-18 Software testing device and method thereof

Publications (2)

Publication Number Publication Date
KR20130055181A KR20130055181A (en) 2013-05-28
KR101271232B1 true KR101271232B1 (en) 2013-06-07

Family

ID=48663737

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110120791A KR101271232B1 (en) 2011-11-18 2011-11-18 Software testing device and method thereof

Country Status (1)

Country Link
KR (1) KR101271232B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102691045B1 (en) * 2021-08-23 2024-08-05 에이존테크 주식회사 Black box test apparatus and method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105068918B (en) * 2015-06-03 2017-11-17 中国人民财产保险股份有限公司 A kind of page method of testing and device
CN105138463A (en) * 2015-09-25 2015-12-09 成都中科创达软件有限公司 Testing method and system for mobile terminal software
US11092939B2 (en) * 2019-10-07 2021-08-17 Fisher-Rosemount Systems, Inc. Preview mode for configuration logic

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100108000A (en) * 2009-03-27 2010-10-06 한국전자통신연구원 Testing apparatus and method for mobile software

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100108000A (en) * 2009-03-27 2010-10-06 한국전자통신연구원 Testing apparatus and method for mobile software

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"XML을 이용한 안드로이드 GUI 테스트 자동화 방안", 마영철, 최은만, 2011 한국컴퓨터종합학술대회 논문집 제38권제1호, pp102-105 (2011.6) *
"XML을 이용한 안드로이드 GUI 테스트 자동화 방안", 마영철, 최은만, 2011 한국컴퓨터종합학술대회 논문집 제38권제1호, pp102-105 (2011.6)*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102691045B1 (en) * 2021-08-23 2024-08-05 에이존테크 주식회사 Black box test apparatus and method

Also Published As

Publication number Publication date
KR20130055181A (en) 2013-05-28

Similar Documents

Publication Publication Date Title
US9164870B2 (en) Integrated fuzzing
US9846638B2 (en) Exposing method related data calls during testing in an event driven, multichannel architecture
US10853232B2 (en) Adaptive system for mobile device testing
US8645912B2 (en) System and method for use in replaying software application events
CA2336608C (en) Method for defining durable data for regression testing
US9697108B2 (en) System, method, and apparatus for automatic recording and replaying of application executions
US8356282B1 (en) Integrated development environment for the development of electronic signal testing strategies
US20130298110A1 (en) Software Visualization Using Code Coverage Information
US20150058826A1 (en) Systems and methods for efficiently and effectively detecting mobile app bugs
US20170329687A1 (en) Functional Behaviour Test System and Method
KR101271232B1 (en) Software testing device and method thereof
KR20190019009A (en) Method and apparatus for automating game test
US9229846B1 (en) Testing application code changes using a state assertion framework
KR101166128B1 (en) Software testing device and method thereof
KR101460860B1 (en) GUI Test apparatus using test scenario model based on states and the method thereof
EP3734460B1 (en) Probabilistic software testing via dynamic graphs
US10229029B2 (en) Embedded instruction sets for use in testing and error simulation of computing programs
CN103713995A (en) Latent defect identification
JP2009223568A (en) Scenario-generating device and program
US10579761B1 (en) Method and system for reconstructing a graph presentation of a previously executed verification test
CN117707982A (en) Test method, apparatus, device, medium and program product
Zhao et al. Event handler-based coverage for GUI testing
US20170123959A1 (en) Optimized instrumentation based on functional coverage
US10545858B2 (en) Method for testing a graphical interface and corresponding test system
KR102694524B1 (en) Automatic testing device for providing user interface and operating method thereof

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee