KR101029332B1 - Testing apparatus and method for mobile software - Google Patents

Testing apparatus and method for mobile software Download PDF

Info

Publication number
KR101029332B1
KR101029332B1 KR1020090026418A KR20090026418A KR101029332B1 KR 101029332 B1 KR101029332 B1 KR 101029332B1 KR 1020090026418 A KR1020090026418 A KR 1020090026418A KR 20090026418 A KR20090026418 A KR 20090026418A KR 101029332 B1 KR101029332 B1 KR 101029332B1
Authority
KR
South Korea
Prior art keywords
test
screen
scenario
expected
mobile software
Prior art date
Application number
KR1020090026418A
Other languages
Korean (ko)
Other versions
KR20100108000A (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 KR1020090026418A priority Critical patent/KR101029332B1/en
Publication of KR20100108000A publication Critical patent/KR20100108000A/en
Application granted granted Critical
Publication of KR101029332B1 publication Critical patent/KR101029332B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

본 발명에 따른 모바일 소프트웨어 테스트 장치는, 이미지를 이용하여 예상 화면을 생성하는 예상 화면 생성기와, 예상 화면과 이벤트를 연결하여 테스트 시나리오를 생성하는 테스트 시나리오 생성기와, 모바일 소프트웨어를 모바일 디바이스 또는 에뮬레이터에 빌드한 후 테스트 시나리오 내의 이벤트를 토대로 모바일 소프트웨어를 동작시켜 모바일 디바이스 또는 에뮬레이터로부터 실행 결과 화면을 제공받는 테스트 에이전트와, 실행 결과 화면과 예상 화면간의 비교를 통해 테스트 결과를 제공하는 테스트 분석기를 포함한다.

이와 같이, 본 발명은 사용 시나리오를 구체화하여 작성할 수 있는 방법, 테스트 시나리오 실행 프레임워크를 구축하는 방법, 테스트 시나리오를 다양한 경우의 수로 실행하는 방법, 여러 플랫폼과 에뮬레이터에 독립적으로 테스트 시나리오를 만드는 방법을 제공함으로써, 이를 통해 사용자의 요구사항을 테스트 시나리오를 통해 개발 초기에 확인한 후 테스트 주도형 형태로 테스트 시나리오의 목적에 맞는 소프트웨어를 개발할 수 있다.

Figure R1020090026418

사용 시나리오, TDD, 테스트

The mobile software test apparatus according to the present invention includes an expected screen generator that generates an expected screen using an image, a test scenario generator that connects the expected screen and an event to generate a test scenario, and builds mobile software into a mobile device or an emulator. After that, the test agent includes a test agent that receives the execution result screen from the mobile device or the emulator by operating the mobile software based on an event in the test scenario, and a test analyzer that provides the test result by comparing the execution result screen with the expected screen.

As such, the present invention provides a method for creating and using a usage scenario, a method for building a test scenario execution framework, a method for executing a test scenario in various cases, and a method for creating a test scenario independently on various platforms and emulators. This allows you to identify your requirements early in the test scenario and then develop software that meets the test scenario's purpose in a test-driven fashion.

Figure R1020090026418

Usage scenarios, TDD, test

Description

모바일 소프트웨어 테스트 장치 및 방법{TESTING APPARATUS AND METHOD FOR MOBILE SOFTWARE}TESTING APPARATUS AND METHOD FOR MOBILE SOFTWARE}

본 발명은 모바일 소프트웨어의 테스트 기술에 관한 것으로, 더욱 상세하게는 소프트웨어 개발 전에 사용 시나리오를 구체적으로 표현하고 이를 동작시켜 개발 도중 원하는 결과 여부를 파악할 수 있는 모바일 소프트웨어 테스트 장치 및 방법에 관한 것이다.The present invention relates to a test technology of mobile software, and more particularly, to a mobile software test apparatus and method that can determine the desired result during development by expressing the use scenario before the software development and operating it.

본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발 사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호:2006-S-032-02, 과제명: 모바일 응용 S/W 개발 프로세스 및 구현환경 개발].The present invention is derived from the research conducted as part of the IT growth engine technology development project of the Ministry of Knowledge Economy and the Ministry of Information and Telecommunication Research and Development. And development environment].

모바일 소프트웨어는 많은 플랫폼, 예컨대 위피, J2ME, 안드로이드, 심비안 등의 플랫폼 상에 동작하며, 사용자의 입력, 내부 OS 또는 외부 소프트웨어와의 상호작용에 따라 동작하므로 화면 이동 이벤트에는 사용자의 입력, OS의 시그널, 외부 프로세스의 데이터 등이 포함된다. Mobile software runs on many platforms, such as Wi-Fi, J2ME, Android, Symbian, etc., and operates according to user input, internal OS, or interaction with external software, so screen scroll events include user input and OS signals. , Data from external processes, and so on.

이러한 모바일 소프트웨어를 개발하는 환경은 대부분 개인용 컴퓨터에서 수행하기 때문에 다양한 플랫폼의 수보다 훨씬 많은 에뮬레이터가 있다. Since most of these mobile software development environments run on personal computers, there are many more emulators than there are on a variety of platforms.

모바일 시장은 아직 개인용 컴퓨터 환경처럼 큰 시장이 아니기 때문에 하나의 모바일 소프트웨어를 여러 플랫폼에서 개발할 필요가 있다. 이런 이유로, 플랫폼이 변경되면 새로운 테스트 시나리오를 만들고 테스트를 수행하여야 한다. 이를 해결하기 위해 통합적인 테스트 수행 방법이 필요하다. The mobile market is not yet as big as a personal computer environment, so one mobile software needs to be developed on multiple platforms. For this reason, when the platform changes, new test scenarios must be created and tested. To solve this problem, an integrated test execution method is needed.

또한, 모바일 소프트웨어는 제품 출시 이후 소프트웨어 수정이 어렵다는 특징을 갖기 때문에 제품 출시 전에 많은 테스트를 거쳐야 하지만 테스트의 어려움으로 테스트를 충분히 수정하지 못하고 있다. 테스트의 한 방법은 테스터가 직접 수작업으로 진행하는 것을 예로 들 수 있는데, 즉 테스터가 다양한 경우의 수를 해결하기 위해 수작업으로 테스트를 수행하고 있다. In addition, since mobile software has a feature that it is difficult to modify the software after the product launch, it has to undergo a lot of tests before the product launch, but due to the difficulty of testing, the test is not sufficiently modified. An example of a test is a manual test run by the tester, that is, the tester performs the test manually to solve the various cases.

일반적으로 소프트웨어는 요구사항, 설계, 구현, 테스트 순으로 개발된다. 개발의 최종 단계인 테스트에서 에러를 발견할 경우 요구 사항부터 구현까지 복잡하게 얽힌 산출물을 모두 변경해야 되어 소프트웨어 개발 비용이 증가한다.Generally, software is developed in order of requirements, design, implementation, and testing. If errors are found in testing, the final stage of development, software development costs are increased by changing all of the complex artifacts from requirements to implementation.

한편, 소프트웨어의 특징은 개발 도중 또는 개발 이후라도 언제든지 수정을 할 수 있다는 것이다. 그러나 소프트웨어가 점점 규모가 커지고 복잡해지면서 변경된 요구사항은 소프트웨어 개발을 어렵게 한다. 일부 기능을 수정하더라도 복잡하게 연결되어 있는 소프트웨어 내부 구조로 인해 수정되지 않은 부분에 어떤 부작용이 나타날지 모른다. 이를 해결하기 위한 방법의 하나로 구현 전에 테스트 시나리오를 작성하고 이를 프로그램 코드로 작성하는 테스트 주도 개발 기법이 사용된 다. On the other hand, the feature of the software is that it can be modified at any time during or after development. However, as software grows in size and complexity, changed requirements make software development difficult. Even if you modify some functions, the complicated internal structure of the software may cause some side effects in the unmodified parts. As a way to solve this problem, a test-driven development technique is used, in which test scenarios are written before implementation and written in program code.

테스트 코드는 코드에 사용되는 데이터의 실행 예측값을 확인하는 형태로 작성된다. 코드 구현 전에 데이터의 실행 예측값을 결정하고 이를 테스트 코드로 표현한다. The test code is written in the form of checking the execution prediction value of the data used in the code. Before the code is implemented, the predicted execution of the data is determined and expressed in test code.

소프트웨어를 개발하면서 테스트 코드를 실행하는 방법으로 예측값과 실행값을 비교하면서 개발한다. 실행값이 예측값과 다른 경우에는 소프트웨어가 원하는 동작을 하지 않고 있다는 증거이기 때문에 소프트웨어를 계속 수정하여 예측값이 나오도록 한다. 테스트 주도 개발을 사용하면 원하는 결과를 구체적으로 결정하고 이를 동작하는 소프트웨어로 표현할 수 있다. 즉, 프로그램 개발자는 테스트 계획에 따라 소프트웨어를 개발하여 계획과 개발 사이에 발생할 수 있는 오류를 없앤다. Developing software compares predicted and executed values by running test code. If the run value differs from the predicted value, it is evidence that the software is not doing what you want, so continue to modify the software to get the predicted value. Test-driven development allows you to specifically determine the results you want and express them in the running software. In other words, program developers develop software according to test plans, eliminating errors that can occur between planning and development.

현재까지 프로그램 코드 형태로 테스트 값을 입력할 수 있기 때문에 테스트 주도형 개발 기법은 소프트웨어의 전체적인 모습보다는 클래스, 메소드 내부의 작은 단위에 대해 사용될 뿐 모바일 소프트웨어 같은 화면 중심의 소프트웨어를 개발할 때 필요한 사용성 중심의 테스트 주도형 개발은 없는 상황이다.Since test values can be entered in the form of program code to date, the test-driven development technique is used for small units inside classes and methods rather than the overall appearance of the software, and usability-oriented tests required for developing screen-oriented software such as mobile software There is no driven development.

종래의 테스트 주도형 개발 방법은 테스트 계획을 수립하고 테스트 시나리오와 테스트 데이터를 만드는 작업은 많은 시간이 걸리는 문제점이 있으며, 개발 도 중 사용자의 요구가 변경되는 경우에도 테스트 계획부터 테스트 데이터까지 모두 변경되는 문제점이 있다.The conventional test-driven development method has a problem that it takes a lot of time to establish a test plan, create test scenarios and test data, and even if the user's needs change during development, everything from the test plan to the test data changes. There is this.

또한, 테스트 주도형 개발 기법은 개발자의 관심 부분인 클래스와 메소드 내부에 집중하고 있고, 관련 툴도 클래스와 메소드 확인 기능까지만 제공하고 있기 때문에 전체 제품에 대한 사용 관점의 테스트가 이루어지지 않는 문제점이 있다. In addition, test-driven development techniques focus on classes and methods that are of interest to the developer, and related tools also provide only class and method verification functions, so there is a problem in that the test of the entire product is not conducted.

본 발명은 사용자 인터페이스(UI : User Interface)를 이용하여 예상 화면을 편집하고 사용자의 입력에 따라 변경되는 화면과 이벤트를 이용하여 예상 실행 결과를 표시해줌으로써, 사용자의 요구 사항을 소프트웨어 개발 전에 구체화한다. The present invention embodies the requirements of the user before software development by editing the expected screen using a user interface (UI) and displaying the expected execution result by using screens and events that change according to a user's input.

본 발명은 예상 실행 결과의 분석을 통해 이벤트 순서에 따라 이벤트를 생성하여 개발 중인 소프트웨어를 실행시키고, 실행 결과와 예상 실행 결과를 비교하여 소프트웨어를 검사한다.The present invention generates an event according to an event sequence through analysis of expected execution results, executes the software under development, and compares the execution result with the expected execution result to examine the software.

본 발명에 따른 모바일 소프트웨어 테스트 장치는, 이미지를 이용하여 예상 화면을 생성하는 예상 화면 생성기와, 상기 예상 화면과 이벤트를 연결하여 테스트 시나리오를 생성하는 테스트 시나리오 생성기와, 모바일 소프트웨어를 모바일 디바이스 또는 에뮬레이터에 빌드한 후 상기 생성된 테스트 시나리오 내의 이벤트를 토대로 상기 모바일 소프트웨어를 동작시켜 상기 모바일 디바이스 또는 에뮬레이터로부터 실행 결과 화면을 제공받는 테스트 에이전트와, 상기 실행 결과 화면과 예상 화면간의 비교를 통해 테스트 결과를 제공하는 테스트 분석기를 포함한다.The mobile software test apparatus according to the present invention includes an expected screen generator for generating an expected screen using an image, a test scenario generator for connecting the expected screen and an event to generate a test scenario, and mobile software to an emulator. After building, the mobile software is operated based on the generated event in the test scenario, and the test agent receives an execution result screen from the mobile device or emulator, and provides a test result through comparison between the execution result screen and the expected screen. Includes a test analyzer.

또한, 본 발명에 따른 상기 테스트 시나리오 생성기는, 다수의 이벤트가 저장된 저장부와, 상기 다수의 이벤트 중 적어도 둘 이상을 선택할 수 있는 선택부와, 상기 선택부를 통해 선택된 각 이벤트와 상기 예상 화면 생성기에서 생성된 예상 화면을 각각 연결시켜 다수의 이벤트가 포함된 상기 테스트 시나리오를 생성하며, 상기 생성된 테스트 시나리오를 편집할 수 있는 인터페이스를 제공하는 생성 및 편집부를 포함한다.The test scenario generator according to the present invention may further include a storage unit storing a plurality of events, a selection unit capable of selecting at least two or more of the plurality of events, each event selected through the selection unit, and the expected screen generator. The test scenario including a plurality of events is generated by connecting the generated expected screens, respectively, and includes a generation and editing unit for providing an interface for editing the generated test scenario.

본 발명에 따른 모바일 소프트웨어 테스트 방법은, 이미지를 토대로 생성된 예상 화면과 이벤트를 연결하여 테스트 시나리오를 생성하는 단계와, 상기 테스트 시나리오를 실행시키기 위한 모바일 소프트웨어를 모바일 디바이스 또는 에뮬레이터에 빌드하는 단계와, 상기 빌드된 모바일 소프트웨어를 상기 테스트 시나리오 내 이벤트를 토대로 동작시키는 단계와, 상기 빌드된 모바일 소프트웨어의 동작에 따른 실행 결과 화면을 제공받는 단계와, 상기 실행 결과 화면과 예상 화면간의 비교를 통해 테스트 결과를 생성하여 제공하는 단계를 포함한다.According to an aspect of the present invention, there is provided a mobile software test method comprising: generating a test scenario by connecting an expected screen generated based on an image and an event, building mobile software for executing the test scenario on a mobile device or an emulator; Operating the built mobile software based on an event in the test scenario; receiving an execution result screen according to the operation of the built mobile software; and comparing the execution result screen with an expected screen to test results. Generating and providing.

본 발명은 사용 시나리오를 구체화하여 작성할 수 있는 방법, 테스트 시나리오 실행 프레임워크를 구축하는 방법, 테스트 시나리오를 다양한 경우의 수로 실행하는 방법, 여러 플랫폼과 에뮬레이터에 독립적으로 테스트 시나리오를 만드는 방법을 제공함으로써, 이를 통해 사용자의 요구사항을 테스트 시나리오를 통해 개발 초기에 확인한 후 테스트 주도형 형태로 테스트 시나리오의 목적에 맞는 소프트웨 어를 개발할 수 있다. The present invention provides a method for creating and using a usage scenario, a method for building a test scenario execution framework, a method for executing a test scenario in various cases, and a method for creating a test scenario independently on various platforms and emulators. This allows you to check your requirements early in the test scenario and then develop software that meets the test scenario's purpose in a test-driven fashion.

또한, 본 발명은 테스트 시나리오를 편집할 수 있는 기능도 제공하기 때문에 동일한 동작을 반복하는 시나리오를 통해 스트레스 테스트를 수행할 수 있어 제품 출시 전에 테스트를 수행하기 위해 필요한 많은 인력과 시간을 줄여줄 수 있다.In addition, the present invention also provides the ability to edit the test scenario, so that the stress test can be performed through the scenario that repeats the same operation can reduce the manpower and time required to perform the test before the product launch .

이하, 본 발명의 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 아울러 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, in describing the present invention, when it is determined that the detailed description of the related known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.

도 1은 본 발명에 따른 모바일 소프트웨어 테스트 장치를 도시한 블록도이다.1 is a block diagram illustrating a mobile software test apparatus according to the present invention.

도 1을 참조하면, 모바일 소프트웨어 테스트 장치는, GUI 테스트 시나리오를 생성하는 GUI 테스트 시나리오 생성기(100), 예상 화면 생성기(110), GUI 테스트 분석기(120), GUI 테스트 케이스 관리기(130), GUI 테스트 에이전트(140), 에뮬레이터(150) 및 모바일 디바이스(160)를 포함한다. Referring to FIG. 1, the mobile software test apparatus includes a GUI test scenario generator 100, an expected screen generator 110, a GUI test analyzer 120, a GUI test case manager 130, and a GUI test that generate a GUI test scenario. Agent 140, emulator 150, and mobile device 160.

GUI 테스트 시나리오 생성기(100)는 예상 화면 생성기(110)에서 생성된 예상 화면과 이벤트를 연결하여 도 2에 도시된 바와 같은 적어도 하나 이상의 예상 테스트 시나리오를 생성한 후 이를 GUI 테스트 케이스 관리기(130)에 제공한다. 여기서, 예상 테스트 시나리오에는 테스트 개요, 테스트 목적, 주의 사항과 함께 GUI 테스트 케이스로 구성되며, 적어도 하나 이상의 이벤트가 포함되어 있다.The GUI test scenario generator 100 generates at least one predictive test scenario as shown in FIG. 2 by connecting the predicted screen generated by the predictive screen generator 110 with an event, and then displays the generated test scenario in the GUI test case manager 130. to provide. Here, the expected test scenario consists of a GUI test case with test overview, test purpose, and precautions, and includes at least one event.

여기서, GUI 테스트 시나리오 생성기(100)는 외부로부터 입력되는 다수의 이벤트, 즉 테스터가 입력한 이벤트가 저장된 저장부(102)와, 다수의 이벤트 중 적어도 둘 이상을 선택할 수 있는 선택부(104)와, 선택부(104)를 통해 선택된 각 이벤트와 예상 화면 생성기(110)에서 생성된 예상 화면을 각각 연결시켜 다수의 이벤트가 포함된 예상 테스트 시나리오를 생성하며, 예상 테스트 시나리오를 편집할 수 있는 인터페이스를 생성 및 편집부(106)를 포함한다. Here, the GUI test scenario generator 100 may include a storage unit 102 storing a plurality of events input from the outside, that is, an event input by the tester, and a selecting unit 104 capable of selecting at least two or more of the plurality of events. By connecting each of the events selected through the selection unit 104 and the prediction screen generated by the prediction screen generator 110 to generate an expected test scenario including a plurality of events, an interface for editing the expected test scenario is provided. Generation and editing unit 106.

생성 및 편집부(106)는 테스트 시나리오 내의 이벤트를 삭제, 추가, 변경할 수 있는 인터페이스를 제공하며, 이러한 인터페이스를 통한 테스터의 요청에 따라 예상 테스트 시나리오를 편집한다.The generation and editing unit 106 provides an interface for deleting, adding, and changing events in the test scenario, and edits the expected test scenario at the request of the tester through the interface.

예상 화면 생성기(110)는 외부로부터 제공받은 이미지를 이용하여 GUI 테스트 케이스에 포함되는 예상 화면을 생성하며, 생성된 예상 화면을 GUI 테스트 시나리오 생성기(100)에 제공한다. 여기서, 예상 화면은 특정 이벤트가 발생되기 전 화면, 이벤트 진행 화면, 이벤트 후 화면 등을 포함할 수 있다.The expected screen generator 110 generates an expected screen included in the GUI test case by using an image provided from the outside, and provides the generated expected screen to the GUI test scenario generator 100. Here, the expected screen may include a screen before a specific event occurs, an event progress screen, a screen after the event, and the like.

GUI 테스트 분석기(120)는 예상 화면과 예상 테스트 시나리오에 따라 생성된 실행 결과 화면을 분석하여 테스트 결과를 출력한다. 즉, GUI 테스트 분석기(120)는 예상 테스트 시나리오 내 이벤트와 연결된 예상 화면과 이벤트의 실행에 따른 실행 결과 화면 간 비교를 통해 기 설정된 오차범위 안에서의 일치 여부를 판단하여 테스트 결과를 출력하거나, 테스트 시나리오 내 이벤트와 연결된 예상 화면과 이벤트의 실행에 따른 실행 결과 화면간의 비교를 통해 일치 도를 산출한 후 산출된 일치 도에 의거하여 테스트 결과를 출력한다.The GUI test analyzer 120 analyzes the execution result screen generated according to the expected screen and the expected test scenario and outputs a test result. That is, the GUI test analyzer 120 outputs a test result by determining whether a match is within a preset error range by comparing between an expected screen connected to an event in an expected test scenario and an execution result screen according to the execution of the event, or a test scenario. After calculating the degree of agreement through the comparison between the expected screen connected to my event and the execution result screen according to the execution of the event, the test result is output based on the calculated degree of agreement.

이러한 GUI 테스트 분석기(120)는 예상 화면과 실행 결과 화면을 표시 장치(미도시됨)에 디스플레이해줄 수 있다.The GUI test analyzer 120 may display the expected screen and the execution result screen on a display device (not shown).

GUI 테스트 케이스 관리기(130)는 예상 테스트 시나리오와 GUI 테스트 케이스를 관리하는데, 이때 예상 테스트 시나리오를 동적으로 관리, 즉 여러 예상 테스트 시나리오 중 어느 하나를 선택하여 실행시키거나 예상 테스트 시나리오 실행 후 사용자의 수작업 테스트를 수행하고, 다시 다른 예상 테스트 시나리오를 동작시킬 수 있다.The GUI test case manager 130 manages the expected test scenarios and the GUI test cases, which dynamically manages the expected test scenarios, that is, selects and executes one of several expected test scenarios, or manually executes the user after the expected test scenario is executed. You can run the test and run another expected test scenario again.

또한, GUI 테스트 케이스 관리기(130)는 GUI 테스트 케이스와 더불어 예상 테스트 시나리오를 GUI 테스트 에이전트(140)에 제공한다.In addition, the GUI test case manager 130 provides the GUI test agent 140 with the expected test scenarios in addition to the GUI test cases.

GUI 테스트 에이전트(140)는 모바일 소프트웨어를 에뮬레이터(150) 또는 모바일 디바이스(160)에 빌드한 후 모바일 소프트웨어를 예상 테스트 시나리오 내의 이벤트에 따라 동작시킨다. 이에 따라, 에뮬레이터(150) 또는 모바일 디바이스(160)는 이벤트의 동작에 따른 실행 결과 화면을 생성하여 GUI 테스트 에이전트(140)에 제공한다. The GUI test agent 140 builds the mobile software on the emulator 150 or the mobile device 160 and then operates the mobile software according to the events in the expected test scenario. Accordingly, the emulator 150 or the mobile device 160 generates an execution result screen according to the operation of the event and provides it to the GUI test agent 140.

여기서, GUI 테스트 에이전트(140)는 에뮬레이터(150) 또는 모바일 디바이스(160)에서 동작하는 모바일 소프트웨어와 연결하여 예상 테스트 시나리오 내의 이벤트에 따라 소프트웨어를 실행시켜 에뮬레이터(150) 또는 모바일 디바이스(160)로부터 실행 결과 화면을 제공받으며, 제공받은 실행 결과 화면을 GUI 테스트 분석기(120)에 제공한다.Here, the GUI test agent 140 connects with the mobile software running on the emulator 150 or the mobile device 160 to execute software from the emulator 150 or the mobile device 160 by executing the software according to an event in the expected test scenario. The result screen is provided, and the provided execution result screen is provided to the GUI test analyzer 120.

도 3은 본 발명에 따른 테스트 시나리오가 동작하는 과정을 도시한 흐름도이 다.3 is a flowchart illustrating a process of operating a test scenario according to the present invention.

도 3을 참조하면, 먼저 예상 화면 생성기(110)는 외부로부터 입력받은 이미지를 토대로 예상 화면을 생성(S300)한 후 이를 GUI 테스트 시나리오 생성기(100)에 제공한다.Referring to FIG. 3, first, the expected screen generator 110 generates an expected screen based on an image input from the outside (S300) and provides the generated screen to the GUI test scenario generator 100.

GUI 테스트 시나리오 생성기(100)는 예상 화면 생성기(110)에서 외부로부터 입력받은 이미지를 토대로 생성된 예상 화면과 이벤트를 연결하여 예상 테스트 시나리오를 생성한다(S302).The GUI test scenario generator 100 generates an expected test scenario by connecting an event and an expected screen generated based on an image input from the outside in the expected screen generator 110 (S302).

예상 테스트 시나리오를 생성하는 단계에서 대해 상세히 설명하면, 먼저 사용자가 소정의 입력 장치, 예컨대 터치 패드, 키보드 등의 입력 장치를 이용하여 이벤트를 입력하면, GUI 테스트 시나리오 생성기(100)는 이벤트를 저장부(102)에 저장한다.In detail, the step of generating an expected test scenario will be described in detail. First, when a user inputs an event using a predetermined input device such as a touch pad or a keyboard, the GUI test scenario generator 100 stores the event. Save to 102.

이후, GUI 테스트 시나리오 생성기(100)는 선택부(104)의 제어를 통해 저장부(102)에 저장된 이벤트들 중적어도 하나 이상을 선택할 수 있는 인터페이스를 제공하는데, 이때 인터페이스의 조작에 따라 적어도 둘 이상의 이벤트가 선택될 경우 선택된 이벤트들을 하나의 그룹으로 그룹화시킨다. Subsequently, the GUI test scenario generator 100 provides an interface for selecting at least one or more of the events stored in the storage 102 through the control of the selector 104. When an event is selected, the selected events are grouped into one group.

GUI 테스트 시나리오 생성기(100)의 생성 및 편집부(106)는 그룹화된 각각의 이벤트 또는 선택된 이벤트에 예상 화면을 연결시켜 예상 테스트 시나리오를 생성한다.The generation and editing unit 106 of the GUI test scenario generator 100 generates an expected test scenario by connecting an expected screen to each grouped event or a selected event.

그런 다음, GUI 테스트 케이스 관리기(130)는 GUI 테스트 에이전트(140)에 예상 테스트 시나리오 내의 이벤트를 제공하며, GUI 테스트 에이전트(140)는 예상 테스트 시나리오를 실행시키기 위한 모바일 소프트웨어를 에뮬레이터(150) 또는 모바일 디바이스(160)에 빌드(S304)한 후 GUI 테스트 케이스 관리기(130)로부터 제공받은 이벤트에 따라 모바일 소프트웨어를 실행시킨다(S306).The GUI test case manager 130 then provides the GUI test agent 140 with events in the anticipated test scenario, which in turn emulates the mobile software emulator 150 or mobile to execute the anticipated test scenario. After building (S304) the device 160, the mobile software is executed according to the event provided from the GUI test case manager 130 (S306).

이때, 예상 테스트 시나리오 내에 다수의 이벤트가 존재하는 경우 GUI 테스트 케이스 관리기(130)는 다수의 이벤트 중 어느 하나를 랜덤으로 선택하여 GUI 테스트 에이전트(140)에 제공하거나, 다수의 이벤트 중 테스터가 선택한 이벤트를 GUI 테스트 에이전트(140)에 제공할 수 있다.In this case, when a plurality of events exist in the expected test scenario, the GUI test case manager 130 randomly selects any one of the plurality of events and provides them to the GUI test agent 140 or an event selected by the tester among the plurality of events. May be provided to the GUI test agent 140.

이후, GUI 테스트 에이전트(140)는 에뮬레이터(150) 또는 모바일 디바이스(160)로부터 이벤트 실행에 따른 실행 결과 화면을 제공(S308)받아 GUI 테스트 분석기(120)에 제공한다.Thereafter, the GUI test agent 140 receives the execution result screen according to the event execution from the emulator 150 or the mobile device 160 (S308) and provides the GUI test analyzer 120 to the GUI test analyzer 120.

GUI 테스트 분석기(120)는 실행 결과 화면과 이벤트에 연결된 예상 화면간의 비교를 통해 비교 결과를 출력하는데, 즉 실행 결과 화면과 이벤트에 연결된 예상 화면간의 일치 도를 계산하고(S310), 계산된 일치 도가 기 설정된 범위 안인지를 판단한다(S312).The GUI test analyzer 120 outputs a comparison result through the comparison between the execution result screen and the predicted screen connected to the event, that is, calculates the degree of coincidence between the execution result screen and the predicted screen connected to the event (S310), and calculates the coincidence degree. It is determined whether it is within a preset range (S312).

S312의 판단 결과, 계산된 일치 도가 기 설정된 범위 안인 경우 GUI 테스트 분석기(120)는 테스트 성공 메시지(S314)를 표시 장치(미도시됨)에 디스플레이하며, 그렇지 않을 경우 테스트 실패 메시지(S316)를 표시 장치에 디스플레이한다.As a result of the determination in S312, when the calculated degree of agreement is within the preset range, the GUI test analyzer 120 displays a test success message S314 on the display device (not shown), and otherwise displays a test failure message S316. Display on the device.

한편, GUI 테스트 분석기(120)는 도 4에 도시된 바와 같이, 이벤트별 테스트 실행 결과 화면(테스트 화면)과 예상 화면(기대 화면), 일치도(%), 성공 여부를 표시 장치에 디스플레이해줄 수 있다.Meanwhile, as illustrated in FIG. 4, the GUI test analyzer 120 may display a test execution result screen (test screen), an expected screen (expected screen), an agreement degree (%), and success of each event on the display device. .

지금까지 본 발명의 실시예에 국한하여 설명하였으나 본 발명의 기술이 당업자에 의하여 용이하게 변형 실시될 가능성이 자명하다. 이러한 변형된 실시 예들은 본 발명의 특허청구범위에 기재된 기술사상에 포함된다고 하여야 할 것이다.The present invention has been limited to the embodiments of the present invention, but it is obvious that the technology of the present invention can be easily modified by those skilled in the art. Such modified embodiments should be included in the technical spirit described in the claims of the present invention.

도 1은 본 발명에 따른 모바일 소프트웨어 테스트 장치를 도시한 블록도이며,1 is a block diagram showing a mobile software test apparatus according to the present invention,

도 2는 본 발명에 따른 예상 테스트 시나리오가 디스플레이된 화면을 도시한 도면이며,2 is a diagram illustrating a screen displaying an expected test scenario according to the present invention;

도 3은 본 발명에 따른 모바일 소프트웨어 테스트 과정을 도시한 흐름도이며,3 is a flowchart illustrating a mobile software test process according to the present invention.

도 4는 본 발명에 따른 테스트 결과 화면을 도시한 도면이다.4 is a diagram illustrating a test result screen according to the present invention.

<도면의 주요부분에 대한 부호의 설명>Description of the Related Art

100 : GUI 테스트 시나리오 생성기 110 : 예상 화면 생성기100: GUI test scenario generator 110: expected screen generator

120 : GUI 테스트 분석기 130 : GUI 테스트 케이스 관리기120: GUI Test Analyzer 130: GUI Test Case Manager

140 : GUI 테스트 에이전트 150 : 에뮬레이터140: GUI Test Agent 150: Emulator

160 : 모바일 디바이스160: mobile device

Claims (11)

이미지를 이용하여 예상 화면을 생성하는 예상 화면 생성기와,An expected screen generator that generates an expected screen using an image, 상기 예상 화면과 이벤트를 연결하여 테스트 시나리오를 생성하는 테스트 시나리오 생성기와,A test scenario generator for generating a test scenario by connecting the expected screen and an event; 모바일 소프트웨어를 모바일 디바이스 또는 에뮬레이터에 빌드한 후 상기 생성된 테스트 시나리오 내의 이벤트를 토대로 상기 모바일 소프트웨어를 동작시켜 상기 모바일 디바이스 또는 에뮬레이터로부터 실행 결과 화면을 제공받는 테스트 에이전트와,A test agent that builds mobile software on a mobile device or emulator and operates the mobile software based on an event in the generated test scenario to receive an execution result screen from the mobile device or emulator; 상기 실행 결과 화면과 예상 화면간의 비교를 통해 테스트 결과를 제공하는 테스트 분석기Test analyzer that provides a test result through comparison between the execution result screen and the expected screen 를 포함하는 모바일 소프트웨어 테스트 장치. Mobile software test device comprising a. 제 1 항에 있어서,The method of claim 1, 상기 테스트 장치는, The test device, 상기 생성된 테스트 시나리오 및 상기 테스트 시나리오에 대응되는 테스트 개요, 테스트 목적 및 주의 사항 중 적어도 하나 이상을 포함하는 테스트 케이스를 관리하는 테스트 케이스 관리기A test case manager that manages a test case including at least one of the generated test scenario and a test summary corresponding to the test scenario, a test purpose, and precautions. 를 더 포함하는 모바일 소프트웨어 테스트 장치.Mobile software test device further comprising. 제 1 항에 있어서,The method of claim 1, 상기 테스트 시나리오 생성기는,The test scenario generator, 다수의 이벤트가 저장된 저장부와,A storage unit for storing a plurality of events, 상기 다수의 이벤트 중 적어도 둘 이상을 선택할 수 있는 선택부와,A selection unit for selecting at least two or more of the plurality of events; 상기 선택부를 통해 선택된 각 이벤트와 상기 예상 화면 생성기에서 생성된 예상 화면을 각각 연결시켜 다수의 이벤트가 포함된 상기 테스트 시나리오를 생성하며, 상기 생성된 테스트 시나리오를 편집할 수 있는 인터페이스를 제공하는 생성 및 편집부Generating each of the test scenarios including a plurality of events by connecting each event selected through the selection unit with the expected screen generated by the expected screen generator, and providing an interface for editing the generated test scenario; and editorial department 를 포함하는 모바일 소프트웨어 테스트 장치.Mobile software test device comprising a. 제 1 항에 있어서,The method of claim 1, 상기 테스트 분석기는,The test analyzer, 상기 테스트 시나리오 내 이벤트와 연결된 상기 예상 화면과 상기 실행 결과 화면간 기 설정된 오차범위 안에서의 일치 여부를 판단하여 상기 테스트 결과를 출력하는 모바일 소프트웨어 테스트 장치.The mobile software test device outputs the test result by determining whether the predicted screen connected to the event in the test scenario and the execution result screen match within a preset error range. 제 1 항에 있어서,The method of claim 1, 상기 테스트 분석기는, The test analyzer, 상기 테스트 시나리오 내 이벤트와 연결된 상기 예상 화면과 상기 실행 결과 화면간의 비교를 통해 일치 도를 산출하고, 상기 산출된 일치도에 의거하여 상기 테스트 결과를 출력하는 모바일 소프트웨어 테스트 장치.And calculating a degree of agreement through a comparison between the expected screen connected to the event in the test scenario and the execution result screen, and outputting the test result based on the calculated degree of agreement. 제 4 항 또는 제 5 항에 있어서,The method according to claim 4 or 5, 상기 테스트 분석기는, 상기 예상 화면과 상기 실행 결과 화면을 표시 장치에 디스플레이해주는 모바일 소프트웨어 테스트 장치.And the test analyzer displays the expected screen and the execution result screen on a display device. 이미지를 토대로 생성된 예상 화면과 이벤트를 연결하여 테스트 시나리오를 생성하는 단계와,Creating test scenarios by associating events with predicted screens generated from images, 상기 테스트 시나리오를 실행시키기 위한 모바일 소프트웨어를 모바일 디바이스 또는 에뮬레이터에 빌드하는 단계와,Building mobile software on a mobile device or emulator for executing the test scenario, 상기 빌드된 모바일 소프트웨어를 상기 테스트 시나리오 내 이벤트를 토대로 동작시키는 단계와,Operating the built mobile software based on an event in the test scenario; 상기 빌드된 모바일 소프트웨어의 동작에 따른 실행 결과 화면을 제공받는 단계와,Receiving an execution result screen according to the operation of the built mobile software; 상기 실행 결과 화면과 예상 화면간의 비교를 통해 테스트 결과를 생성하여 제공하는 단계Generating and providing a test result through comparison between the execution result screen and the expected screen 를 포함하는 모바일 소프트웨어 테스트 방법. Mobile software test method comprising a. 제 7 항에 있어서,The method of claim 7, wherein 상기 테스트 시나리오를 생성하는 단계는,Generating the test scenario, 기 저장된 다수의 이벤트 중 적어도 둘 이상을 선택하여 그룹화하는 단계와,Selecting and grouping at least two or more of a plurality of previously stored events; 상기 그룹화된 각 이벤트에 대응되는 예상 화면을 각각 연결시켜 상기 테스트 시나리오를 생성하는 단계Generating the test scenario by connecting predicted screens corresponding to the grouped events, respectively; 를 포함하는 모바일 소프트웨어 테스트 방법.Mobile software test method comprising a. 제 7 항에 있어서,The method of claim 7, wherein 상기 테스트 결과를 생성하여 제공하는 단계는,Producing and providing the test result, 상기 테스트 시나리오 내 이벤트와 연결된 상기 예상 화면과 상기 실행 결과 화면을 비교하는 단계와,Comparing the execution screen with the expected screen associated with an event in the test scenario; 상기 비교를 통해 상기 예상 화면과 상기 실행 결과 화면간 기 설정된 오차범위 안에서의 일치 여부를 판단한 후 이를 토대로 상기 테스트 결과를 생성하여 제공하는 단계Determining whether the predicted screen matches the execution result screen within a preset error range and generating and providing the test result based on the comparison; 를 포함하는 모바일 소프트웨어 테스트 방법.Mobile software test method comprising a. 제 7 항 또는 제 9 항에 있어서,The method according to claim 7 or 9, 상기 테스트 결과를 생성하여 제공하는 단계는,Producing and providing the test result, 상기 테스트 시나리오 내 이벤트와 연결된 상기 예상 화면과 상기 실행 결과 화면을 표시 장치에 디스플레이하는 단계Displaying the expected screen and the execution result screen connected to an event in the test scenario on a display device; 를 더 포함하는 모바일 소프트웨어 테스트 방법.Mobile software test method further comprising. 제 7 항에 있어서,The method of claim 7, wherein 상기 테스트 결과를 생성하여 제공하는 단계는,Producing and providing the test result, 상기 테스트 시나리오 내 이벤트와 연결된 상기 예상 화면과 상기 실행 결과 화면간의 비교를 통해 일치도를 계산하는 단계와,Calculating a degree of agreement through a comparison between the expected screen connected to the event in the test scenario and the execution result screen; 상기 계산된 일치도가 기 설정된 범위 값을 갖는지의 여부를 판단하는 단계와,Determining whether the calculated coincidence has a preset range value; 상기 판단 결과에 의거하여 상기 테스트 결과를 생성하여 제공하는 단계Generating and providing the test result based on the determination result 를 포함하는 모바일 소프트웨어 테스트 방법.Mobile software test method comprising a.
KR1020090026418A 2009-03-27 2009-03-27 Testing apparatus and method for mobile software KR101029332B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090026418A KR101029332B1 (en) 2009-03-27 2009-03-27 Testing apparatus and method for mobile software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090026418A KR101029332B1 (en) 2009-03-27 2009-03-27 Testing apparatus and method for mobile software

Publications (2)

Publication Number Publication Date
KR20100108000A KR20100108000A (en) 2010-10-06
KR101029332B1 true KR101029332B1 (en) 2011-04-13

Family

ID=43129637

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090026418A KR101029332B1 (en) 2009-03-27 2009-03-27 Testing apparatus and method for mobile software

Country Status (1)

Country Link
KR (1) KR101029332B1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101158637B1 (en) * 2010-10-29 2012-06-26 한국과학기술원 Experimental frame for efficient simulation data collection, and simulation method and system using it
WO2012124841A1 (en) * 2011-03-15 2012-09-20 현대자동차 주식회사 Communication test device and method thereof
KR101276573B1 (en) * 2011-04-15 2013-06-18 주식회사 캠프넷 Test apparatus for verification algorithm in digital signal process apparatus
US8793578B2 (en) * 2011-07-11 2014-07-29 International Business Machines Corporation Automating execution of arbitrary graphical interface applications
KR101271232B1 (en) * 2011-11-18 2013-06-07 고려대학교 산학협력단 Software testing device and method thereof
CN102710832A (en) * 2012-04-21 2012-10-03 北京迈凯互动网络科技有限公司 Mobile application test method and system
KR101999321B1 (en) 2017-01-17 2019-07-11 주식회사 한글과컴퓨터 Program test system and test method using the same
CN110874318B (en) * 2018-08-31 2023-10-24 浙江宇视科技有限公司 Software testing method and device and computer readable storage medium
CN109032956B (en) * 2018-09-11 2022-03-22 郑州云海信息技术有限公司 Interface testing method and device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090065144A (en) * 2007-12-17 2009-06-22 한국전자통신연구원 System and method for testing graphic user interface of mobile application software

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090065144A (en) * 2007-12-17 2009-06-22 한국전자통신연구원 System and method for testing graphic user interface of mobile application software

Also Published As

Publication number Publication date
KR20100108000A (en) 2010-10-06

Similar Documents

Publication Publication Date Title
KR101029332B1 (en) Testing apparatus and method for mobile software
US8666723B2 (en) System and methods for generating and managing a virtual device
US7890924B2 (en) System and method for simulating product design and development
US9152540B2 (en) System and methods for generating and managing a virtual device
US7895575B2 (en) Apparatus and method for generating test driver
KR100808257B1 (en) Apparatus and Method for prototype development of embedded system
US20080307387A1 (en) Software development apparatus and method for providing performance prediction
CN112270149A (en) Verification platform automation integration method and system, electronic equipment and storage medium
US10445225B2 (en) Command coverage analyzer
KR20090065742A (en) Apparatus and method for developing software
Amirat et al. Automatic generation of PROMELA code from sequence diagram with imbricate combined fragments
CN111782266A (en) Method and device for determining software performance benchmark
CN112765018B (en) Instrument and meter debugging system and method
WO2016001982A1 (en) Test data generation assistance device and test data generation assistance method
JP5056493B2 (en) Virtual software generator
JP2016126700A (en) Program verification device, program verification method, and program verification program
CN112527571A (en) CPU instruction set coverage rate calculation method and device
JP2002157144A (en) Automatic test system for software
CN113282517A (en) Quality evaluation system of intelligent contract code
PANDEY A Novel GUI Testing Framework for Automated Testing of Android Applications
CN115082294A (en) Image format determination method and device and electronic equipment
CN114003206A (en) Functional module development method, device, electronic equipment and computer storage medium
CN112306844A (en) Interface testing method, device, equipment and storage medium of software development system
CN115509923A (en) Unit test case generation method and device and computer storage medium
Bechini et al. Performance‐steered design of software architectures for embedded multicore systems

Legal Events

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

Payment date: 20130730

Year of fee payment: 18