KR20130024247A - Gui 테스트 자동화 시스템 및 방법 - Google Patents

Gui 테스트 자동화 시스템 및 방법 Download PDF

Info

Publication number
KR20130024247A
KR20130024247A KR1020110087569A KR20110087569A KR20130024247A KR 20130024247 A KR20130024247 A KR 20130024247A KR 1020110087569 A KR1020110087569 A KR 1020110087569A KR 20110087569 A KR20110087569 A KR 20110087569A KR 20130024247 A KR20130024247 A KR 20130024247A
Authority
KR
South Korea
Prior art keywords
gui
image
test
test script
script
Prior art date
Application number
KR1020110087569A
Other languages
English (en)
Other versions
KR101784280B1 (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 엔에이치엔(주)
Priority to KR1020110087569A priority Critical patent/KR101784280B1/ko
Publication of KR20130024247A publication Critical patent/KR20130024247A/ko
Application granted granted Critical
Publication of KR101784280B1 publication Critical patent/KR101784280B1/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • 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]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements

Landscapes

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

Abstract

GUI(Graphical User Interface) 테스트 자동화 시스템 및 방법이 개시된다. GUI 테스트 시스템은 한글을 기반으로 테스트 스크립트를 생성하는 스크립트 생성부 및 상기 생성된 테스트 스크립트를 실행함으로써 GUI를 테스트하는 GUI 테스트부를 포함할 수 있다.

Description

GUI 테스트 자동화 시스템 및 방법{SYSTEM AND METHOD FOR TESTING GRAPHICAL USER INTERFACE AUTOMATICALLY}
본 발명의 실시예들은 자동으로 GUI(Graphical User Interface)를 테스트할 수 있는 GUI 테스트 자동화 시스템 및 방법에 관한 것이다.
일반적으로 웹 어플리케이션이 개발되면, 개발된 웹 어플리케이션의 동작에 이상이 있는지 검사하기 위한 테스트가 필요하다. 그러나, 사용자가 일일이 웹 어플리케이션의 다양한 동작을 테스트하는 것은 많은 테스트 시간을 요구할 뿐만 아니라, 많은 비용을 발생시킨다. 따라서, 셀레늄(selenium)과 같이 테스트 스크립트를 이용하여 자동으로 웹 어플리케이션을 테스트하는 테스트 자동화 시스템이 웹 어플리케이션의 테스트에 널리 이용되고 있다.
도 1은 셀레늄으로 작성된 테스트 스크립트를 나타내는 예시도이다. 도면을 참조하면, 셀레늄의 테스트 스크립트는 다음과 같은 기능을 수행한다.
(1) 네이버 메인 페이지에 접속
(2) 검색어로서 "GUI 테스트 자동화"를 입력한 후 검색 수행
(3) 검색 결과를 확인
이와 같이 기존의 테스트 자동화 시스템의 테스트 스크립트는 프로그래밍 언어를 기반으로 하기 때문에, 테스트 스크립트를 작성하고 이해하기 위하여 사용자는 프로그래밍 언어를 습득해야 하는 어려움이 있다.
또한, 기존의 테스트 자동화 시스템은 대부분 커맨드의 오브젝트를 지정할 때 DOM(Document Object Model) 트리 기반의 XPath(XML Path Language)를 사용하고 있다. XPath는 다양한 형태로 오브젝트를 정확하게 지정할 수는 있지만, 이를 위해서는 화면상의 특정 XPath를 찾고 이를 검증해야 하는 작업이 필요하다. 따라서, 테스트 스크립트의 디버깅이나 분석을 위해 XPath값을 역으로 찾는 경우 XPath값을 찾기 어려울 뿐만 아니라, 사용자가 XPath를 해석할 수 있어야 한다는 어려움이 있다.
프로그래밍 언어를 습득하지 않고도 간편하게 테스트 스크립트를 작성할 수 있고 이해할 수 있는 GUI 테스트 자동화 시스템 및 방법이 제공된다.
테스트 스크립트의 디버깅이나 분석이 용이한 GUI 테스트 자동화 시스템 및 방법이 제공된다.
GUI 테스트 시스템은 한글을 기반으로 테스트 스크립트를 생성하는 스크립트 생성부 및 상기 생성된 테스트 스크립트를 실행함으로써 GUI(Graphical User Interface)를 테스트하는 GUI 테스트부를 포함할 수 있다.
일측에 따르면, 상기 테스트 스크립트는 커맨드(command)에 대한 오브젝트(object)로서 이미지를 이용할 수 있다.
다른 측면에 따르면, 상기 GUI 테스트부는 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 상기 GUI를 통하여 검색하고, 상기 검색된 이미지에 대해 상기 커맨드를 수행함으로써 상기 GUI를 테스트할 수 있다.
또 다른 측면에 따르면, 상기 GUI 테스트부는 상기 GUI를 테스트할 때 운영 시스템(Operating System)의 폰트 스무딩 기능을 오프시킴으로써 상기 운영 시스템에 따른 폰트 표시의 차이를 최소화하여 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 검색할 수 있다.
또 다른 측면에 따르면, 상기 GUI 테스트부는 소정의 색상값 오차를 허용하는 탈러런스(tolerance) 값을 조절하여 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 검색할 수 있다.
또 다른 측면에 따르면, 상기 GUI 테스트부는 상기 검색된 이미지의 픽셀 CRC 값과 상기 테스트 스크립트의 이미지의 픽셀 CRC 값을 비교하여 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 선택할 수 있다.
또 다른 측면에 따르면, 상기 테스트 스크립트에서 이용되는 이미지는 좌표 정보를 포함하고, 상기 GUI 테스트부는 상기 좌표 정보를 기준으로 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 검색할 수 있다.
또 다른 측면에 따르면, 상기 GUI 테스트부는 상기 테스트 스크립트에서 이용되는 이미지의 파일명을 기초로 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 검색할 수 있다.
또 다른 측면에 따르면, 상기 GUI 테스트부는 상기 테스트 스크립트에서 이용되는 이미지가 저장되는 이미지 파일에 복수개의 이미지가 포함될 경우 상기 복수개의 이미지를 소정의 구분자를 기초로 구분하여 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 검색할 수 있다.
GUI(Graphical User Interface) 테스트 시스템이 GUI를 테스트하는 방법은 한글 기반의 테스트 스크립트를 생성하는 단계 및 상기 생성된 테스트 스크립트를 실행함으로써 상기 GUI를 테스트하는 단계를 포함할 수 있다.
한글 기반의 테스트 스크립트를 제공함으로써 별도로 프로그래밍 언어를 습득하지 않고도 간편하게 테스트 스크립트를 작성할 수 있을 뿐만 아니라 용이하게 테스트 스크립트를 이해할 수 있다.
이미지를 오브젝트로서 이용함으로써 웹 어플리케이션의 구현 방식과 상관없이 용이하게 테스트 스크립트를 디버깅하거나 분석할 수 있다.
도 1은 셀레늄으로 작성된 테스트 스크립트를 나타내는 예시도이다.
도 2는 본 발명의 일실시예에 있어서, GUI 테스트 자동화 시스템을 설명하기 위한 개념도이다.
도 3은 본 발명의 일실시예에 있어서, GUI 테스트 자동화 시스템이 제공하는 테스트 스크립트 작성 화면을 나타내는 도면이다.
도 4는 본 발명의 일실시예에 있어서, GUI 테스트 자동화 시스템이 제공하는 테스트 스크립트의 커맨드를 설명하기 위한 도면이다.
도 5(a)는 XPath 기반의 오브젝트를 설명하기 위한 도면이고, 도 5(b)는 본 발명의 일실시예에 있어서 이미지 기반의 오브젝트를 설명하기 위한 도면이다.
도 6(a)는 폰트 스무딩 기능이 켜진 경우의 글꼴을 나타내는 도면이고, 도 6(b)는 폰트 스무딩 기능이 꺼진 경우의 글꼴을 나타내는 도면이다.
도 7은 본 발명의 일실시예에 있어서, 탈러런스 값 조절에 따른 이미지 검색을 설명하기 위한 예시도이다.
도 8은 본 발명의 일실시예에 있어서, 픽셀 CRC 값 비교를 통한 이미지 검색을 설명하기 위한 예시도이다.
도 9는 본 발명의 일실시예에 있어서, 이미지의 좌표 정보에 기초한 이미지 검색을 설명하기 위한 예시도이다.
도 10(a) 및 10(b)는 본 발명의 일실시예에 있어서, GUI 테스트 자동화 시스템이 복수개의 이미지가 표시되는 이벤트 배너 영역에 대해 테스트하는 것을 설명하기 위한 도면이다.
도 11(a) 내지 도 11(c)는 본 발명의 일실시예에 있어서, GUI 테스트 자동화 시스템이 복합 이미지를 이용하여 테스트하는 것을 설명하기 위한 도면이다.
도 12는 본 발명의 일실시예에 있어서, GUI 테스트 자동화 방법을 나타내는 흐름도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 일실시예에 따른 GUI 테스트 자동화 시스템은 테스트 스크립트의 유지, 보수, 실행, 테스트 결과 관리 등을 수행하는 이미지 매칭 기반의 테스트 자동화 시스템으로서, 이미지 파일과 텍스트 형태의 스크립트 파일을 기반으로 웹 브라우저의 화면에서 이미지를 검색하여 마우스 클릭, 키보드 입력, 화면 이미지 확인 등의 커맨드를 수행한다.
따라서, GUI 테스트 자동화 시스템은 웹 브라우저의 화면상에 나타나는 이미지를 기반으로 오브젝트를 검색하기 때문에 플래쉬(flash)로 개발된 어플리케이션의 경우 테스트를 수행할 수 없는 기존의 셀레늄과는 달리, 화면 내부가 HTML, flash, activeX 등 어떠한 방식으로 구현되어 있어도 화면의 구성 요소들이 테스트 대상이 될 수 있고, 브라우저의 모달창(modal window)나 팝업창(pop-up window)도 제어할 수 있다.
도 2는 본 발명의 일실시예에 있어서, GUI 테스트 자동화 시스템을 설명하기 위한 개념도이다. 이하, 도 2를 참조하여 GUI 테스트 자동화 시스템을 보다 상세히 설명한다.
GUI 테스트 자동화 시스템(200)은 사용자(210)의 입력에 따라 테스트 스크립트(220)를 생성한다. 또한, GUI 테스트 자동화 시스템(200)은 GUI 테스트 자동화 에이전트(230)를 통하여 톰캣(tomcat) 등과 연동됨으로써 웹을 통해 원격으로 동작 가능하도록 구축될 수 있다.
그리고, GUI 테스트 자동화 시스템(200)은 생성된 테스트 스크립트(220)를 이용하여 웹 브라우저(240) 등을 통해 표시되는 GUI(Graphical User Interface)를 테스트하고, 테스트 결과(250)를 사용자(210)에게 제공한다. 이를 위하여 GUI 테스트 자동화 시스템(200)은 한글 기반의 커맨드 및 오브젝트를 이용하여 테스트 스크립트(220)를 생성하는 스크립트 생성부 및 상기 생성된 테스트 스크립트를 실행함으로써 GUI를 테스트하는 GUI 테스트부를 포함할 수 있다. 이 때, 테스트 스크립트는 커맨드의 오브젝트로서 텍스트뿐만 아니라 이미지를 이용할 수도 있다.
오브젝트로서 이미지를 이용하는 경우 GUI 테스트부는 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 GUI를 통하여 검색하고, 검색된 이미지에 대해 커맨드를 수행함으로써 상기 GUI를 테스트한다. 예를 들어, 웹 페이지를 개발하여 이를 테스트하는 경우, GUI 테스트 자동화 시스템(200)의 스크립트 생성부는 사용자(210)의 한글 입력에 기초하여 테스트 스크립트(220)를 생성한다. 그리고, GUI 테스트부는 스크립트 생성부에서 생성된 테스트 스크립트의 커맨드에 따라 웹 브라우저를 통해 웹 페이지에 접속하여 테스트 스크립트의 오브젝트와 매칭되는 이미지를 검색한다. 그리고, 검색된 이미지에 상기 커맨드를 수행하고 테스트 결과를 표시한다. 이 때, 테스트 결과는 HTML 형식으로 웹을 통하여 표시될 수 있고, E-mail, SMS(Short Message Service) 등을 통하여 사용자에게 제공될 수도 있다.
도 3은 본 발명의 일실시예에 있어서, GUI 테스트 자동화 시스템이 제공하는 테스트 스크립트 작성 화면을 나타내는 도면이다. GUI 테스트 자동화 시스템은 일 예로 도 3과 같은 테스트 스크립트 작성 화면을 제공할 수 있다.
도면을 살펴보면, 테스트 스크립트 작성 화면의 상단(310)에는 테스트 스크립트를 생성하고, 열고, 저장하는 등의 주요 기능을 수행하기 위한 버튼이 구비된다.
상기 버튼의 하단(320)에는 테스트 스크립트에 대한 정보 예를 들어, 스크립트 파일명, 스크립트 파일의 저장 경로 등과 테스트 진행 상태가 표시된다.
화면의 중앙 영역(330)에는 테스트 스크립트의 편집창이 위치한다. 편집창(330)에 도시된 바와 같이, 본 발명에 따른 GUI 테스트 자동화 시스템의 테스트 스크립트는 일반적인 프로그래밍 언어로 작성되는 것이 아니라, 한글을 기반으로 작성된다. 상기 테스트 스크립트에 대해서는 도 4 및 도 5의 설명 시 보다 상세히 설명하기로 한다.
편집창 하단(340)에는 스크립트 오류 검증 결과, 테스트 시 실행 결과 등이 실시간으로 표시되는 실시간 로그가 표시된다.
실시간 로그 하단(350)에는 최근 사용되거나 선택된 타겟(이미지)이 표시된다.
그리고, 화면 최 하단(360)에는 주요 기능의 실행결과가 표시된다.
사용자는 이와 같이 구성된 테스트 스크립트 작성 화면을 이용하여 테스트 스크립트를 작성할 수 있고, 테스트 결과를 확인할 수 있다.
도 4는 본 발명의 일실시예에 있어서, GUI 테스트 자동화 시스템이 제공하는 테스트 스크립트의 커맨드를 설명하기 위한 도면이다.
본 발명에 따른 테스트 스크립트는 한글을 기반으로 한다. 따라서, 상기 테스트 스크립트에서 사용되는 커맨드는 '생성', '종료', '접속', 선택', '클릭', '이동' 등과 같이 한글을 기반으로 하고, 오브젝트도 '로그인버튼', '출발지아이콘', '초기화버튼' 등과 같이 한글을 기반으로 하여 한글 어순에 맞게 서술될 수 있다.
커맨드는 '클릭', '이동', '입력' 등과 같이 실제 테스트 스크립트에서 액션을 수행하는 형태가 있고, '확인' 등과 같이 수행된 명령을 보조하는 형태가 있다. 그리고, 테스트에 필요한 '캡쳐', '대기'와 같은 형태도 있다.
도시된 예제에서와 같이, 일 예로 테스트 스크립트에 "초기화버튼을 더블클릭한다"를 입력하여 실행하는 경우, GUI 테스트 자동화 시스템은 오브젝트로서 '초기화버튼'을 인식하고 커맨드로서 '더블클릭'을 인식하여 웹 브라우저에서 초기화버튼을 검색하여 이를 더블클릭한다.
상기 커맨드 및 오브젝트는 사용자 편의를 위하여 테스트 스크립트 작성 화면 상에서는 붉은색, 파란색 등과 같이 각각의 속성(커맨드, 오브젝트, 함수 등)에 따라 다른 색상으로 표시될 수 있다.
도 5(a)는 XPath 기반의 오브젝트를 설명하기 위한 도면이고, 도 5(b)는 본 발명의 일실시예에 있어서 이미지 기반의 오브젝트를 설명하기 위한 도면이다.
먼저 도 5(a)를 참조하면, XPath 기반의 테스트 스크립트는 검색창을 오브젝트로 지정 시 "query"와 같은 텍스트 형식의 프로그래밍 언어를 이용하고, 검색버튼을 오브젝트로 지정 시 "//input[@type='image']"를 이용한다. 그러나, 본 발명에 따른 테스트 스크립트는 도 5(b)에 도시된 바와 같이 이미지를 오브젝트로 이용하기 때문에 테스트 스크립트의 내용이 변경되는 경우에도 쉽게 테스트 스크립트를 디버깅하고 분석할 수 있다.
GUI 테스트 자동화 시스템은 캡쳐된 이미지와 웹 브라우저 상의 이미지를 비교하여 매칭되는 오브젝트를 검색하기 때문에 비교할 이미지 간의 미세한 픽셀 차이에 민감하게 반응할 수 있다. 따라서, 이미지의 색상, 운영 시스템(OS: Operating System), 시스템 설정 등의 시스템 환경의 차이에 따라 오브젝트에 매칭되는 이미지를 검색하지 못하는 문제가 발생할 수 있다. 그러므로, 본 발명에 따른 GUI 테스트 자동화 시스템은 이러한 문제를 해결하기 위하여 다음과 같은 과정을 통하여 오브젝트를 검색할 수 있다.
도 6(a)는 Windows XP 및 Windows Vista/7에서 폰트 스무딩 기능이 켜진 경우의 글꼴을 나타내는 도면이고, 도 6(b)는 Windows XP 및 Windows Vista/7에서 폰트 스무딩 기능이 꺼진 경우의 글꼴을 나타내는 도면이다.
일반적으로 웹 브라우저를 통하여 표시되는 글꼴은 도 5(a)에 도시된 바와 같이 OS의 폰트 스무딩(font smoothing) 기능에 의해 OS에 따라 동일한 글꼴인 경우에도 표현되는 방식이 미세하게 다를 수 있다. 그러나, OS의 폰트 스무딩 기능을 오프(off)하는 경우 도 5(b)에서 나타나는 바와 같이 OS 별 글꼴 차이가 없어짐을 알 수 있다.
따라서, 본 발명에 따른 GUI 테스트 자동화 시스템은 오브젝트로서 이용할 이미지를 캡쳐하거나 테스트를 수행하는 경우, OS의 폰트 스무딩 기능을 오프시킴으로써 운영 시스템에 따른 폰트 표시의 차이를 최소화하여 오브젝트로서 이용되는 이미지와 매칭되는 이미지를 보다 정확하게 검색할 수 있다.
도 7은 본 발명의 일실시예에 있어서, 탈러런스 값 조절에 따른 이미지 검색을 설명하기 위한 예시도이다.
그라데이션 형태의 이미지의 경우 이미지 오브젝트와의 색상값의 차이로 인해 매칭되는 이미지로서 검색되지 못할 수 있다. 따라서, 도시된 바와 같이 탈러런스(tolerance) 값을 조절하는 경우 그라데이션 형태로 표시된 버튼도 오브젝트에 매칭되는 이미지로서 검색될 수 있다.
그러므로, 본 발명에 따른 GUI 테스트 자동화 시스템은 테스트 수행 시 미세한 색상값의 오차를 무시하면 검색할 수 있도록 소정의 색상값 오차를 허용하는 탈러런스 값을 조절하여 상기 검색된 이미지의 색상값과 상기 테스트 스크립트의 이미지의 색상값을 비교함으로써 이미지 오브젝트와 매칭되는 이미지를 보다 정확하게 검색할 수 있다.
도 8은 본 발명의 일실시예에 있어서, 픽셀 CRC 값 비교를 통한 이미지 검색을 설명하기 위한 예시도이다.
탈러런스 값을 소정치 이상 조절하여 이미지를 검색하는 경우 이미지 오브젝트와는 다른 이미지가 검색될 수 있다. 그러므로, 본 발명에 따른 GUI 테스트 자동화 시스템은 탈러런스 값 조절을 통하여 검색된 이미지의 픽셀 CRC 값과 이미지 오브젝트의 픽셀 CRC 값을 비교하여 매칭되는 이미지를 선택할 수 있다.
일 예로, 도면에서와 같이 이미지 오브젝트(810)의 픽셀 CRC 값이 0x77 인 경우, GUI 테스트 자동화 시스템은 탈러런스 값을 조절하여 검색된 복수개의 이미지(820~840) 중 이미지 오브젝트(810)의 픽셀 CRC 값과 동일한 픽셀 CRC 값을 가지는 이미지(830)를 매칭되는 이미지로서 선택할 수 있다.
도 9는 본 발명의 일실시예에 있어서, 이미지의 좌표 정보에 기초한 이미지 검색을 설명하기 위한 예시도이다.
GUI 테스트 자동화 시스템에서 이용되는 이미지에는 좌표 정보가 포함될 수 있다. 그리고, GUI 테스트 자동화 시스템은 이미지의 좌표 정보를 기초로 이미지와 매칭되는 이미지를 검색할 수 있다.
이하, 도 9를 참조하여 이미지 검색의 일 예로서 GUI 테스트 자동화 시스템이 검색창을 검색하는 과정에 대하여 설명한다. 도면을 참조하면 GUI 테스트 자동화 시스템은 검색창의 이미지(910)를 이용하여 검색창이라는 오브젝트에 매칭되는 이미지를 웹 브라우저의 화면상에서 검색한다. 이 때, 검색창의 이미지가 저장되는 파일(920)에는 이미지의 좌표 정보가 포함될 수 있다. 따라서, GUI 테스트 자동화 시스템은 상기 좌표 정보를 기초로 웹 브라우저 화면의 좌표 정보에 해당하는 영역(930)에서부터 매칭되는 이미지를 검색할 수 있다. 이 경우, 상기 영역(930)에서 검색창 이미지에 매칭되는 이미지가 검색되지 않으면, GUI 테스트 자동화 시스템은 매칭되는 이미지가 검색될 때까지 좌표 정보에 해당하는 제1 영역(930)에서부터 제2 영역(940), 제3 영역(950)을 거쳐 웹 브라우저 화면의 전체 영역인 제4 영역(960)까지 검색 영역을 확대해가면서 검색을 수행할 수 있다.
일 예로, GUI 테스트 자동화 시스템에서 이용되는 이미지의 파일명은 "이미지명_브라우저명_[XY좌표].png"의 구조로 저장될 수 있다. 이미지의 파일명은 이미지가 캡쳐될 때 자동으로 좌표 정보가 계산되어 저장될 수 있다.
도 10(a) 및 10(b)는 본 발명의 일실시예에 있어서, GUI 테스트 자동화 시스템이 복수개의 이미지가 표시되는 이벤트 배너 영역에 대해 테스트하는 것을 설명하기 위한 도면이다.
도 10(a)은 웹 브라우저를 통하여 표시되는 웹 페이지의 일부를 나타내는 도면이다. 도시된 바와 같이, 웹 페이지에는 접속할 때마다 다른 이미지가 표시되는 배너 영역(1010)이 포함될 수 있다. 이와 같이 배너 영역(1010)에는 복수개의 이미지가 표시되기 때문에 어느 하나의 이미지를 캡쳐하여 오브젝트로서 이용할 경우 테스트 시 다른 이미지가 표시되면 매칭되는 이미지를 검색할 수 없게 된다.
따라서, 본 발명에 따른 GUI 테스트 자동화 시스템은 복수개의 이미지를 하나의 오브젝트에 등록하여 배너 영역(1010)에 표시되는 복수개의 이미지 중 어느 하나가 매칭되는 경우 테스트 결과를 성공으로 처리할 수 있다.
예를 들어, 도 10(b)와 같이 거리뷰, 도보길찾기 및 자전거에 대한 이미지 중 어느 하나가 웹 페이지 접속 시 배너 영역(1010)에 표시되는 경우, GUI 테스트 자동화 시스템은 거리뷰, 도보기찾기 및 자전거에 대한 이미지를 각각 캡쳐하여 "이벤트배너_거리뷰_[015,639,155,072]", "이벤트배너_도보길찾기_[015,639,155,072]" 및 "이벤트배너_자전거_[015,639,155,072]"의 파일명으로 저장할 수 있다. 이 경우, 테스트 스크립트에 '이벤트배너를 확인한다'를 입력하여 테스트하면, GUI 테스트 자동화 시스템은 검색된 이미지가 캡쳐된 이미지 중 파일명이 "이벤트배너"로 시작하는 이미지와 비교하여 1개라도 매칭되는 이미지가 검색되면 테스트 결과를 성공으로 처리할 수 있다.
도 11(a) 내지 도 11(c)는 본 발명의 일실시예에 있어서, GUI 테스트 자동화 시스템이 복합 이미지를 이용하여 테스트하는 것을 설명하기 위한 도면이다.
도 11(a)은 웹 브라우저를 통하여 표시되는 웹 페이지의 일부를 나타내는 도면이다. 먼저 도 11(a)를 살펴보면, 이미지 기반으로 오브젝트를 지정할 경우 '나루 거리뷰'(1110)와 같이 오브젝트로 지정할 영역에 검색하고자 하는 이미지가 여러 개 표시되어 원하는 이미지를 정확하게 지정하기 어려운 경우가 발생할 수 있다. 이러한 경우, 본 발명에 따른 GUI 테스트 자동화 시스템은 '나루 거리뷰'(1110) 전체를 캡쳐하여 복합 이미지로서 이용할 수 있다.
그러나, 이와 같이 복수개의 이미지가 포함되는 복합 이미지를 이용하는 경우, 웹 브라우저의 화면상에서 표시되는 이미지는 도 11(b)에 도시된 바와 같이 인터넷 익스플로러(IE: Internet Explorer), 파이어폭스(firefox), 크롬(chrome) 등 각각의 웹 브라우저 특성에 따른 미세한 픽셀 차이에 따라 다르게 표시되어 이미지 검색이 실패할 수 있다.
그러므로, 본 발명에 따른 GUI 테스트 자동화 시스템은 복합 이미지를 오브젝트로서 이용하는 경우, 도 11(c)에 도시된 바와 같이 복합 이미지에 포함되는 복수개의 이미지를 소정의 구분자를 기초로 구분하여 상기 이미지에 매칭되는 이미지를 검색할 수 있다.
일 예로, '나루' 이미지에 인접한 '거리뷰'를 검색하여 클릭하도록 하는 경우 '검색결과에서 "나루, 거리뷰버튼"을 클릭한다'와 같이 복합 이미지에 포함되는 각각의 이미지를 쉼표 등의 구분자를 이용하여 구분하는 커맨드를 이용하여 테스트 스크립트를 생성할 수 있다. 이 경우, GUI 테스트 자동화 시스템은 '나루'의 이미지 및 '거리뷰버튼'의 이미지 각각을 오브젝트로 하여 웹 브라우저 화면상에 '나루'의 이미지에 인접한 '거리뷰버튼'의 이미지를 검색하여 클릭할 수 있다.
도 12는 본 발명의 일실시예에 있어서, GUI 테스트 자동화 방법을 나타내는 흐름도이다.
GUI 테스트 자동화 시스템은 사용자로부터 한글로 입력받은 커맨드 및 오브젝트를 이용하여 테스트 스크립트를 생성한다(S1210). 그리고, 오브젝트로서 이용할 이미지를 웹 브라우저와 같은 GUI 화면 상에서 캡쳐한다(S1220). 이때, GUI 테스트 자동화 시스템은 OS의 폰트 스무딩 기능을 오프시킨 후 이미지를 캡쳐하고, 테스트 시에도 상기 폰트 스무딩 기능을 오프시킨 후 테스트를 수행함으로써 OS에 따른 폰트 표시의 차이를 최소화할 수 있다.
이후, GUI 테스트 자동화 시스템은 이미지 간의 미세한 색상값의 오차를 무시하고 검색할 수 있도록 탈러런스 값을 조절하여 테스트 스크립트에서 이용되는 이미지 즉, 캡쳐된 이미지에 매칭되는 이미지를 GUI를 통하여 검색하고(S1230), 검색된 이미지의 픽셀 CRC 값과 캡쳐된 이미지의 픽셀 CRC 값을 비교하여 캡쳐된 이미지와 매칭되는 이미지를 선택한다(S1240). 이 때, GUI 테스트 자동화 시스템은 이미지에 포함되는 좌표 정보 및 이미지의 파일명을 기초로 매칭되는 이미지를 검색함으로써 보다 정확하게 테스트를 수행할 수 있고, 복수개의 이미지가 표시되는 배너 영역도 테스트할 수 있다.
따라서, GUI 테스트 자동화 시스템은 이와 같은 방법을 통하여 선택된 이미지에 대해 테스트 스크립트의 커맨드를 수행함으로써 GUI를 테스트하고 사용자에게 테스트 결과를 제공할 수 있다(S1250). 그러므로, 본 발명에 따른 GUI 테스트 자동화 시스템은 일반적인 회귀(regression) 테스트부터 API(Application Programming Interface) 테스트까지 다양한 부분에 활용될 수 있다.
본 발명에 따른 GUI 테스트 자동화 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (18)

  1. 한글을 기반으로 테스트 스크립트를 생성하는 스크립트 생성부; 및
    상기 생성된 테스트 스크립트를 실행함으로써 GUI(Graphical User Interface)를 테스트하는 GUI 테스트부
    를 포함하는, GUI 테스트 시스템.
  2. 제1항에 있어서,
    상기 테스트 스크립트는,
    커맨드(command)에 대한 오브젝트(object)로서 이미지를 이용하는, GUI 테스트 시스템.
  3. 제2항에 있어서,
    상기 GUI 테스트부는,
    상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 상기 GUI를 통하여 검색하고, 상기 검색된 이미지에 대해 상기 커맨드를 수행함으로써 상기 GUI를 테스트하는, GUI 테스트 시스템.
  4. 제2항에 있어서,
    상기 GUI 테스트부는,
    상기 GUI를 테스트할 때 운영 시스템(Operating System)의 폰트 스무딩 기능을 오프시킴으로써 상기 운영 시스템에 따른 폰트 표시의 차이를 최소화하여 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 검색하는, GUI 테스트 시스템.
  5. 제3항에 있어서,
    상기 GUI 테스트부는,
    소정의 색상값 오차를 허용하는 탈러런스(tolerance) 값을 조절하여 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 검색하는, GUI 테스트 시스템.
  6. 제3항에 있어서,
    상기 GUI 테스트부는,
    상기 검색된 이미지의 픽셀 CRC 값과 상기 테스트 스크립트의 이미지의 픽셀 CRC 값을 비교하여 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 선택하는, GUI 테스트 시스템.
  7. 제3항에 있어서,
    상기 테스트 스크립트에서 이용되는 이미지는,
    좌표 정보를 포함하고,
    상기 GUI 테스트부는,
    상기 좌표 정보를 기준으로 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 검색하는, GUI 테스트 시스템.
  8. 제3항에 있어서,
    상기 GUI 테스트부는,
    상기 테스트 스크립트에서 이용되는 이미지의 파일명을 기초로 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 검색하는, GUI 테스트 시스템.
  9. 제3항에 있어서,
    상기 GUI 테스트부는,
    상기 테스트 스크립트에서 이용되는 이미지가 저장되는 이미지 파일에 복수개의 이미지가 포함될 경우 상기 복수개의 이미지를 소정의 구분자를 기초로 구분하여 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 검색하는, GUI 테스트 시스템.
  10. GUI(Graphical User Interface) 테스트 시스템이 GUI를 테스트하는 방법에 있어서,
    한글 기반의 테스트 스크립트를 생성하는 단계; 및
    상기 생성된 테스트 스크립트를 실행함으로써 상기 GUI를 테스트하는 단계
    를 포함하는, GUI 테스트 방법.
  11. 제10항에 있어서,
    상기 테스트 스크립트는,
    커맨드(command)에 대한 오브젝트(object)로서 이미지를 이용하는, GUI 테스트 방법.
  12. 제11항에 있어서,
    상기 GUI를 테스트하는 단계는,
    상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 상기 GUI를 통하여 검색하는 단계; 및
    상기 검색된 이미지에 대해 상기 커맨드를 수행함으로써 상기 GUI를 테스트하는 단계
    를 포함하는, GUI 테스트 방법.
  13. 제11항에 있어서,
    상기 GUI를 통하여 테스트하는 단계는,
    상기 GUI를 테스트할 때 운영 시스템(Operating System)의 폰트 스무딩 기능을 오프시킴으로써 상기 운영 시스템에 따른 폰트 표시의 차이를 최소화하여 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 검색하는 단계인, GUI 테스트 방법.
  14. 제12항에 있어서,
    상기 GUI를 통하여 검색하는 단계는,
    소정의 색상값 오차를 허용하는 탈러런스(tolerance) 값을 조절하여 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 검색하는 단계; 및
    상기 검색된 이미지의 픽셀 CRC 값과 상기 테스트 스크립트의 이미지의 픽셀 CRC 값을 비교하여 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 선택하는 단계
    를 포함하는, GUI 테스트 방법.
  15. 제12항에 있어서,
    상기 테스트 스크립트에서 이용되는 이미지는,
    좌표 정보를 포함하고,
    상기 GUI를 통하여 검색하는 단계는,
    상기 좌표 정보를 기준으로 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 검색하는 단계인, GUI 테스트 방법.
  16. 제12항에 있어서,
    상기 GUI를 통하여 검색하는 단계는,
    상기 테스트 스크립트에서 이용되는 이미지의 파일명을 기초로 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 검색하는 단계인, GUI 테스트 방법.
  17. 제12항에 있어서,
    상기 GUI를 통하여 검색하는 단계는,
    상기 테스트 스크립트에서 이용되는 이미지가 저장되는 이미지 파일에 복수개의 이미지가 포함될 경우 상기 복수개의 이미지를 소정의 구분자를 기초로 구분하여 상기 테스트 스크립트에서 이용되는 이미지와 매칭되는 이미지를 검색하는 단계인, GUI 테스트 방법.
  18. 제10항 내지 제17항 중 어느 한 항에 따른 GUI 테스트 방법을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체.
KR1020110087569A 2011-08-31 2011-08-31 Gui 테스트 자동화 시스템 및 방법 KR101784280B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110087569A KR101784280B1 (ko) 2011-08-31 2011-08-31 Gui 테스트 자동화 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110087569A KR101784280B1 (ko) 2011-08-31 2011-08-31 Gui 테스트 자동화 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20130024247A true KR20130024247A (ko) 2013-03-08
KR101784280B1 KR101784280B1 (ko) 2017-10-12

Family

ID=48176349

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110087569A KR101784280B1 (ko) 2011-08-31 2011-08-31 Gui 테스트 자동화 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101784280B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9703770B2 (en) 2014-03-19 2017-07-11 International Business Machines Corporation Automated validation of the appearance of graphical user interfaces

Family Cites Families (2)

* 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プログラムのテスト方法及び該方法に用いる記録媒体
KR100889026B1 (ko) * 2008-07-22 2009-03-17 김정태 이미지를 이용한 검색 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9703770B2 (en) 2014-03-19 2017-07-11 International Business Machines Corporation Automated validation of the appearance of graphical user interfaces
US9720900B2 (en) 2014-03-19 2017-08-01 International Business Machines Corporation Automated validation of the appearance of graphical user interfaces

Also Published As

Publication number Publication date
KR101784280B1 (ko) 2017-10-12

Similar Documents

Publication Publication Date Title
JP7398068B2 (ja) ソフトウェアテスト
US11048619B2 (en) AI software testing system and method
US9424167B2 (en) Automated testing of an application system
US9182981B2 (en) Systems and methods for implementing pixel-based reverse engineering of interface structure
US10949225B2 (en) Automatic detection of user interface elements
Yeh et al. Sikuli: using GUI screenshots for search and automation
WO2018010552A1 (zh) 测试方法和装置
US7752501B2 (en) Dynamic generation and implementation of globalization verification testing for user interface controls
US10073766B2 (en) Building signatures of application flows
US20190303269A1 (en) Methods and systems for testing visual aspects of a web page
Martins et al. Using machine learning for cognitive Robotic Process Automation (RPA)
US9501459B2 (en) Detecting influence caused by changing the source code of an application from which a document object model tree and cascading style sheet may be extracted
AU2017258963A1 (en) Simultaneous multi-platform testing
US20080148235A1 (en) Runtime inspection of user interfaces
US20140173563A1 (en) Editor visualizations
US20090273597A1 (en) User interface screen layout analysis using hierarchical geometric features
US20140019937A1 (en) Updating product documentation using automated test scripts
US20190347149A1 (en) Detecting an error message and automatically presenting links to relevant solution pages
GB2558061A (en) Improved method of, and apparatus for, handling reference images for an automated test of software with a graphical user interface
Bajammal et al. A survey on the use of computer vision to improve software engineering tasks
Bao et al. scvRipper: video scraping tool for modeling developers' behavior using interaction data
Yang et al. UIS-hunter: Detecting UI design smells in Android apps
US11249890B2 (en) Software defect creation
KR101784280B1 (ko) Gui 테스트 자동화 시스템 및 방법
Wang et al. Textout: Detecting text-layout bugs in mobile apps via visualization-oriented learning

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