



본 발명은 GUI 테스트에 관한 것으로, 더욱 상세하게는 상태 기반의 테스트 시나리오 모델을 이용하여 테스트 대상 시스템이나 단말에서 출력되는 GUI에 대한 테스트 수행 및 그 결과 검증을 자동으로 수행할 수 있게 하는 상태 기반의 테스트 시나리오 모델을 이용한 GUI 테스트 장치 및 방법에 관한 것이다.The present invention relates to a GUI test, and more particularly, to a state-based test scenario model capable of performing a test on a GUI output from a test target system or a terminal and automatically performing a result verification using the state- And a GUI test apparatus and method using a test scenario model.
그래픽 사용자 인터페이스(GUI : Graphical User Interface)는 정보를 시각적으로 표현하여 정보에 대한 조작과 접근성을 높이고, 사용자와 시스템간의 상호 작용에 중요한 수단이 되며, 사용자가 소프트웨어를 쉽게 동작할 수 있게 해준다.A graphical user interface (GUI) is a visual representation of information that enhances manipulation and accessibility of information, is an important means of interaction between the user and the system, and allows the user to easily operate the software.
따라서, 시스템이나 장치에 적용되어 화면에 표시되는 GUI에 대해서는 반드시 테스트가 수행되어 시스템의 안전성, 견고성, 그리고 사용성 등이 검증되어야 한다.Therefore, the GUI that is applied to the system or device and displayed on the screen must be tested to verify the safety, robustness, and usability of the system.
그렇지만, 상기 GUI에 대한 테스트는 GUI의 단일 동작 테스트와 GUI 작동에 의한 소프트웨어의 내부 동작의 테스트가 함께 이루어지기 때문에, 기존의 소프트웨어의 테스트 과정보다 복잡하고 많은 양의 테스트 작업이 요구된다.However, since the test for the GUI is performed together with the single operation test of the GUI and the internal operation of the software by the GUI operation, the test process of the existing software is more complicated and requires a larger amount of test work.
또한 GUI에 대한 테스트는 테스트 코드와 무관하게 다양한 GUI의 조합이 발생 가능하기 때문에, 수행하고자 하는 테스트의 범위가 매우 넓다. 아울러, 사용자 중심의 서비스 지원을 위한 메뉴구조가 복잡해져서 테스트에 소요되는 시간도 증가하고 있다.Also, since the GUI test can generate various GUI combinations regardless of the test code, the scope of the test to be performed is very wide. In addition, the menu structure for user-centered service support is complicated, and the time required for the test is increasing.
이러한 문제점은 GUI에 대한 테스트를 수행하는 개발자에게 많은 노력을 필요로 한다. 즉, 개발자가 수동적으로 테스트에 필요한 테스트 케이스를 생성하고 유지하고 평가하기 위해서는 많은 시간과 노력이 필요한 것이다. 특히 충분한 GUI 테스트 수행에 대한 요구는 개발자에게 다양한 테스트 케이스를 충분하게 생성해야 한다는 부담을 가중시키고 있다.This problem requires a great deal of effort from developers who perform tests on the GUI. In other words, it takes a lot of time and effort to create, maintain, and evaluate test cases that developers need to passively test. In particular, the need for sufficient GUI test execution places a heavy burden on the developer to generate a wide variety of test cases.
이처럼, GUI는 시스템에서 매우 중요한 요소이나 전술한 바와 같이 테스트에 많은 시간과 비용이 소요되는바, GUI에 대한 자동화된 테스트 기법이 필수적이었다.As such, the GUI is a very important factor in the system, but as described above, it takes much time and expense to test, and automated testing techniques for the GUI are essential.
GUI에 대한 자동화 테스트의 한 예로, 레코드-플레이백(Record - Playback) 기반을 이용한 테스트 기법이 제안된 바 있다.As an example of an automated test for the GUI, a test technique based on a record - playback basis has been proposed.
상기 레코드 - 플레이백 테스트 기법은 개발자가 발생시키는 마우스 이벤트와 키보드 이벤트를 기록하고, 기록된 상기 이벤트를 재생하는 방법으로 테스트를 수행하는 방법이다.The record-playback test technique is a method of performing a test by recording a mouse event and a keyboard event generated by a developer, and reproducing the recorded event.
이 때문에, 상기 레코드 - 플레이백 테스트 기법은 GUI 테스트시에 단순한 패턴을 가지고 구현하기 용이하다는 장점을 가진다.Therefore, the record-playback test technique has an advantage that it is easy to implement with a simple pattern in a GUI test.
반면, 다음의 다양한 문제점도 함께 가지고 있다.On the other hand, it has various problems as follows.
즉, 마우스 및 키보드에 대한 이벤트의 기록 과정이 반복적으로 이루어져야 한다. 테스트에서는 다양한 테스트 케이스가 필요한데, 그 각각의 테스트 케이스마다 상술한 마우스 및 키보드에 대한 이벤트를 기록해야하는 것이다. 이 때문에 개발자가 테스트에 소요하는 시간이 적지 않게 소요된다.That is, an event recording process for the mouse and the keyboard must be repeatedly performed. Tests require a variety of test cases, each of which must record the events for the mouse and keyboard described above. Because of this, developers spend less time in testing.
또한 상기 마우스 및 키보드의 이벤트를 기록할 때 정확한 행동으로서 이벤트를 수행해야 한다. 만약 이벤트가 정확하게 기록되지 않으면 상기 이벤트를 기반으로 수행하는 테스트에서 GUI의 결함 검증이 어렵게 된다.In addition, when recording events of the mouse and the keyboard, an event must be performed as an accurate action. If the event is not recorded correctly, it is difficult to verify the GUI defect in the test based on the event.
또한 마우스 이벤트와 키보드 이벤트에 대한 수정이 어렵기 때문에, GUI의 개발 도중에 소프트웨어에서 상기 GUI의 위치나 종류가 변경될 경우 변경된 GUI에 대한 새로운 이벤트를 추가로 기록하여야 한다.In addition, since it is difficult to modify the mouse event and the keyboard event, if the position or type of the GUI is changed in the software during the development of the GUI, a new event for the changed GUI should be additionally recorded.
뿐만 아니라 전술한 바와 같이 마우스 및 키보드의 이벤트 입력만을 저장할 뿐 테스트와 관련된 구체적인 정보를 확인할 수 없고, 테스트 결과를 개발자가 직접 검증해야 하는 불편한 점이 있었다.In addition, as described above, only the event input of the mouse and the keyboard is stored, but specific information related to the test can not be confirmed, and the test result must be directly verified by the developer.
따라서 본 발명의 목적은 상기한 문제점을 해결하기 위한 것으로, 개발자의 단순 반복적인 이벤트 기록 작업을 줄이면서도 GUI 상에 존재하는 결함을 용이하게 검출할 수 있도록 테스트 수행 및 결과 검증이 자동으로 수행되게 하는 상태 기반의 테스트 시나리오 모델을 이용한 GUI 테스트 장치 및 방법을 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to solve the above problems and to provide a method and apparatus for automatically performing a test and a result verification so as to easily detect a defect existing on a GUI while reducing a simple repetitive event recording task of a developer And a GUI test apparatus and method using a state-based test scenario model.
상기한 목적을 달성하기 위한 본 발명의 특징에 따르면, 각 노드 상태를 변경시키는 입력수단의 이벤트 및 상기 이벤트 수행에 따라 대응되는 노드에서 출력되는 예상 이미지를 저장하고, 상기 이벤트 및 예상 이미지를 이용하여 적어도 하나의 테스트 케이스가 포함되는 테스트 시나리오 모델을 생성하고, 테스트의 수행 순서를 정의하는 테스트 시나리오 편집유닛; 및 상기 테스트의 수행 순서에 따라 테스트 대상 단말에서 테스트가 수행되게 하면서, 이벤트 수행에 따라 노드마다 상기 테스트 대상 단말로부터 캡쳐된 화면 이미지와 기 저장된 예상 이미지를 비교하고 GUI에 대한 테스트 결과를 제공하는 테스트 수행/검증유닛을 포함하는 상태 기반의 테스트 시나리오 모델을 이용한 GUI 테스트 장치가 제공된다.According to an aspect of the present invention, there is provided an image processing apparatus for storing an event of an input means for changing the state of each node and an expected image output from a corresponding node according to the event execution, A test scenario editing unit that creates a test scenario model including at least one test case and defines a sequence of execution of the test; And a test for comparing the screen image captured from the test target terminal with the previously stored image for each node according to the event and comparing the previously stored image with the previously stored test image, A GUI test apparatus using a state-based test scenario model including an execution / verification unit is provided.
상기 테스트 시나리오 편집유닛은, 상기 테스트 시나리오 모델을 생성하는 테스트 시나리오 모델 생성부; 상기 이벤트를 기록하는 이벤트 기록부; 및 테스트 수행 순서를 변경하는 정보 수정부를 포함하여 구성된다.Wherein the test scenario editing unit comprises: a test scenario model generating unit for generating the test scenario model; An event recording unit for recording the event; And an information modifying section for modifying the test execution order.
상기 노드는, 테스트 수행순서 정보; 및 이전 노드의 이벤트 수행 결과에 따른 예상 이미지를 저장함을 특징으로 한다.The node comprising: test execution order information; And an expected image according to a result of an event of a previous node.
상기 예상 이미지는 이미지의 전체 영역 또는 전체 영역 중 특정 부분만이 관심영역으로 지정되며, 상기 관심영역은 전체 영역 중 일정 부분이 포커싱되는 영역 또는 일정 부분 이외의 나머지 영역임을 특징으로 한다.The predicted image is characterized in that only a specific part of the entire area or the whole area of the image is designated as an area of interest, and the area of interest is a remaining area other than a certain area or a certain area of the entire area.
상기 테스트 수행/검증 유닛은, 하나의 테스트 케이스 내에서 테스트 수행순서대로 노드의 상태를 변경시키는 이벤트를 수행하는 테스트 수행부; 상기 이벤트가 수행된 노드의 화면 이미지를 캡쳐하는 화면 캡쳐부; 상기 화면 캡쳐부에 의하여 캡쳐된 화면 이미지와 미리 저장된 예상 이미지를 비교하는 이미지 비교부; 및 테스트 결과를 기록하는 로그 기록부를 포함하여 구성된다.The test execution / verification unit may include a test execution unit for performing an event for changing a status of a node in a test case in a test case; A screen capture unit capturing a screen image of a node where the event is performed; An image comparison unit for comparing a screen image captured by the screen capture unit with a predicted image stored in advance; And a log recording unit for recording a test result.
본 발명의 다른 특징에 따르면, 테스트 장치가 이미지를 구성하는 각 노드 별로 입력수단의 이벤트와 상기 이벤트에 대응되어 표시되는 예상 이미지를 저장하는 단계; 상기 테스트 장치가 상기 이벤트와 예상 이미지를 기초로 하여 적어도 하나의 테스트 케이스를 이루는 테스트 시나리오 모델을 생성하는 단계; 상기 테스트 장치가 테스트 대상 단말에서 테스트가 수행되게 하면서 상기 노드별로 표시되는 화면 이미지를 캡쳐하여 전달받고, 노드마다 기 저장된 예상 이미지와 비교하는 단계; 및 상기 비교 결과에 따른 테스트 결과를 저장하는 단계를 포함하는 상태 기반의 테스트 시나리오 모델을 이용한 GUI 테스트 방법이 제공된다.According to another aspect of the present invention, there is provided a method for testing an image, the method comprising: storing an event of an input means and an expected image displayed corresponding to the event for each node constituting an image; Generating a test scenario model in which the test apparatus forms at least one test case based on the event and an expected image; Capturing and receiving a screen image displayed for each node while the test apparatus performs a test on the test target terminal, and comparing the captured image with a previously stored predicted image for each node; And storing the test result in accordance with the comparison result. The GUI test method using the state-based test scenario model is provided.
여기서 상기 예상 이미지가 이미지의 전체 영역 중 일부가 관심영역으로 지정된 경우, 상기 관심영역과 대응되는 상기 화면 이미지의 일부만 상호 비교하도록 한다.Here, when the predicted image is designated as a region of interest as a part of the entire region of the image, only a part of the screen image corresponding to the region of interest is compared.
이와 같은 본 발명의 상태 기반의 테스트 시나리오 모델을 이용한 GUI 테스트 장치 및 방법에 따르면 다음과 같은 효과가 있다.The GUI test apparatus and method using the state-based test scenario model according to the present invention have the following effects.
즉, 종래 개발자가 마우스 및 키보드의 입력수단에 대한 이벤트를 반복하여 기록하는 과정을 줄일 수 있어 전체적으로 GUI 테스트에 대한 테스트 소요 시간을 감소시킬 수 있다.That is, it is possible to reduce the number of events that the conventional developer repeatedly records the events for the input means of the mouse and the keyboard, thereby reducing the test time for the GUI test as a whole.
또한 GUI 이미지에 대하여 테스트할 예상 이미지를 미리 저장하고, 이벤트 수행에 따라 출력되는 화면 이미지와 그 예상 이미지가 동일한지 판단하기만 하기 때문에, GUI에 대한 오류를 쉽게 찾아낼 수 있으며 오류 검출에 대한 정확도를 향상시킬 수 있다.In addition, since the GUI image is stored in advance with the expected image to be tested and it is only judged whether the expected image is identical to the screen image output according to the event, it is possible to easily detect errors in the GUI, Can be improved.
도 1은 본 발명의 바람직한 실시 예에 따른 상태 기반의 테스트 시나리오 모델을 이용한 GUI 테스트 장치의 전체 구성도
도 2는 본 발명에 따라 테스트에 필요한 예상 이미지의 일부를 관심영역으로 지정한 예시도로서,
도 2a는 이미지의 중앙 일부를 포커싱하여 관심 영역으로 지정한 예이고,
도 2b는 이미지의 중앙 일부를 제외한 나머지 영역을 관심 영역으로 지정한 예
도 3은 본 발명의 실시 예에 따라 테스트 시나리오 모델을 생성하기 위해 보인 예시도
도 4는 본 발명의 바람직한 실시 예에 따른 상태 기반의 테스트 시나리오 모델을 이용하여 GUI 테스트 방법을 설명하는 흐름도FIG. 1 is an overall configuration diagram of a GUI test apparatus using a state-based test scenario model according to a preferred embodiment of the present invention.
Fig. 2 is a view showing an example of a part of an expected image required for a test according to the present invention as a region of interest,
2A is an example in which a central part of an image is focused and designated as a region of interest,
FIG. 2B shows an example in which a region other than the central part of the image is designated as a region of interest
Figure 3 is an exemplary diagram for creating a test scenario model in accordance with an embodiment of the present invention.
4 is a flowchart illustrating a GUI test method using a state-based test scenario model according to a preferred embodiment of the present invention.
이하 본 발명에 의한 상태 기반의 테스트 시나리오 모델을 이용한 GUI 테스트 장치 및 방법의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of a GUI test apparatus and method using a state-based test scenario model according to the present invention will be described in detail with reference to the accompanying drawings.
본 실시 예는 아래에서 설명하는 GUI 테스트 장치를 이용하여 키보드,마우스와 같은 외부 입력을 받아들이는 인터페이스와, 화면 정보를 표시하는 그래픽 사용자 인터페이스(GUI)를 구비한 단말장치들을 테스트하기 위한 것이다.The present embodiment is for testing terminal devices having an interface for receiving an external input such as a keyboard and a mouse and a graphical user interface (GUI) for displaying screen information using the GUI test apparatus described below.
도 1은 본 발명의 바람직한 실시 예에 따른 상태 기반의 테스트 시나리오 모델을 이용한 GUI 테스트 장치의 전체 구성도이다.1 is an overall configuration diagram of a GUI test apparatus using a state-based test scenario model according to a preferred embodiment of the present invention.
도 1을 살펴보면, GUI 테스트 장치(100)는 테스트 시나리오 편집 유닛(110) 및 테스트 수행/검증 유닛(140)의 구성을 포함할 수 있다. 테스트 시나리오 편집유닛(110)은 테스트에 필요한 사전 작업을 수행하고, 테스트 수행/검증 유닛(140)은 테스트를 직접 수행하며 그 결과를 검증하는 과정을 수행한다. 이들 각각의 유닛은 복수의 하위 구성들을 포함하는데, 이하에서 구체적으로 살펴본다.Referring to FIG. 1, the
테스트 시나리오 편집유닛(110)에는 테스트에 필요한 정보 생성 및 저장, 정보 수정 등의 기능을 수행하는 편집 에디터부(120) 및 테스트 수행 순서를 정의하는 시나리오 매니저(130)가 포함된다.The test
편집 에디터부(120)는 테스트 시나리오 모델 생성부(122), 이벤트 기록부(124), 및 정보 수정부(126)의 구성을 포함한다.The
테스트 시나리오 모델 생성부(122)는, 다수의 노드로 구성되는 테스트 시나리오를 생성하는 구성 요소로서, 생성된 테스트 시나리오는 적어도 하나의 테스트 케이스를 포함하게 된다. 또한 테스트 케이스는 테스트 시나리오 모델을 구성하는 기본 단위가 되는 노드를 포함하여 이루어진다. 상기 노드에는 테스트 수행순서 정보와, 이벤트 수행 결과에 따른 예상 이미지가 저장된다.The test scenario
상기 예상 이미지는 각각의 노드마다 다르게 제공되며, 테스트의 기준 값이 된다. 이러한 상기 예상 이미지는 이미지의 전체 영역이거나 또는 전체 영역 중 특정 부분만이 관심영역으로 지정되어 저장될 수 있다.The predicted image is provided differently for each node and becomes the reference value of the test. Such an expected image may be the entire area of the image or only a specific part of the entire area may be designated as the area of interest and stored.
상기 관심영역은 이미지의 전체 영역 중 특정 영역만을 지정하는 포커싱(Focusing) 또는 지정한 영역 이외의 나머지 영역을 관심영역을 지정하는 마스킹(Masking) 기법에 의하여 지정이 가능하다. 이의 예는 도 2에 도시하고 있다. 즉 도 2는 예상 이미지의 일부를 관심영역(빗금친 부분)으로 지정한 예시도이다. 도 2a는 이미지의 중앙 일부를 포커싱하여 관심 영역(a)으로 지정한 예이고, 도 2b는 이미지의 중앙 일부를 제외한 나머지 영역을 관심 영역(b)으로 지정한 예이다.The area of interest may be designated by focusing, which specifies only a specific area of the entire area of the image, or by a masking technique of designating the area of interest other than the designated area of interest. An example of this is shown in Fig. 2 shows an example in which a part of the predicted image is designated as a region of interest (hatched portion). FIG. 2A is an example in which a central part of an image is focused to specify an area of interest (a), and FIG. 2B is an example of designating an area other than a central part of the image as an area of interest (b).
한편 테스트 시나리오 모델을 생성하는 방법은 후술하는 도 3을 참조하여 설명할 것이다.On the other hand, a method of generating a test scenario model will be described with reference to FIG.
계속해서 이벤트 기록부(124)는, 테스트할 이벤트 정보를 말하는 것으로 입력 이벤트 정보인 마우스 클릭 좌표 정보 및 키보드 이벤트 정보 등을 저장한다. 상기 저장된 각종 이벤트는 대응하는 노드별로 구분되고, 테스트 순서에 따라 적용될 것이다.Subsequently, the
정보 수정부(126)는, 테스트 수행 순서를 변경하거나 또는 노드별로 저장되는 예상 이미지의 정보를 변경, 수정하는 기능을 수행한다.The
다음에는 테스트 수행/검증 유닛(140)에 구성에 대해 살펴본다.Next, the configuration of the test execution /
테스트 수행/검증 유닛(140)에는, 시나리오 매니저(130)에 의해 정의된 테스트 수행순서대로 노드를 읽으면서 그 노드 상태를 천이하도록 제공된 이벤트를 수행하는 테스트 수행부(142)가 구성된다. 테스트 수행부(142)는 상기 테스트 수행순서대로 하나 이상의 테스트 케이스를 순서대로 테스트하며, 이때 원하는 테스트 케이스에 대해서만 테스트를 수행할 수도 있다.The test execution /
또한 테스트 수행부(142)에 의해 테스트가 진행되는 도중 테스트 대상 프로그램의 GUI 이미지를 캡쳐하는 화면 캡쳐부(144)가 구성된다. 즉 GUI 이미지에 존재할 수 있는 오류를 예상 이미지와 비교시키기 위한 것이다. 참고로, 상기 화면 캡쳐부(144)는 전술한 편집 에디터부(120)에서 노드별 예상 이미지를 구성할 때에도 사용될 수 있다. 즉 테스트의 기준값으로 적용되는 예상 이미지를 미리 저장할 때 테스트 대상 프로그램을 캡쳐하면서 테스트 할 이미지를 캡쳐하도록 한다.The
또한, 이벤트 수행에 따라 노드별로 캡쳐된 화면 이미지와 미리 저장된 예상 이미지를 비교하는 이미지 비교부(146)가 구성된다. 이미지 비교부(146)는 저장된 예상 이미지의 타입에 따라 이미지의 전체 영역을 캡쳐된 화면 이미지와 비교하거나 또는 예상 이미지의 특정 영역이 관심 영역으로 지정된 경우에는 그 관심 영역만을 비교할 수 있다.The
그리고, 테스트 수행/검증 유닛(140)에는 테스트 결과를 기록하는 로그 기록부(148)가 더 구성된다. 로그 기록부(148)는 테스트 되는 도중 노드별로 화면 이미지와 예상 이미지의 일치 여부 등에 대한 결과 데이터를 저장하는 것으로 이는 테스트가 완료된 후 개발자에 요청에 의해 제공될 것이다. 따라서 개발자는 상기 로그 기록부(148)에 저장된 결과 데이터를 활용하여 GUI 이미지에서 발생하는 오류를 쉽게 확인할 수 있다.The test execution /
한편, 도면부호 200은 테스트 대상 단말이다. 테스트 대상 단말은 한 대 또는 그 이상의 복수대가 제공될 것이다.
한편, 본 실시 예의 GUI 테스트 장치(100)는 실질적으로 프로그램으로 구현되기 때문에 테스트 대상 단말(200) 내에 설치되어 테스트가 진행될 수 있다. 그러나 테스트 대상 단말은 통상적으로 복수 대이기 때문에, 복수의 테스트 대상 단말과 유무선으로 연결한 상태에서 테스트가 수행되면 각각의 테스트 대상 단말로부터 노드별로 화면 캡쳐된 이미지를 전달받고 이를 예상 이미지와 비교하고 테스트 결과물을 제공하는 방법으로 수행될 것이다. 그리고 테스트 결과물에는 테스트 대상 단말별로 각각의 테스트 결과 데이터가 기록된다.On the other hand, since the
이어, 상기와 같이 구성된 상태 기반의 시나리오 모델을 이용한 GUI 테스트 장치의 동작을 첨부된 도면을 참조하면서 설명하기로 한다.Next, the operation of the GUI test apparatus using the state-based scenario model constructed as above will be described with reference to the accompanying drawings.
도 3은 본 발명의 실시 예에 따라 테스트 시나리오 모델을 생성하기 위해 보인 예시도이다. 도 3에 도시된 바와 같이 노드 1 내지 노드 4와 같이 4개의 노드가 제공됨을 가정한다.3 is an exemplary diagram for generating a test scenario model in accordance with an embodiment of the present invention. It is assumed that four nodes, such as nodes 1 to 4, are provided as shown in FIG.
이 경우, 노드 1에는 최초 상태의 이미지(a-1)가 저장되며, 노드 2 내지 노드 4에는 이벤트 1 내지 이벤트 3의 수행에 따른 예상 이미지(a-2, a-3, a-4)가 저장된다. 그렇기 때문에 노드 1 내지 노드 4는 각각 다른 GUI 이미지가 저장된 상태이다.In this case, the initial image a-1 is stored in the node 1, and the predicted images a-2, a-3 and a-4 according to the execution of the events 1 to 3 are stored in the nodes 2 to 4 . Therefore, the nodes 1 to 4 have different GUI images stored therein.
그리고 노드 1 내지 노드 4는 노드 2의 분기를 통해 각각 다른 테스트를 수행할 수 있는 테스트 케이스가 결정된다. 따라서, 도 3에 따르면 테스트 시나리오 모델은 2개의 테스트 케이스를 포함하게 된다. 즉 노드 1 -> 노드 2 -> 노드 3으로 이루어진 제 1 테스트 케이스와, 노드 1 -> 노드 2 -> 노드 4로 이루어진 제 2 테스트 케이스로 구분된다.And the nodes 1 to 4 are determined to be able to perform different tests through the branch of the node 2. Therefore, according to FIG. 3, the test scenario model includes two test cases. A first test case consisting of node 1 -> node 2 -> node 3, and a second test case consisting of node 1 -> node 2 -> node 4.
이와 같이 주어진 노드에 따라 테스트 케이스가 결정되며, 상기 결정된 테스트 케이스를 포함하여 테스트 시나리오 모델이 구성된다. 물론, 테스트 시나리오 모델 역시 하나의 프로그램상에서 반드시 하나만 존재하는 것은 아니고 복수 개가 존재할 수 있다.The test case is determined according to the given node, and the test scenario model including the determined test case is constructed. Of course, there is not necessarily one test scenario model in a single program, but a plurality of test scenario models may exist.
실시 예에서 상기 테스트 시나리오 모델은 테스트 시나리오 모델 생성부(122)에 의하여 수행된다. 그리고 만약 상기 노드 1 내지 노드 4 이외에 다른 노드가 추가되거나 추가된 상태에서 제거될 경우에는 상기 정보 수정부(126)에 의하여 테스트 케이스는 추가되거나 변경되고, 이에 의하여 새로운 테스트 시나리오 모델이 생성된다.In the embodiment, the test scenario model is performed by the test scenario
도 4는 본 발명의 바람직한 실시 예에 따른 상태 기반의 테스트 시나리오 모델을 이용하여 GUI 테스트 방법을 설명하는 흐름도이다.4 is a flowchart illustrating a GUI test method using a state-based test scenario model according to a preferred embodiment of the present invention.
먼저, GUI 테스트 방법을 위하여 전술한 도 3에서 설명한 바와 같이 테스트 시나리오 모델을 생성한다(s100). 물론 테스트 시나리오 모델은 테스트 시나리오 모델의 기본 단위인 노드가 변경되면 정보 수정부(126)에 의하여 테스트 케이스가 수정되어 새로운 테스트 시나리오 모델이 제공되어야 할 것이다.First, for the GUI test method, a test scenario model is generated as described with reference to FIG. 3 (S100). Of course, in the test scenario model, when the node which is the basic unit of the test scenario model is changed, the test case is modified by the
또한 테스트 수행 순서는 노드 1 -> 노드 2 -> 노드 3으로 이루어진 제 1 테스트 케이스가 먼저 수행되고 다음에 노드 1 -> 노드 2 -> 노드 4로 이루어진 제 2 테스트 케이스가 수행되는 것으로 가정한다.In addition, it is assumed that the test execution order is a first test case consisting of node 1 -> node 2 -> node 3, and then a second test case consisting of node 1 -> node 2 -> node 4.
이처럼, 테스트 시나리오 모델이 생성된 상태에서 테스트 시작 명령이 발생하면 테스트 수행부(142)에 의하여 테스트 대상 단말(200)에서 테스트가 시작되게 한다(s102).If a test start command is generated in the state where the test scenario model is generated, the test execution unit 142 causes the
테스트가 시작되면, 테스트 수행부(142)는 이미지 a-1을 표시하는 노드 1 상태에서 이벤트 기록부(124)에 저장된 이벤트-1를 추출하여 테스트 대상 단말(200)에서 이벤트를 수행시킨다(s104).When the test is started, the test execution unit 142 extracts the event-1 stored in the
이벤트 수행에 따라 노드 1은 노드 2로 상태 천이되고 테스트 대상 단말(200)은 이미지 a-2을 표시한다(s106).In response to the event, the node 1 transitions to the node 2 and the
노드 2 상태에서 테스트 대상 단말(200)에 이미지 a-2가 표시되면, 화면 캡쳐부(144)는 그 테스트 대상 단말(200)로부터 이미지 a-2을 캡쳐하고 이미지 비교부(146)로 전달한다(s108).When the image a-2 is displayed on the
이미지 비교부(146)는 전달받은 이미지 a-2와 노드 2에 기 저장된 예상 이미지를 비교한다(s110). 여기서 예상 이미지는 상기 이벤트 -1이 수행되었을 때 정상적으로 표시되는 기준 이미지를 말한다.The
상기 비교 결과에 따른 결과 데이터는 로그 기록부(148)에 의해 저장된다(s112). 결과 데이터의 예로서 일치한 경우에는 오류 미검출, 반대로 일치하지 않는 경우에는 오류 발생과 같이 표시할 수 있을 것이다.Result data according to the comparison result is stored by the log recorder 148 (s112). As an example of the result data, it is possible to display not an error in case of coincidence and an error in case of non-coincidence.
계속해서, 테스트 수행부(142)는 노드 2에서 이벤트 기록부(124)에 저장된 이벤트-2를 추출하여 테스트 대상 단말(200)에서 이벤트를 수행시킨다(s114).Then, the test execution unit 142 extracts the event-2 stored in the
이벤트 수행에 따라 테스트 대상 단말(200)은 이미지 a-2를 표시한 노드 2 상태에서 노드 3으로 상태 천이되고, 이미지 a-3 이미지를 표시한다(s116).In response to the event, the
테스트 대상 단말(200)에서 이미지 a-3가 표시되면, 화면 캡쳐부(144)는 테스트 대상 단말(200)로부터 이미지 a-3을 화면 캡쳐하고 이미지 비교부(146)로 전달한다(s118).When the image a-3 is displayed on the
이미지 비교부(146)는 전달받은 이미지 a-3와 노드 3에 기 저장된 예상 이미지를 비교한다(s120).The
상기 비교 결과에 따른 결과 데이터는 로그 기록부(148)에 의해 저장된다(s122).Result data according to the comparison result is stored by the log recorder 148 (s122).
한편, 노드 2 및 노드 3의 상태에서 기 저장된 예상 이미지의 일부가 관심영역으로 지정된 경우라면, 상기 이미지 a-2 또는 이미지 a-3의 일부만을 상기 예상 이미지와 비교하면 된다.On the other hand, if a part of the predicted image previously stored in the state of the node 2 and the node 3 is designated as the region of interest, only a part of the image a-2 or the image a-3 may be compared with the expected image.
이와 같은 과정에 따라 테스트 시나리오 모델에 포함된 제 1 테스트 케이스에 대한 테스트가 완료된다.According to the above process, the test for the first test case included in the test scenario model is completed.
이후, 제 124 단계와 같이 제 2 테스트 케이스에 대한 테스트 수행 여부는 선택적이다. 즉, 개발 과정에서 개발자가 확인하고자 하는 오류 등이 제 1 테스트 케이스에서 검출되었고 더 이상의 테스트가 불필요하다고 판단되면 제 2 테스트 케이스에 대한 테스트는 생략할 수 있다. 하지만, 테스트 시나리오 모델에 제공된 제 2 테스트 케이스나 다른 시나리오에 대한 테스트가 필요하다면 전체 테스트 케이스에 대하여 상술한 과정을 반복하면서 수행하면 된다(s126).Then, as in
물론, 본 실시 예는 복수의 테스트 케이스 중 개발자가 원하는 테스트 케이스를 선택하여 테스트를 수행할 수도 있다. 그리고 테스트 시나리오 모델 역시 복수 개가 존재할 수 있기 때문에 하나의 테스트 시나리오 모델에 대한 테스트가 완료되면 다른 테스트 시나리오 모델에 대한 테스트를 계속 수행할 수 있다.Of course, in this embodiment, a developer may select a desired test case among a plurality of test cases to perform a test. Also, since there may be a plurality of test scenario models, when one test scenario model has been tested, the test for the other test scenario model can be continued.
이상에서 설명한 바와 같이, 본 발명의 실시 예에서는 개발자의 키보드 이벤트나 마우스 이벤트와 그 이벤트에 해당하는 예상 이미지를 포함하여 테스트 시나리오 모델을 생성하고, 이후 이벤트 수행에 따라 화면 표시되는 이미지와 예상 이미지를 비교하여 GUI에 대한 오류 여부를 검출하고 있음을 알 수 있다.As described above, in the embodiment of the present invention, a test scenario model including a keyboard event of a developer or a mouse event and an expected image corresponding to the event is generated, and then, It can be seen that an error in the GUI is detected.
이상과 같이 본 발명의 도시된 실시 예를 참고하여 설명하고 있으나, 이는 예시적인 것들에 불과하며, 본 발명이 속하는 기술 분야의 통상의 지식을 가진자라면 본 발명의 요지 및 범위에 벗어나지 않으면서도 다양한 변형, 변경 및 균등한 타 실시 예들이 가능하다는 것을 명백하게 알 수 있을 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적인 사상에 의해 정해져야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. It will be apparent that modifications, variations and equivalents of other embodiments are possible. Therefore, the true scope of the present invention should be determined by the technical idea of the appended claims.
100 : GUI 테스트 장치 110 : 테스트 시나리오 편집 유닛
120 : 편집 에디터부 122 : 테스트 시나리오 모델 생성부
124 : 이벤트 기록부 126 : 정보 수정부
130 : 시나리오 매니저 140 : 테스트 수행/검증 유닛
142 : 테스트 수행부 144 : 화면 캡쳐부
146 : 이미지 비교부 148 : 로그 기록부
200 : 테스트 대상 단말100: GUI test apparatus 110: test scenario editing unit
120: edit editor section 122: test scenario model generating section
124: Event recording unit 126: Information receiving unit
130: scenario manager 140: test execution / verification unit
142: Test performing unit 144: Screen capture unit
146: image comparison unit 148: log recorder
200: Test target terminal
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020120126208AKR101460860B1 (en) | 2012-11-08 | 2012-11-08 | GUI Test apparatus using test scenario model based on states and the method thereof |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020120126208AKR101460860B1 (en) | 2012-11-08 | 2012-11-08 | GUI Test apparatus using test scenario model based on states and the method thereof |
| Publication Number | Publication Date |
|---|---|
| KR20140059600A KR20140059600A (en) | 2014-05-16 |
| KR101460860B1true KR101460860B1 (en) | 2014-11-17 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020120126208AActiveKR101460860B1 (en) | 2012-11-08 | 2012-11-08 | GUI Test apparatus using test scenario model based on states and the method thereof |
| Country | Link |
|---|---|
| KR (1) | KR101460860B1 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106294161A (en)* | 2016-08-12 | 2017-01-04 | 北京奇虎科技有限公司 | The interface function method of testing of a kind of application and device |
| US10719430B2 (en)* | 2017-06-26 | 2020-07-21 | Nanjing University | Sketch-guided GUI test generation for mobile applications |
| KR102108205B1 (en)* | 2018-03-08 | 2020-05-08 | 어니컴 주식회사 | Error detecting method based on scene for smart device application and apparatus thereof |
| CN110874318B (en)* | 2018-08-31 | 2023-10-24 | 浙江宇视科技有限公司 | Software testing method and device and computer readable storage medium |
| CN109344062A (en)* | 2018-09-26 | 2019-02-15 | 深圳壹账通智能科技有限公司 | Method and terminal device for page cross-domain jump test |
| WO2025121497A1 (en)* | 2023-12-07 | 2025-06-12 | 주식회사 소프트스퀘어드 | Method of analyzing region of interest and template image, for representing and analyzing relationship between ui components |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20070018187A (en)* | 2005-08-09 | 2007-02-14 | 주식회사 팬택앤큐리텔 | User Interface Automated Test System |
| KR100892141B1 (en)* | 2007-01-09 | 2009-04-09 | 어니컴 주식회사 | Automatic verification method of portable device and device |
| KR20090065144A (en)* | 2007-12-17 | 2009-06-22 | 한국전자통신연구원 | Graphical user interface test system and method of mobile application software |
| JP2010102620A (en)* | 2008-10-27 | 2010-05-06 | Nec Corp | User operation scenario generating device, method and program |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20070018187A (en)* | 2005-08-09 | 2007-02-14 | 주식회사 팬택앤큐리텔 | User Interface Automated Test System |
| KR100892141B1 (en)* | 2007-01-09 | 2009-04-09 | 어니컴 주식회사 | Automatic verification method of portable device and device |
| KR20090065144A (en)* | 2007-12-17 | 2009-06-22 | 한국전자통신연구원 | Graphical user interface test system and method of mobile application software |
| JP2010102620A (en)* | 2008-10-27 | 2010-05-06 | Nec Corp | User operation scenario generating device, method and program |
| Publication number | Publication date |
|---|---|
| KR20140059600A (en) | 2014-05-16 |
| Publication | Publication Date | Title |
|---|---|---|
| US10853232B2 (en) | Adaptive system for mobile device testing | |
| KR101460860B1 (en) | GUI Test apparatus using test scenario model based on states and the method thereof | |
| US9665473B2 (en) | Smart tester application for testing other applications | |
| US20160170867A1 (en) | Exposing method related data calls during testing in an event driven, multichannel architecture | |
| CN108717393A (en) | A kind of applied program testing method and mobile terminal | |
| CN103365779A (en) | Software test method and system | |
| CN112860587B (en) | UI automatic test method and device | |
| JP2012018583A (en) | Software development support device and processing method thereof | |
| KR20140053542A (en) | Automatic testing apparatus for embedded software, automatic testing method thereof and test scenario composing method | |
| CN107391333B (en) | A kind of OSD disk failure testing method and system | |
| CN111190827A (en) | Interface automation test method and device, storage medium and electronic equipment | |
| CN114003451A (en) | Interface test method, device, system and medium | |
| CN113609025A (en) | A software program testing method, device, medium and equipment | |
| KR101271232B1 (en) | Software testing device and method thereof | |
| JP4896909B2 (en) | Scenario generation apparatus and program | |
| KR101166128B1 (en) | Software testing device and method thereof | |
| KR101252358B1 (en) | Apparatus and method for testing plc command | |
| CN118606211A (en) | Test script generation method, device, electronic equipment and vehicle | |
| CN107102938B (en) | Test script updating method and device | |
| US11422696B2 (en) | Representation of user interface interactive regions | |
| KR102603330B1 (en) | Apparatus and method for display the test coverage | |
| JP2008262473A (en) | Equipment maintenance management system | |
| KR20100096352A (en) | Method for testing of 3-dimension application program and computer readable recording medium thereof | |
| JPH09223040A (en) | Software system test support device and test scenario generation device used therefor | |
| CN118972289A (en) | Flow testing method, device, equipment, storage medium and computer program product |
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application | Patent event code:PA01091R01D Comment text:Patent Application Patent event date:20121108 | |
| PA0201 | Request for examination | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection | Comment text:Notification of reason for refusal Patent event date:20131220 Patent event code:PE09021S01D | |
| PG1501 | Laying open of application | ||
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration | Patent event code:PE07011S01D Comment text:Decision to Grant Registration Patent event date:20141024 | |
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment | Comment text:Registration of Establishment Patent event date:20141105 Patent event code:PR07011E01D | |
| PR1002 | Payment of registration fee | Payment date:20141105 End annual number:3 Start annual number:1 | |
| PG1601 | Publication of registration | ||
| FPAY | Annual fee payment | Payment date:20171017 Year of fee payment:4 | |
| PR1001 | Payment of annual fee | Payment date:20171017 Start annual number:4 End annual number:4 | |
| FPAY | Annual fee payment | Payment date:20191022 Year of fee payment:6 | |
| PR1001 | Payment of annual fee | Payment date:20191022 Start annual number:6 End annual number:6 | |
| PR1001 | Payment of annual fee | Payment date:20211020 Start annual number:8 End annual number:8 | |
| PR1001 | Payment of annual fee | Payment date:20221026 Start annual number:9 End annual number:9 | |
| PR1001 | Payment of annual fee | Payment date:20231026 Start annual number:10 End annual number:10 | |
| PR1001 | Payment of annual fee | Payment date:20241030 Start annual number:11 End annual number:11 |