KR101505438B1 - 재활용도를 높일 수 있는 gui 테스트 자동화 시스템 및 그 방법 - Google Patents

재활용도를 높일 수 있는 gui 테스트 자동화 시스템 및 그 방법 Download PDF

Info

Publication number
KR101505438B1
KR101505438B1 KR1020090012572A KR20090012572A KR101505438B1 KR 101505438 B1 KR101505438 B1 KR 101505438B1 KR 1020090012572 A KR1020090012572 A KR 1020090012572A KR 20090012572 A KR20090012572 A KR 20090012572A KR 101505438 B1 KR101505438 B1 KR 101505438B1
Authority
KR
South Korea
Prior art keywords
test
information
script
gui
database
Prior art date
Application number
KR1020090012572A
Other languages
English (en)
Other versions
KR20100056338A (ko
Inventor
이영호
Original Assignee
(주)링크제니시스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)링크제니시스 filed Critical (주)링크제니시스
Publication of KR20100056338A publication Critical patent/KR20100056338A/ko
Application granted granted Critical
Publication of KR101505438B1 publication Critical patent/KR101505438B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

GUI 테스트용 스크립트의 재활용도를 높일 수 있는 GUI 테스트 자동화 시스템 및 그 방법이 개시된다. 본 발명의 실시예에 따른 GUI 테스트 자동화 시스템은, GUI 테스트를 수행하기 위한 스크립트를 생성함에 있어서 테스트의 수행 절차인 동적 데이터와 판단의 기준이 되는 정적 데이터를 영역정보에 대응하는 영역정보 ID 정보로서 사용하고 실제 정보는 데이터베이스에 저장함으로써, 정적 데이터의 일부만이 변경되는 경우 GUI 테스트를 위한 스크립트를 보다 용이하게 수정할 수 있다.

Description

재활용도를 높일 수 있는 GUI 테스트 자동화 시스템 및 그 방법{GUI test automatic system for improving reusability of test script and method thereof}
본 발명에 따른 실시예는 테스트 자동화 시스템에 관한 것으로서, 보다 구체적으로 키보드와 같은 외부 입력을 받아들이는 인터페이스와 상태를 표시하는 그래픽 사용자 인터페이스(GUI)를 구비한 단말기들을 테스트하기 위한 스크립트를 작성할 경우에 이를 보다 용이하게 수정할 수 있게 하는 GUI 자동화 테스트 시스템 및 그 방법에 관한 것이다.
최근 각종 유무선 멀티미디어 기기들(예컨대, 휴대폰, PMP, 디지털 TV, 네이게이션 등)은 보다 다양한 기능을 추구할 수 있는 방향으로 진화하고 있기 때문에 기기들에 포함된 기능 또한 복잡하고 다양하게 구비되고 있다. 또한, 멀티미디어 기기의 보급 확대로 인해 멀티미디어 기기의 기능 또한 방대해지고 있으며 제품 개발 주기도 급속하게 빨라지고 있다.
이러한 멀티미디어 기기를 출시하기 이전에 제품의 각 기능들이 제대로 동작하는지 등에 대한 테스트 과정을 출시 이전에 여러 차례 거치는 것이 일반적인 업무이다. 하지만, 이러한 기기들의 기능이 많아질수록 수작업을 통해 화면을 테스트 하게 되면 테스트에 드는 비용과 시간이 기하급수적으로 증가하는 문제점이 발생하게 된다.
이러한 문제점을 극복하기 위하여 업계에서는 테스트 자동화 시스템을 도입하고 있다. 이러한 시스템은 테스트가 제품의 상태를 변화하기 위한 입력과 그 결과인 상태를 여러 가지 판단 기준을 통해서 가부를 판단한다는 점에 착안하여, 수행 절차 및 판단을 소프트웨어와 하드웨어로 구성된 테스트 자동화 솔루션이 대신 해주는 것이다. 이렇게 함으로써 반복적인 테스트 작업을 보다 효율적으로 진행할 수 있다.
이러한 테스트 자동화 시스템은 소프트웨어 작성 언어와 유사한 형식의 언어로 테스트 수행 절차와 판단 기준을 기술한 스크립트를 이용하여 테스트를 수행하게 되는데, 상기 스크립트를 작성하는데에는 수작업으로 테스트를 수행하는 것만큼이나 많은 인력과 시간을 필요로 한다. 도 1은 GUI 테스트에 사용되는 스크립트의 일 예를 예시한 것인데, 단말기가 많은 화면을 포함하는 경우에는 단말기의 화면들을 테스트하기 위한 스크립트의 양도 방대해질 수 있다.
테스트 자동화를 좀더 많이 보급시키기 위해서는 많은 리소스를 투입하여 작성한 테스트 스크립트를 보다 많은 제품의 테스트에 사용할 수 있어야 한다. 제품의 모델이나 버전의 일부가 변경되는 경우에는, GUI의 크기나 배치, 색깔 등의 일부가 바뀌는 것이 일반적이다. 그러나 테스트 스크립트에 화면 정보나 영역 정보를 직접적으로 기술하게 되면 이러한 작은 변경에도 불구하고 스크립트를 전면적으로 재작성해야 하는 불편함이 있다. 즉, 변경되는 정보가 스크립트 상에 직접 입력되 어 있기 때문에 이를 수정하기 위해서는 스크립트에 해당 정보를 직접 변경시켜주어야 하고, 이는 결국 스크립트를 새로이 작성하는 것과 동일한 비용과 시간이 소비된다.
따라서, 본 발명은 상기의 문제점을 해결하고자 안출된 것으로서, 본 발명에 따른 실시예의 목적은 화면 구성 요소의 일부분만이 변경되는 경우에 테스트 스크립트를 용이하게 수정할 수 있도록 하는 GUI 테스트 자동화 시스템 및 그 방법을 제공하는 것이다.
또한, 본 발명에 따른 실시예의 목적은 화면 구성 요소의 일부분만이 변경되는 경우에 종래의 테스트 스크립트를 기초로 하는 데이터베이스를 수정함으로써 데트스 스크립트의 재활용도를 증가시킬 수 있다.
상기의 기술적 과제를 해결하기 위한 GUI 테스트 자동화 시스템은, 동적 데이터 및 정적 데이터를 포함하는 GUI 테스트용 스크립트를 생성하기 위한 스크립트 생성 장치; 상기 스크립트 생성 장치에서 생성된 상기 GUI 테스트용 스크립트에 기초하여 단말기의 GUI 테스트를 수행하기 위한 테스트 장치를 포함하고, 상기 GUI 테스트용 스크립트에 포함된 상기 정적 데이터는 영역정보에 대응하는 영역정보 ID 정보를 포함할 수 있다.
상기 GUI 테스트 자동화 시스템은, 상기 영역정보 ID 정보에 대응하는 실제 정보가 포함된 데이터 베이스를 더 포함하고, 상기 실제 정보는 이미지 정보, 문자열 정보, 및 영역 정보 중에서 적어도 하나를 포함할 수 있다.
상기 영역정보 ID는 상기 데이터베이스에 저장된 상기 실제 정보와 링크될 수 있다.
상기 GUI 테스트 자동화 시스템은, 상기 데이터 베이스를 업데이트하기 위한 업데이트부; 및 상기 업데이트부의 활성화 여부를 제어하기 위한 모드 설정부를 더 포함할 수 있다.
상기 모드 설정부에 의해 상기 업데이트부가 활성화될 때, 상기 테스트 장치의 테스트 결과에 기초하여 상기 데이터 베이스에 저장된 상기 실제 정보를 업데이트할 수 있다.
상기의 기술적 과제를 해결하기 위한 GUI 테스트 자동화 방법은, GUI 테스트용 스크립트에 포함된 정적 데이터를 영역정보에 대응하는 영역정보 ID로서 구현하는 단계; 상기 영역정보에 대응하는 영역정보 ID에 대응하는 실제 정보를 데이터 베이스에 저장하는 단계; 상기 GUI 테스트용 스크립트에 기초하여 단말기의 화면을 테스트하는 단계; 및 테스트 결과에 기초하여 상기 데이터 베이스를 업데이트하는 단계를 포함할 수 있다.
상기 GUI 자동화 테스트 방법은, 상기 데이터 베이스의 업데이트 활성화 여부에 대한 동작 모드를 판단할 수 있다.
상기 데이터 베이스를 업데이트하는 단계는, 상기 단말기에 포함된 각 화면의 데이터와 상기 데이터 베이스에 저장된 실제 정보가 일치하는지를 판단하는 단계; 및 판단 결과 일치하지 아니한 데이터가 발생하면, 상기 데이터 베이스에서 상기 일치하지 아니한 데이터에 상응하는 상기 실제 정보를 업데이트하는 단계를 포함할 수 있다.
영역정보에 대응하는 영역정보 ID 정보와 상기 데이터베이스에 저장된 상기 실제 정보를 링크시키는 단계를 더 포함할 수 있다.
본 발명의 실시예에 따른 GUI 테스트 자동화 시스템 및 그 방법은, 테스트 대상 단말기의 모델 변경에 따른 스크립트 수정에 필요한 시간과 비용을 효율적으로 감소시킬 수 있다.
또한, 본 발명의 실시예에 따른 GUI 테스트 자동화 시스템 및 그 방법은, 스크립트에서의 정적 데이터에 대응하는 실제 정보를 분리하여 저장함으로써, 스크립트의 작성 또는 유지의 효율성을 극대화할 수 있다.
특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니된다.
본 발명의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 2는 본 발명의 실시예에 따른 GUI 테스트 자동화 시스템(menu test automatic system, 1)의 개략적인 블록도이다.
본 발명의 실시예에 따른 GUI 테스트 자동화 시스템(1)은, 스크립트 생성 장치(10), 테스트 장치(20)를 포함할 수 있다.
상기 스크립트 생성 장치(script generating device, 10)는 단말기의 GUI 테스트를 수행하기 위한 스크립트를 생성할 수 있다. 본 발명의 실시예에 따른 스크립트는, 컴퓨터 프로세서가 아닌 다른 프로그램에 의해 번역되거나 수행될 수 있는 프로그램 또는 명령어들의 나열을 포함할 수 있다. 일반적으로 상기 스크립트는 컴파일이 필요한 C 또는 C++과 같은 언어들에 비해 이해하기 쉬우며 빠른 속도로 작성할 수가 있어서 매우 제한된 능력을 갖는 프로그램이나 컴파일된 기존의 프로그램과 연결하여 재사용할 수 있는 프로그램을 만드는데 적당할 수 있다.
또한, 본 발명의 실시예에 따른 단말기는 다수의 화면들을 구비한 임의의 장 치들을 모두 포함할 수 있으며, 예컨대 휴대폰(cellular phone), 휴대용 멀티미디어 플레이어(PMP; portable multimedia player), 디지털 오디오 플레이어(digital audio player), 디지털 텔레비전(digital television), 영상 촬영 장치(예컨대, 디지털 카메라 등) 등을 예시할 수 있다.
상기 스크립트는, 상기 단말기에 포함된 각 화면 간의 이동 정보를 포함하는 동적 데이터(dynamic data)와 상기 단말기에 포함된 각 화면의 정보를 포함하는 정적 데이터(static data)를 포함할 수 있다. 예컨대, 상기 동적 데이터는 현재의 화면으로부터 상위 화면 또는 하위 화면 등으로 이동하기 위해서 어떠한 키(또는 버튼)를 수행해야하는지에 대한 정보가 포함될 수 있다. 또한, 상기 정적 데이터는 각 화면의 이미지 정보, 영역 정보, 문자열 정보, 사운드 정보 등이 포함될 수 있다. 상기 스크립트는 도 3a 및 도 3b에서 예시하기로 한다.
또한, 본 발명의 실시예에 따른 GUI 테스트 자동화 시스템(1)은 데이터 베이스(database, 30)를 더 포함할 수 있다. 이때, 상기 스크립트에 포함된 정적 데이터는 영역정보에 대응하는 영역정보 ID 정보로서 구현될 수 있으며, 상기 영역정보에 대응하는 영역정보 ID에 대응하는 실제 정보는 상기 데이터베이스(30)에 저장될 수 있다. 상기 데이터베이스(30)에 저장된 상기 실제 정보는, 이미지 정보(image information), 문자열 정보(string information), 영역 정보(area information), 또는 사운드 정보(sound information) 등을 포함할 수 있다. 또한, 상기 영역정보 ID와 상기 데이터베이스(30)에 저장된 상기 실제 정보는 서로 링크될 수 있다. 상기 예시한 영역정보 ID 및 실제 정보에 대해서는 도 3b 내지 도 3d에서 상술하기로 한다.
또한, 테스트 장치(test device, 20)는 상기 스크립트 생성 장치(10)에서 생성된 스크립트에 기초하여 상기 단말기의 화면 테스트를 수행할 수 있다.
실시예에 따라, 상기 테스트 과정은 각 화면에 상응하는 인증 화면과 실제 디스플레이되는 화면이 일치하는지 여부를 확인하는 단계를 포함할 수 있으며, 확인 결과 일치하는 것으로 판명되는 경우에 해당 화면의 테스트가 합격(또는 패스)으로 처리될 수 있다. 유사하게, 확인 결과 각 화면에 상응하는 인증 화면과 실제로 디스플레이되는 화면이 일치하지 않는 경우에는 해당 화면의 테스트가 불합격(또는 패일)으로 처리될 수 있다.
실시예에 따라, 상기 테스트 과정은 소정의 텍스트가 지정 위치에서 정확하게 디스플레이되는지를 확인하는 단계, 각 영역에 지정된 컬러가 일치하는지를 확인하는 단계, 해당 화면에 삽입된 사운드가 올바르게 출력되는지를 확인하는 단계 등을 더 포함할 수 있다.
도 3a 및 도 3b는 각각 종래의 GUI 테스트용 스크립트와 본 발명의 실시예에 따른 GUI 테스트용 스크립트를 예시한 것이다.
도 1 내지 도 3a, 및 도 3b를 참조하면, 종래의 GUI 테스트용 스크립트는 인증 화면과 실제 화면을 비교하기 위한 정보로서 실제의 영역 정보와 실제 데이터를 직접 스크립트 상에 기술하였다. 즉, 특정 화면에서 디스플레이되는 화면의 특정 위치(예컨대, '좌0 우10 상20 하10')에 특정 이미지(예컨대, "Menu.bmp")가 제대로 디스플레이되는지를 확인하기 위해 실제의 영역 정보와 실제의 이미지 정보가 상기 스크립트에 직접 기술된다.
하지만, 도 3b에 도시된 바와 같이, 본 발명의 실시예에 따른 GUI 테스트용 스크립트는 상기 정적 데이터로서 영역정보에 대응하는 영역정보 ID 정보를 포함할 수 있다. 예컨대, 특정 이미지의 영역 정보에 대응하는 영역정보 ID 정보를 포함할 수 있으며, 특정 이미지(또는 문자열)로서도 상기 영역정보 ID를 포함할 수 있다.
즉, 테스트를 수행하기 위한 이미지의 영역이 AREA_L, AREA_R, AREA_T, 및 AREA_B 등의 ID 정보로 표시되고, 이미지 부분도 실제의 이미지 데이터가 아닌 ID 정보로 표시될 수 있다. 상기 영역정보에 대응하는 영역정보 ID 정보는 상기 데이터 베이스(30)에 저장된 실제 정보와 링크될 수 있으며, 따라서 필요시에 상기 데이터 베이스(30)에 저장된 실제 정보를 수정함으로써 스크립트의 수정 또는 업데이트를 보하 효율적으로 수행할 수 있다.
도 3c 및 도 3d는 본 발명의 실시예에 따른 데이터 베이스(30)에 저장된 실제 정보를 예시적으로 나타낸 것이다. 상기한 바와 같이, 상기 데이터 베이스(30)에 저장된 실제 데이터 정보는 스크립트에 기재된 ID 정보와 링크될 수 있으며, 상기 데이터 베이스(30)는 임의의 소프트웨어에서 구현될 수 있다.
예컨대, 도 3c에 도시된 바와 같이, 본 발명의 실시예에 따른 데이터 베이스(30)에는 메뉴(ID_Menu)의 이미지의 영역(AREA_L 내지 AREA_B)에 상응하는 실제 정보가 기록될 수 있다. 따라서, 상기 데이터 베이스(30)에 저장된 실제 정보 데이터를 일부 수정함으로써 스크립트에 기재된 ID 정보를 수정하는 것과 같은 효과를 얻을 수 있으며, 이는 스크립트 자체를 모두 수정해야하는 불편함을 해소하여 주기 때문에 시간적 또는 비용적으로 상당히 효율적이다.
예컨대, 단말기의 버전이 변경되어 "메뉴(ID_Menu)" 이미지가 화면에서 약간 이동하는 경우, 설계자 또는 테스트 수행자는 상기 데이터 베이스(30)에 접근하여 해당 영역 정보만을 수정함으로써 스크립트 전체에서 메뉴 부분을 수정하는 것과 같은 효과를 얻을 수 있다.
또한, 도 3d에 도시된 바와 같이, 상기 데이터 베이스(30)에는 메뉴(ID_Menu)의 이미지에 상응하는 실제 정보가 기록될 수 있다. 따라서, 특정 이미지를 변경하고자 하는 경우에 상기 데이터 베이스(30)에 접근하여 해당하는 이미지 파일만을 변경함으로써, 스크립트에 기재된 모든 이미지 정보를 수정하는 것과 동일한 효과를 얻을 수 있다.
상기한 바와 같이, 단말기에 구비된 다양한 화면들에서 일부의 변경이 가해지는 경우에 정적 데이터를 기반으로 하는 영역정보ID 정보와 실제 정보를 분리하여 저장함으로써, 설계자 또는 테스트 수행자가 용이하고 신속하게 스크립트를 수정할 수 있도록 한다.
실시예에 따라, 테스트 수행 과정을 통해서 자동으로 상기 데이터 베이스(30)에 저장된 실제 정보를 업데이트할 수도 있다. 예컨대, 테스트를 수행하면서 특정 화면에서의 테스트가 불합격(또는 패일)으로 판정되는 경우에 단말기의 환경에 맞추어 상기 데이터 베이스(30)를 업데이트하도록 본 발명의 실시예에 따른 GUI 테스트 자동화 시스템(1)이 구현될 수 있다.
이를 위해, 본 발명의 실시예에 따른 GUI 테스트 자동화 시스템(1)은 상기 데이터 베이스를 업데이트하기 위한 업데이트부(40), 및 상기 업데이트부(40)의 활성화 여부를 제어하기 위한 모드 설정부(50)를 더 포함할 수 있다.
상기 모드 설정부(50)는, 상기 데이터 베이스(30)의 정보를 기반으로 하여 테스트를 진행하되 불일치 판단시 테스트 결과만을 출력할 뿐 상기 데이터 베이스(30)를 수정하지 않도록 하는 모드(예컨대, 제1 모드) 및 상기 데이터 베이스(30)의 정보를 기반으로 하여 테스트를 진행하되 불일치 판단시 상기 데이터 베이스(30)를 업데이트하도록 상기 업데이트부(40)를 활성화하는 모드(예컨대, 제2 모드) 중에서 어느 하나의 모드로 동작하도록 제어할 수 있다.
도 4는 모드 설정부(50)에서 제어할 수 있는 두 가지 모드에 대한 개념을 설명하기 위한 개략도이다.
도 1 내지 도 4를 참조하면, 상기 모드 설정부(50)는 상기 업데이트부(40)의 활성화 여부를 제어할 수 있다. 예컨대, 상기 업데이트부(40)를 활성화하고자 하는 경우에 상기 모드 설정부(50)는 활성화 제어 신호(EN)를 출력할 수 있고 상기 업데이트부(40)는 상기 모드 설정부(50)에서 출력된 상기 활성화 제어 신호(EN)에 응답하여 활성화될 수 있다.
유사하게, 상기 업데이트부(40)를 비활성화하고자 하는 경우에 상기 모드 설정부(50)는 비활성화 제어 신호(DISEN)를 출력할 수 있고 상기 업데이트부(40)는 상기 모드 설정부(50)에서 출력된 상기 비활성화 제어 신호(EN)에 응답하여 비활성화될 수 있다.
상기 테스트 장치(20)가 상기 제2 모드로 동작하는 경우에 상기 테스트 결과 가 불일치하는 것으로 판명되면 상기 데이터 베이스(30)를 업데이트할 수 있기 때문에 동적 정보와 정적 정보가 상호 데이터 전송 관계를 갖는 것으로 예시하였지만, 상기 테스트 장치(20)가 상기 제1 모드로 동작하는 경우 상기 테스트 장치(20)는 상기 데이터 베이스(30)에 저장된 데이터를 참조만 하므로 일 방향의 데이터 전송 관계를 갖는 것으로 예시하였다.
도 5a 및 도 5b는 각각 제1 모드와 제2 모드로 동작할 경우에 GUI 테스트 자동화 방법을 설명하기 위한 순서도이다.
도 5a는 본 발명의 실시예에 따른 GUI 테스트 자동화 장치(1)가 상기 제1 모드로 동작할 경우의 GUI 테스트 자동화 방법에 대한 순서도이다. 도 1 내지 도 5a를 참조하면, 상기 스크립트 생성 장치(10)는 스크립트에 포함된 정적 데이터를 영역정보에 대응하는 영역정보 ID 정보로서 구현할 수 있다(S510). 다음으로, 상기 영역정보에 대응하는 영역정보 ID에 대응하는 실제 정보가 상기 데이터 베이스(30)에 저장될 수 있다(S520).
데이터의 분리 저장이 완료된 이후에, 상기 테스트 장치(20)는 상기 단말기의 화면을 테스트할 수 있다(S530). 상기 테스트 장치(20)는 상기 단말기의 화면과 상기 데이터 베이스(30)에 저장된 인증 화면과 일치하는지를 판단하고, 일치하지 않는 데이터의 존재 여부를 판단할 수 있다(S540). 판단 결과, 불일치하는 데이터가 존재하는 경우에 상기 테스트 장치는 불합격(또는 패일) 데이터에 대한 정보를 출력할 수 있다(S550).
도 5b는 본 발명의 실시예에 따른 GUI 테스트 자동화 장치(1)가 상기 제2 모드로 동작할 경우의 GUI 테스트 자동화 방법에 대한 순서도이다. 도 1 내지 도 5b를 참조하면, 상기 스크립트 생성 장치(10)는 스크립트에 포함된 정적 데이터를 영역정보에 대응하는 영역정보 ID로서 구현할 수 있다(S610). 다음으로, 상기 영역정보에 대응하는 영역정보 ID에 대응하는 실제 정보가 상기 데이터 베이스(30)에 저장될 수 있다(S620).
데이터의 분리 저장이 완료된 이후에, 상기 테스트 장치(20)는 상기 단말기의 화면을 테스트할 수 있다(S630). 상기 테스트 장치(20)는 상기 단말기의 화면과 상기 데이터 베이스(30)에 저장된 인증 화면과 일치하는지를 판단하고, 일치하지 않는 데이터의 존재 여부를 판단할 수 있다(S640). 판단 결과, 불일치하는 데이터가 존재하는 경우에, 상기 업데이트부(40)는 상기 데이터 베이스(30)를 상기 단말기의 환경에 맞도록 업데이트할 수 있다(S650).
도 6은 본 발명의 실시예에 따른 GUI 테스트 자동화 시스템(1)이 상기 제2 모드로 수행하여 상기 데이터 베이스(30)를 업데이트하는 방법을 설명하기 위한 개략도이다.
도 1 내지 도 6을 참조하면, 상기 모드 설정부(50)에 의해 상기 업데이트부(40)의 활성화 여부가 제어될 수 있고, 도 6은 두 가지 모드 중에서 상기 데이터 베이스(30)를 자동으로 업데이트할 수 있는 제2 모드에 대한 설명이다.
도 6에서는 메뉴 화면을 테스트하는 것으로 예시하였으며, 상기 메뉴 화면에는 이미지 정보(또는 문자열 정보)로서 'menu'만을 포함하는 것으로 예시한다. 도 6에 도시된 바와 같이, 본래의 메뉴 화면에 표시되는 이미지는 (10,100,5,10)의 영 역에 위치하고, 단말기 GUI의 버전 변경 등으로 인해 상기 이미지의 위치가 하단부로 약간 이동한 것으로 예시한다.
따라서, 상기 테스트 장치(20)에 의해서 상기 메뉴 화면의 테스트 결과는 불일치(또는 패일)로 판단될 수 있으며, 상기 업데이트부(40)는 단말기의 영역 정보에 맞추어 상기 데이터 베이스(30)의 영역 정보를 업데이트할 수 있다(예컨대, 도 6에 도시된 바와 같이, (10,100,5,10)을 (10,100,20,25)로). 또한, 도 6에서는 영역 정보가 업데이트되는 것을 예시하였지만, 본 발명에 따른 실시예는 이에 한정되지 않고 이미지 업데이트, 문자열 업데이트, 또는 사운드 업데이트 등의 구성을 모두 포함할 수 있다.
이러한 스크립트 기반의 자동화 테스트 툴을 이용하여 그래픽 사용자 인터페시스(GUI)를 포함하는 테스트 대상 시스템을 테스트하고자 하는 경우에, 본 발명의 실시예에 따른 GUI 테스트 자동화 방법이 적용될 수 있다.
본 발명의 실시예에 따른 GUI 테스트 자동화 방법은 컴퓨터로 리드할 수 있는 기록 매체에 컴퓨터가 리드할 수 있는 코드로서 구현될 수 있다. 컴퓨터가 리드할 수 있는 기록 매체는 컴퓨터 시스템에 의하여 리드될 수 있는 데이터가 저장될 수 있는 모든 종류의 기록 장치를 포함할 수 있다.
예컨대, 컴퓨터가 리드할 수 있는 기록 매체에는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등을 예시할 수 있으며, 또한, 본 발명의 실시예에 따른 GUI 테스트 자동화 방법을 수행하기 위한 프로그램 코드는 캐리어 웨이브(예컨대, 인터넷을 통한 전송)의 형태로 전송될 수도 있다.
또한, 컴퓨터가 리드할 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터가 리드할 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명의 실시예에 따른 GUI 테스트 자동화 방법을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 세크먼트들을 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 것을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명의 상세한 설명에서 제공되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 GUI 자동화 테스트를 위한 스크립트의 일 예를 기술하기 위한 예시도.
도 2는 본 발명의 실시예에 따른 GUI 자동화 테스트 시스템.
도 3a 및 도 3b는 종래의 GUI 테스트용 스크립트와 본 발명의 실시예에 따른 GUI 테스트용 스크립트를 비교한 예시도.
도 3c 및 도 3d는 본 발명의 실시예에 따른 데이터 베이스에 저장된 실제 정보의 예시도.
도 4는 본 발명의 실시예에 따른 동작 모드들을 설명하기 위한 예시도.
도 5a 및 도 5b는 동작 모드들에 따른 GUI 테스트 자동화 방법을 설명하기 위한 순서도.
도 6은 본 발명의 실시예에 따른 데이터 베이스의 업데이트를 설명하기 위한 예시도.

Claims (9)

  1. 동적 데이터 및 정적 데이터와 상기 정적 데이터 중 영역정보에 대응하는 영역정보 ID를 포함하는 GUI 테스트용 스크립트를 생성하기 위한 스크립트 생성 장치;
    상기 스크립트 생성 장치에서 생성된 상기 GUI 테스트용 스크립트에 기초하여 단말기의 GUI 테스트를 수행하기 위한 테스트 장치;
    상기 영역정보 ID에 링크되는 실제 정보가 포함된 데이터 베이스;
    상기 데이터 베이스를 업데이트하기 위한 업데이트부; 및
    상기 업데이트부의 활성화 여부를 제어하기 위한 모드 설정부;를 포함하여 이루어지되,
    상기 실제 정보는 이미지 정보, 문자열 정보, 및 영역 정보 중에서 적어도 하나를 포함하는 GUI 테스트 자동화 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 모드 설정부에 의해 상기 업데이트부가 활성화될 때,
    상기 테스트 장치의 테스트 결과에 기초하여 상기 데이터 베이스에 저장된 상기 실제 정보를 업데이트하는 GUI 테스트 자동화 시스템.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
KR1020090012572A 2008-11-19 2009-02-16 재활용도를 높일 수 있는 gui 테스트 자동화 시스템 및 그 방법 KR101505438B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20080115273 2008-11-19
KR1020080115273 2008-11-19

Publications (2)

Publication Number Publication Date
KR20100056338A KR20100056338A (ko) 2010-05-27
KR101505438B1 true KR101505438B1 (ko) 2015-03-25

Family

ID=42280509

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090012572A KR101505438B1 (ko) 2008-11-19 2009-02-16 재활용도를 높일 수 있는 gui 테스트 자동화 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101505438B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101495021B1 (ko) * 2010-10-04 2015-02-24 에스케이플래닛 주식회사 문자열 입력장치 및 방법
CN102253888B (zh) * 2011-07-29 2014-06-25 华为终端有限公司 自动生成用例脚本的方法和装置
CN106502882B (zh) * 2016-09-23 2019-02-01 卡斯柯信号有限公司 适用于城轨软件自动化测试的测试脚本设计方法
CN110727599B (zh) * 2019-10-17 2023-08-04 青岛海信宽带多媒体技术有限公司 测试环境配置及更新方法
CN113077735B (zh) * 2020-01-06 2023-11-17 广州汽车集团股份有限公司 一种车载显示设备的测试方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306358A (ja) * 2000-04-27 2001-11-02 Ricoh Co Ltd Guiプログラムのテスト装置、guiプログラムのテスト方法及び該方法に用いる記録媒体
JP2002259161A (ja) * 2001-03-02 2002-09-13 Hitachi Ltd テストスクリプトの自動生成装置
JP2003263385A (ja) 2002-03-11 2003-09-19 Kochi Systems:Kk 高速wwwサーバシステムおよび高速表示方法
JP2007102654A (ja) 2005-10-07 2007-04-19 Hitachi Software Eng Co Ltd テストスクリプト処理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306358A (ja) * 2000-04-27 2001-11-02 Ricoh Co Ltd Guiプログラムのテスト装置、guiプログラムのテスト方法及び該方法に用いる記録媒体
JP2002259161A (ja) * 2001-03-02 2002-09-13 Hitachi Ltd テストスクリプトの自動生成装置
JP2003263385A (ja) 2002-03-11 2003-09-19 Kochi Systems:Kk 高速wwwサーバシステムおよび高速表示方法
JP2007102654A (ja) 2005-10-07 2007-04-19 Hitachi Software Eng Co Ltd テストスクリプト処理プログラム

Also Published As

Publication number Publication date
KR20100056338A (ko) 2010-05-27

Similar Documents

Publication Publication Date Title
US7721258B2 (en) Integrated development environment with managed platform registry
US8533691B2 (en) Managing non-common features for program code translation
US20060277231A1 (en) Integrated software development and porting system for wireless devices
US20060277209A1 (en) Efficient and automatic software application development system for wireless devices
KR101505438B1 (ko) 재활용도를 높일 수 있는 gui 테스트 자동화 시스템 및 그 방법
CN104572042A (zh) 移动终端设备的跨平台中间件装置及其实现方法
CN110013672B (zh) 用于机器运行的游戏的自动化测试的方法、设备、装置以及计算机可读存储介质
KR20170015968A (ko) 모바일 장치들의 원격 구성을 허용하기 위해 모바일 장치들 상에 설치되는 고속 어플리케이션
JP2009020705A (ja) Guiアプリケーション開発支援装置及び開発支援方法
CN109739656A (zh) 接口数据模拟方法、装置、存储介质和电子设备
CN110442366A (zh) 一种传屏处理方法、装置、设备和存储介质
US9501388B2 (en) Method and system for creating reference data
CN111881051A (zh) 测试用例的生成方法、装置、终端及存储介质
US20070240131A1 (en) Application prototyping
JP2008276690A (ja) 開発システム、開発システムのサーバ、開発方法
CN112860587B (zh) Ui自动测试方法和装置
US20170039037A1 (en) Live mobile application visual editor demo
CN104991857B (zh) 跟踪调试方法及装置
JP2013077159A (ja) テスト自動化システム
KR101488815B1 (ko) 메뉴 테스트용 스크립트 생성 장치, 이를 포함하는 메뉴 테스트 자동화 시스템, 및 그 방법
KR101460860B1 (ko) 상태 기반의 테스트 시나리오 모델을 이용한 gui 테스트 장치 및 방법
Hamza et al. TCAIOSC: application code conversion
CN114048134A (zh) 基于pom和数据驱动的自动化测试方法和装置
Darcey et al. Learning Android Application Programming for the Kindle Fire: A Hands-on Guide to Building Your First Android Application
US20050055670A1 (en) Converting and executing applications

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20180110

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190131

Year of fee payment: 5