KR101774815B1 - 커서 위치 인식 테스트 자동화 시스템 및 이를 이용한 커서 위치 인식 테스트자동화 방법 - Google Patents

커서 위치 인식 테스트 자동화 시스템 및 이를 이용한 커서 위치 인식 테스트자동화 방법 Download PDF

Info

Publication number
KR101774815B1
KR101774815B1 KR1020170028874A KR20170028874A KR101774815B1 KR 101774815 B1 KR101774815 B1 KR 101774815B1 KR 1020170028874 A KR1020170028874 A KR 1020170028874A KR 20170028874 A KR20170028874 A KR 20170028874A KR 101774815 B1 KR101774815 B1 KR 101774815B1
Authority
KR
South Korea
Prior art keywords
cursor
execution
image
program
target program
Prior art date
Application number
KR1020170028874A
Other languages
English (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 KR1020170028874A priority Critical patent/KR101774815B1/ko
Application granted granted Critical
Publication of KR101774815B1 publication Critical patent/KR101774815B1/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
    • G06F9/4443
    • 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/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 테스트 대상 프로그램에 존재하는 커서의 위치 및 크기를 인지하여, 커서의 위치 및 크기를 제외한 영역에 대해 테스트를 수행할 수 있도록 함으로써, 커서에 의해 테스트 실패가 발생하는 것을 방지하도록한 테스트 자동화 시스템 및 자동화 방법에 관한 것이다.
본 발명에 따른 테스트 자동화 시스템은 테스트 대상 프로그램을 실행시키는 프로그램 실행부; 상기 테스트 대상 프로그램의 메뉴 또는 기능의 실행에 따른 실행 결과를 실행이미지로 추출하고, 미리 저장되는 원본이미지와 비교하여 이미지 일치율에 따라 실행상태를 분석하는 분석부; 및 상기 원본이미지와 상기 분석의 결과가 저장되는 저장부;를 포함하여 구성되는 것을 특징으로 한다.

Description

커서 위치 인식 테스트 자동화 시스템 및 이를 이용한 커서 위치 인식 테스트자동화 방법{CURSOR LOCATION RECOGNITION TEST AUTOMATION SYSTEM AND TEST AUTOMATION METHOD USING THE SAME}
본 발명은 테스트 자동화 시스템 및 이를 이용한 커서 위치 인식 테스트 자동화 방법에 관한 것으로 특히, 테스트 대상 프로그램에 존재하는 커서의 위치 및 크기를 인지하여, 커서의 위치 및 크기를 제외한 영역에 대해 테스트를 수행할 수 있도록 함으로써, 커서에 의해 테스트 실패가 발생하는 것을 방지하도록한 테스트 자동화 시스템 및 자동화 방법에 관한 것이다.
최근에 개발되는 소프트웨어, 어플리케이션 프로그램은 다양한 장치 다양한 운영체계와 같은 환경에서 운영되도록 개발되고 있으며, 또한 과거에 비해 많은 기능을 실행할 수 있는 방향으로 개발이 이루어지고 있다.
이와 같이, 프로그램이 다양한 환경에서 원활하게 실행되도록 하기 위해서는 개발 단계에서 프로그램의 정상실행, 특히, 다양한 환경에서 안정적으로 기능이 실행되는지를 확인하는 테스트 과정이 필수적이다.
이러한 프로그램의 테스트 과정에서는 다양한 테스트 방법 중 비교적 정확도고 높고 자동화 프로그램의 구현이 용이한 이미지 비교 방식을 주로 이용한다. 이미지 비교 방식에 의한 테스트 방법은 원본 이미지와 현재 이미지를 비교하여 다른 부분을 추출하거나 오류로 판단하는 방법이다.
이러한 이미지 방식의 경우 테스트 대상이 되는 프로그램을 실행시키고 출력화면의 이미지를 추출하여 비교하게 되며, 이러한 과정을 특정 기능의 실행, 메뉴의 선택, 메뉴의 실행 과정과 같이 실제 사용상태와 동일한 상태에서 이루어지게 한다.
그러나, 일부 프로그램에서는 명령 또는 텍스트의 입력을 위한 커서로 인해 이러한 테스트가 원활하게 진행되지 않는 문제점이 있다.
구체적으로 테스트 대상이 되는 프로그램이 실행되면 텍스트나 명령을 입력할 수 있는 필드가 존재하는 프로그램들이 테스트 대상이 될 수 있는데, 이 필드에는 커서가 위치하여 깜박이게 된다. 이를 이미지 비교 방식의 분석 시스템에서 테스트를 진행하는 경우 커서의 깜박임으로 인해 커서가 위치하는 부분에 지속적인 변경이 발생된 것으로 인지하고, 이를 오류로 처리하게 되는 문제점이 있다.
한국 공개특허 10-2014-0004495(공개일 2014.01.13) "응용 프로그램의 자동 테스트 방법 및 그 전자 장치"
따라서, 본 발명의 목적은 테스트 대상 프로그램에 존재하는 커서의 위치 및 크기를 인지하여, 커서의 위치 및 크기를 제외한 영역에 대해 테스트를 수행할 수 있도록 함으로써, 커서에 의해 테스트 실패가 발생하는 것을 방지하도록 한 커서 위치 인식 테스트 자동화 시스템 및 이를 이용한 커서 위치 인식 테스트 자동화 방법을 제공하는 것이다.
상기 목적을 달성하기 위하여 본 발명에 따른 테스트 자동화 시스템은 테스트 대상 프로그램을 실행시키는 프로그램 실행부; 상기 테스트 대상 프로그램의 메뉴 또는 기능의 실행에 따른 실행 결과를 실행이미지로 추출하고, 미리 저장되는 원본이미지와 비교하여 이미지 일치율에 따라 실행상태를 분석하는 분석부; 및 상기 원본이미지와 상기 분석의 결과가 저장되는 저장부;를 포함하여 구성되는 것을 특징으로 한다.
상기 분석부는 상기 테스트 대상 프로그램의 실행이 이루어지는 실행영역에 커서의 위치 또는 크기를 확인하고, 상기 커서의 위치 또는 크기에 해당되는 영역을 제외한 나머지 영역을 비교하여 분석을 수행하는 것을 특징으로 한다.
상기 분석부는 상기 테스트 대상 프로그램의 실행시 상기 실행영역에 상기 커서가 존재하는지 판별하는 것을 특징으로 한다.
상기 분석부는 상기 실행이미지를 미리 정해진 간격으로 생성하고, 복수의 상기 실행이미지를 상기 원본이미지와 비교하여 반복적인 변화가 발생하는 위치를 검출하여 상기 커서의 존재여부를 판별하는 것을 특징으로 한다.
상기 분석부는 상기 테스트 대상 프로그램의 핸들값을 운영체제로부터 획득하여, 상기 핸들값에 기재된 상기 커서의 위치정보와 이미지 비교에 의해 획득한 상기 커서의 위치를 비교하여 상기 커서의 존재 여부를 판별하는 것을 특징으로 한다.
상기 분석부는 상기 커서의 위치 또는 크기 판별을 위해 상기 실행이미지와 상기 원본이미지를 복수의 영역으로 구분하여 변화가 발생된 영역을 검출하는 것을 특징으로 한다.
상기 분석부는 복수의 영역을 중 변화가 검출된 영역을 복수의 영역으로 다시 분할하여 변화가 발생된 영역을 재검출하는 것을 특징으로 한다.
또한, 본 발명에 따른 커서 위치 인식 테스트 자동화 방법은 프로그램 실행부가 테스트 대상 프로그램을 실행시키는 실행단계; 분석부가 상기 테스트 대상 프로그램의 메뉴 또는 기능의 실행에 따른 실행결과를 실행이미지로 추출하고, 미리 저장되는 원본이미지와 비교하여 이미지 일치율에 따라 실행상태를 분석하는 분석단계; 및 저장부에 상기 원본이미지와 상기 분석의 결과가 저장되는 저장단계;를 포함하여 구성되는 것을 특징으로 한다.
상기 분석단계는 상기 분석부가 상기 테스트 대상 프로그램의 실행이 이루어지는 실행영역에 커서의 위치 또는 크기를 확인하는 단계와, 상기 커서의 위치 또는 크기에 해당되는 영역을 제외한 나머지 영역을 비교하여 분석을 수행하는 단계;를 포함하여 구성되는 것을 특징으로 한다.
상기 분석단계는 상기 분석부가 상기 테스트 대상 프로그램의 실행시 상기 실행영역에 상기 커서가 존재하는지 판별하는 단계;를 더 포함하여 구성되는 것을 특징으로 한다.
상기 판별하는 단계는 상기 분석부가 상기 실행이미지를 미리 정해진 간격으로 생성하고, 복수의 상기 실행이미지를 상기 원본이미지와 비교하여 반복적인 변화가 발생하는 위치를 검출하여 상기 커서의 존재여부를 판별하는 것을 특징으로 한다.
상기 판별하는 단계는 상기 분석부가 상기 테스트 대상 프로그램의 핸들값을 운영체제로부터 획득하는 단계; 상기 핸들값에 기재된 상기 커서의 위치정보와 이미지 비교에 의해 획득한 상기 커서의 위치를 비교하여 상기 커서의 존재 여부를 판별하는 것을 특징으로 한다.
상기 분석단계는 상기 분석부가 상기 커서의 위치 또는 크기 판별을 위해 상기 실행이미지와 상기 원본이미지를 복수의 영역으로 구분하여 변화가 발생된 영역을 검출하는 단계를 더 포함하여 구성되는 것을 특징으로 한다.
상기 분석단계는 상기 분석부가 상기 변화가 발생된 영역을 복수의 영역으로 재 분할하여 변화가 발생된 영역을 재검출하는 것을 특징으로 한다.
본 발명에 따른 커서 위치 인식 테스트 자동화 시스템 및 자동화 방법은 테스트 대상 프로그램에 존재하는 커서의 위치 및 크기를 인지하여, 커서의 위치 및 크기를 제외한 영역에 대해 테스트를 수행할 수 있도록 함으로써, 커서에 의해 테스트 실패가 발생하는 것을 방지하는 것이 가능하다.
도 1은 본 발명에 따른 커서 위치 인식 테스트 자동화 시스템의 구성을 도시한 예시도.
도 2 내지 도 4는 분석부가 커서의 위치를 확인하는 과정을 설명하기 위한 예시도.
도 5 및 도 6은 커서 위치 인식에 따른 테스트 대상 프로그램의 오류 발생 여부를 판별하는 과정을 설명하기 위한 예시도.
도 7은 본 발명에 따른 커서의 위치 인식 테스트 자동화 방법을 설명하기 위한 예를 도시한 순서도.
이하, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 당해 분야의 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 설명하기로 한다. 첨부된 도면들에서 구성에 표기된 도면번호는 다른 도면에서도 동일한 구성을 표기할 때에 가능한 한 동일한 도면번호를 사용하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지의 기능 또는 공지의 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고 도면에 제시된 어떤 특징들은 설명의 용이함을 위해 확대 또는 축소 또는 단순화된 것이고, 도면 및 그 구성요소들이 반드시 적절한 비율로 도시되어 있지는 않다. 그러나 당업자라면 이러한 상세 사항들을 쉽게 이해할 것이다.
도 1은 본 발명에 따른 커서 위치 인식 테스트 자동화 시스템의 구성을 도시한 예시도이다.
도 1을 참조하면, 본 발명에 따른 커서 위치 인식 테스트 자동화 시스템은 프로그램 실행부(10), 출력부(30), 분석부(40) 및 저장부(50)를 포함하여 구성된다.
프로그램 실행부(10)는 테스트를 수행할 대상 프로그램 및 프로그램의 각 기능을 실행하는 역할을 한다. 구체적으로 프로그램 실행부(10)는 테스트 대상 프로그램이 일반 사용자가 이용하는 환경에서 사용되는 것과 동일한 상태에서 실행되도록 함과 아울러, 테스트 과정 중에 발생되는 입력에 의해 테스트 대상 프로그램의 기능을 실행하는 역할을 한다. 이러한 프로그램 실행부(10)는 테스트 대상이 되는 프로그램의 고유 식별번호를 확인하고, 분석부(40)의 요청에 따라 테스트 진행에 따른 데이터를 전달하는 역할을 한다. 특히, 프로그램 실행부(10)는 테스트 대상 프로그램 분석부(40)가 분석을 위해 사용하는 출력 이미지의 데이터를 분석부에 전달하는 역할을 한다. 이 출력 이미지 데이터는 분석부(40)가 커서의 위치 확인 또는 테스트 프로그램의 오작동을 검출하기 위한 이미지로 출력화면을 캡쳐한 이미지 또는 이에 대응되는 데이터를 의미한다. 즉, 프로그램 실행부(10)는 출력부(30)를 통해 출력되는 프로그램 실행화면의 이미지를 제공하거나, 출력부(30)에 출력을 위해 전달되어 출력화면의 표출을 위해 사용되는 데이터를 분석부(40)에 전달할 수 있으나, 이로써 본 발명을 한정하는 것은 아니다. 또한, 프로그램 실행부(10)는 테스트 대상 프로그램이 복수로 실행되는 경우 복수의 실행 프로그램 중 실제 테스트를 수행하는 프로그램을 구분하여 데이터 또는 이미지를 전달하고, 기능을 실행시키는 역할을 한다.
출력부(30)는 프로그램 실행부(10)에 의해 실행되는 프로그램의 실행화면을 출력하여 제공하는 역할을 한다. 이러한 출력부(30)는 모니터와 같은 영상출력장치로 구성될 수 있다. 여기서, 출력부(30)는 직접 구성되지 않을 수 있다. 좀 더 구체적으로 출력부(30)는 전달되는 영상데이터를 분석부(40)에 바로 전달하는 경우 출력부(30)가 구성되지 않고 생략될 수 있으나, 이로써 본 발명을 한정하는 것은 아니다.
분석부(40)는 테스트 대상 프로그램을 실행하도록 프로그램 실행부(10)를 제어하고, 테스트 대상 프로그램의 기능들을 실행시켜 오류의 발생 여부를 검증, 검출하는 역할을 한다. 특히 분석부(40)는 이미지 비교를 통해 테스트 대상 프로그램의 오류를 검출하며, 이 과정에서 커서에 의해 오류가 발생되는 것을 방지하기 위해 커서의 위치를 확인하고 이를 오류 검증 과정에 반영하여 테스트를 수행하게 된다. 여기서, 이미지 비교는 전술한 바와 같이 실행화면을 캡쳐한 이미지를 비교하는 것을 기본으로 하며, 이에 대응되는 영상데이터의 직접 비교를 포함하며, 하기에서는 영상데이터의 비교와 캡쳐 이미지의 비교를 모두 '이미지 비교'로 통칭하기로 한다.
구체적으로 분석부(40)는 테스트 대상 프로그램의 오류 검증을 위해 테스트 대상 프로그램을 프로그램 실행부(10)에 의해 실행시키고, 정상 동작 상태의 실행화면 이미지인 원본 이미지와 프로그램 또는 프로그램의 특정 기능을 실행한 실행이미지와 비교하여 오류를 검출한다.
이러한 과정에서 분석부(40)는 테스트 대상 프로그램이 실행되는 화면 영역에 텍스트의 입력을 위한 커서가 위치하는지 확인하고, 커서의 크기와 위치를 분석하여, 커서의 위치와 크기에 해당되는 영역 또는 이를 포함하는 영역을 배제하고 이미지 비교를 수행하여 오류를 검증하게 된다. 좀 더 구체적으로 분석부(40)는 테스트 대상 프로그램이 실행 및 기능의 실행 원본 이미지와 실행 후 이미지를 비교하여 원본 이미지와 달라지는 경우 오류 또는 오동작으로 확인하고 해당 이미지를 저장하여 사용자에게 보고할 수 있다. 이 과정에서 분석부(40)는 원본 이미지와 실행이미지의 비교시 원본 이미지와 실행 이미지의 차이가 없음에도 커서의 깜빡임을 변화로 인식하여 오류 처리하는 것을 방지하기 위해 커서에 의한 영향을 배제한 상태에서 분석을 수행한다. 이를 위해 분석부(40)는 테스트 대상 프로그램의 실행, 현재 검증 중인 기능이 실행되는 경우 커서의 위치를 확인하고, 이미지 간의 비교시 커서에 의해 영향이 발생하는 부분을 배제한 상태에서 이미지 비교를 수행하게 된다. 이를 위해 분석부(40)는 커서의 위치 또는 커서가 위치할 수 있는 입력란의 정보가 기재된 핸들값을 획득하여 이를 기준으로 비교할 수 있으나, 이로써 본 발명을 한정하는 것은 아니다.
한편, 분석부(40)는 커서의 위치를 정확히 확인할 수 있도록 테스트 대상 프로그램이 실행되는 영역을 복수의 영역으로 구분하여 커서에 의한 변화가 발생되는 부분을 탐색하며, 이를 세분화하여 커서의 위치 및 크기를 정확히 추출하게 된다. 이에 대해서는 하기에서 별도의 도면을 참조하여 좀 더 상세히 설명하기로 한다.
저장부(50)는 분석부(40)에 의해 생성되는 원본이미지와 비교이미지가 저장되고, 분석부(40)의 요청에 따라 원본 이미지를 제공하는 역할을 한다. 또한, 저장부(50)에는 분석부(40)에서 테스트 진행에 따라 생성되는 리포트가 저장된다. 이러한 리포트는 사용자의 요청에 따라 출력부(30)와 같은 다른 장치에 제공될 수 있다.
도 2 내지 도 4는 분석부가 커서의 위치를 확인하는 과정을 설명하기 위한 예시도이다.
분석부(40)는 초기에 핸들값을 운영시스템에서 얻어오며, 이를 통해 대략적인 커서의 위치, 커서의 존재 여부, 입력 필드의 위치와 같은 사항을 알아낼 수 있다. 그러나, 이러한 핸들값이 커서에 대한 정보를 정확하게 표현하지 못하는 경우가 많아 실제 분석에 핸들값만을 이용하는 경우 테스트 실패 또는 정상동작을 오동작으로 오판하는 사례가 크게 증가한다. 때문에 본 발명에서는 테스트 대상 프로그램의 실행 영역에서 실제 표시되는 커서의 위치와 크기를 확인하여, 비교 분석시 해당 영역을 제외하고 분석을 수행하게 된다.
구체적으로 도 2와 같이 출력부(30)에 의해 출력영상이 출력되는 모니터(31)가 구성되고, 테스트 대상 프로그램의 실행에 따라 모니터(31)에 테스트 대상 프로그램이 실행되어 실행창(61)이 활성화 될 수 있다. 여기서, 테스트 대상 프로그램은 화면의 전 영역에 표시되도록 할 수도 있으나, 이 경우도 실행창(61)의 크기가 커진 것으로 이해될 수 있다.
이와 같이 테스트 대상 프로그램이 실행되면, 최초 원본이미지를 저장함과 아울러(여기서, 원본이미지는 사용자에 의해 미리 저장될 수도 있고, 실행 초기에 캡쳐한 이미지를 저장할 수도 있다), 분석부(40)는 핸들값을 시스템으로부터 가져와 원본 이미지와 함께 저장할 수 있다. 역시 핸들값은 실행창(61)의 크기와 위치에 대한 값을
이후, 분석부(40)는 다른 기능은 실행하지 않은 상태에서 커서에 의한 깜박임과 같은 화면 변화가 반복적으로 생기는지를 확인하게 된다. 이를 위해 분석부(40)는 일정한 주기로 실행창(61) 영역의 이미지를 획득하고 이를 원본이미지와 비교하여 일정한 부분에 반복적인 변화가 발생하는지 판단하게 되며, 반복적인 변화가 발생하는 경우 커서가 실행창(61)에 위치하는 것으로 확인하게 된다.
분석부(40)는 커서(69)의 존재가 확인되면, 커서(69)의 정확한 위치와 크기를 확인하기 위한 위치 및 크기 확인 과정을 수행하게 된다.
이를 위해 분석부(40)는 실행창(61) 즉, 테스트 대상 프로그램의 실행영역을 복수의 블럭으로 구분하여 변화가 발생된 블럭을 확인함으로써 위치와 크기를 확인하게 된다.
구체적으로 도 3에서와 같이 분석부는 실행창(61)을 미리 정해진 숫자의 영역으로 분할하여 분할된 영역 즉 블럭(62)을 각각 원본 이미지와 비교함으로써 이미지의 변화가 발생하는 영역을 찾게 된다. 일례로 도 3 및 도 4에는 9개의 블럭(62)으로 구성된 예가 도시되어 있으나, 블럭(62)의 수는 가변이 가능하다. 여기서, 각 블럭(62)에 별도의 표기를 하지는 않았지만, 각 블럭을(행, 열)로 하여 좌측 상단 블럭부터(1, 1)로 시작하여 우측 하단 블럭을 (3, 3)으로 가정하여 설명하기로 한다.
이때, 도 3에서와 같이 (1,1) 블럭에서 커서(69)가 확인되면 분석부(40)는 커서(69)의 정확한 크기와 위치를 확인하기 위해 커서가 확인된 (1,1) 블럭을 다시 복수의 항위 블럭(63)으로 나누어 커서(69)의 위치를 확인하게 된다. 여기서 하위 블럭은 (메인 블럭의 행열, 하의블럭의 행, 하위블럭의 열) 형태로 표기하기로 한다.
이와 같이 하위블럭(63)으로 나누어 커서(69)의 위치 및 크기를 확인하면 상위 블럭(62) 만을 이용하여 커서(69)의 위치 및 크기를 정확하게 확인하는 것이 가능하다. 본 발명에서는 상위블럭(62)와 하위블럭(63)의 2단계로 구분하는 예가 도시되어 있으나, 하위블럭(63)의 단계를 증가시켜 더욱 세밀하게 비교하는 것도 가능하다.
이러한 과정에서 분석부(40)는 하위의 각 블럭((11, 1, 1) 내지 (11, 3, 3))을 원본과 비교하는 과정에서 원본과의 일치율(또는 불일치율)을 계산하게 되며, 일치율이 다른 하위 블럭(63)과 큰 차이가 나지 않는 경우 즉, 미리 정해진 값 이하의 차이가 나는 경우 하위블럭(63)을 다시 하위블럭으로 구분하고, 하위블럭을 원본이미지와 비교하여 커서(69)의 위치와 크기를 확인하도록 할 수도 있다. 이와 같은 이유로 복수의 상위블럭(62)에서 화면 변화가 발생하는 경우는 오류 또는 커서의 크기가 큰 상태일 수 있다. 이때, 분석부(40)는 사용자에 대한 확인요청을 전달하거나, 복수의 상위 및 하위블럭(62, 63)을 비교하여 정확한 커서의 형태와 위치를 추정함으로써 커서(69)에 의한 것인지 또는 화면 출력상의 오류인지를 판단하게 된다.
일례로, 문서편집기가 테스트 대상 프로그램으로 이용되고, 커서가 최대 폰트 크기인 경우 실행창 영역(61)의 상당부분에 변화를 발생시킬 수 있다. 이때, 일반적으로 커서(69)는 로마자 "아이"(I), 숫자 1 또는 박스 형태로 형상화되기 때문에 변화가 발생한 부분 예를 들어 변화가 확인된 하위 블럭(63)을 연결하여 형태를 추정함으로써 커서(69)에 의한 넓은 영역 변화인지 또는 다른 이유에 의한 영역 변화인지 확인할 수 있게 된다.
또한, 분석부(40)는 하위블럭(63)에 의한 커서(69)의 크기 및 위치 확인시 중복된 하위블럭(63)이 있는지 없는지 판단하여 커서(69)의 크기 및 위치를 확인하게 된다. 구체적으로, 분석부(40)는 하위블럭(63) 중 어느 하나에만 변화가 확인되는 경우 해당 하위블럭((11, 1, 1) 내지 (11, 3, 3))을 커서(69)의 위치 및 크기로 기록하게 된다. 반면, 분석부(40)는 하위블럭(63) 중 복수에서 변화가 측정되는 경우 이를 더 세분화한 하위블럭을 통해 커서(69)의 크기와 위치를 추정하거나, 해당 하위블럭((11, 1, 1) 내지 (11, 3, 3))들을 커서(69)의 위치 및 크기로 인식하여 기록하게 된다.
일례로 도 4에서와 같이 (11, 1,1)블럭 및 (11, 2,1) 블럭에서 변화가 확인되는 경우 분석부는 (11, 1,1)블럭 및 (11, 2,1) 블럭을 커서(69)의 위치 및 크기로 인지하여 기록할 수도 있고, (11, 1,1)블럭 및 (11, 2,1) 블럭을 또 다른 하위블럭에 의해 구분하여 더 정확한 커서의 위치와 크기를 확인하는 과정을 수행할 수 있다.
본 발명에서는 커서의 위치 확인을 위한 이미지 비교에 있어서 복수의 블럭을 사용하되 이를 단계별로 나누어 세분화 시킴으로써 불필요한 부분의 세밀한 비교를 생략하는 것이 가능하며, 이를 통해 이미지 비교에 따른 데이터 처리 속도의 향상과 분석 시스템의 데이터 처리 부담을 경감하면서도 정확한 커서의 위치 및 크기 확인이 가능해진다.
도 5 및 도 6은 커서 위치 인식에 따른 테스트 대상 프로그램의 오류 발생 여부를 판별하는 과정을 설명하기 위한 예시도이다.
도 2 내지 4에서와 같이 커서(69)의 위치가 확인되면 분석부(40)는 도 5 및 도 6에서와 같은 방법에 의해 테스트 대상 프로그램의 실행에 따른 오류 발생여부를 검출하게 된다.
구체적으로 도 5는 커서 위치 및 크기를 기준으로 실행창(61)을 2개의 부분으로 나누어 커서(69)가 속한 영역(72)과 커서(69)가 속하지 않은 영역(71)으로 구분한 경우의 예를 도시한 것이다.
분석부(40)는 테스트를 위해 미리 정해진 메뉴 또는 기능을 실행시키고 실행창으로부터 얻어지는 실행이미지를 미리 저장된 원본 이미지와 비교하게 된다. 이때, 도 5에서와 같이 화면을 두 부분으로 나누어, 커서(69)의 위치 및 크기를 고려한 비교를 수행할 수 있다. 구체적으로 분석부(40)는 커서가 속하지 않은 영역(71)과 원본 이미지에서 대응되는 영역(71)을 비교하고, 이에 대한 일치율을 비교하여 실행에 따른 오류가 발생했는지 또는 원본 이미지에 기록된 바와 같이 정상동작을 했는지 판단하게 된다.
이 경우 커서(69)의 위치에 따라 넓은 영역이 테스트 검증에서 버려지기 때문에 분석결과가 부정확해질 수 있다.
이때에는 도 6에서와 같이 도 2 내지 4를 통해 확인된 커서(69)의 위치 및 크기를 제외한 영역 전부에 대한 비교가 수행될 수 있다.
좀 더 구체적으로 도 6에 도시된 바와 같이 실행창(61)을 통해 확인된 커서의 위치(74)를 제외한 나머지 실행창(61)의 영역(71)을 원본 이미지의 대응되는 부분과 비교함으로써 정상 동작인지 오류가 발생했는지 판단하게 된다. 이러한 오류의 발생여부는 원본이미지와 실행 후 획득된 실행이미지를 비교함으로써 이루어지며, 원본이미지와 실행이미지에서 커서(69)의 위치 및 크기에 해당되는 영역은 제외하고 일치율을 확인함으로써 이루어지게 된다. 이러한 도 6에 의한 방법은 전술한 도5에 비해 더욱 정확해지는 장점이 있다.
도 7은 본 발명에 따른 커서의 위치 인식 테스트 자동화 방법을 설명하기 위한 예를 도시한 순서도이다.
도 7을 참조하면, 본 발명에 따른 커서의 위치 인식 테스트 자동화 방법은 프로그램 실행단계(S10), 커서 존재 확인단계(S20), 커서 크기, 위치 확인 단계(S30) 및 테스트 대상 프로그램 분석단계(S40)을 포함하여 구성된다.
프로그램 실행단계(S10)는 프로그램 실행부(10)에 의해 테스트 프로그램이 실행되는 단계이다. 이 프로그램 실행단계(S10)에서 분석부(40)는 테스트 대상 프로그램의 원본이미지를 획득하고, 이를 분석부(40)에 전달한다. 이 원본이미지는 대상 프로그램의 초기에 화면의 이미지 또는 화면을 통해 출력될 데이터를 획득하여 얻어질 수도 있고, 사용자에 의해 미리 선택되어 저장된 이미지일 수 있다. 또한 프로그램 실행단계(S10)에서는 테스트 대상 프로그램의 핸들값을 운영체제(OS)로부터 획득하여, 분석부(40)에 전달되는 단계가 포함된다.
커서 존재 확인단계(S20)는 분석부(40)는 테스트 대상 프로그램의 실행영역 예를 들어 실행창(61) 내에 커서(69)가 존재하는지 확인하는 단계이다. 이 커서 존재 확인단계(S20)에서 분석부(40)는 실행창(61)의 이미지를 수회 반복적으로 추출하고 특정위치가 반복적으로 변화하는지 판단하여 커서의 존재를 확인하게 된다. 특히, 분석부(40)는 전 단계에서 획득한 핸들값에 커서(69)의 위치정보를 나타내는 데이터가 기재된 경우 변화가 발생된 곳이 커서(69)의 위치정보에 나타난 위치와 근접한지를 판단하여 커서(69)의 존재여부 확인에 정확도를 향상시킬 수 있으나, 이로써 본 발명을 한정하는 것은 아니다.
커서 크기, 위치 확인단계(S30)는 테스트 대상 프로그램의 실행창(61), 즉, 실행영역(이하 '실행창'으로 통칭함)에서 커서(69)가 확인되는 경우 커서의 크기, 위치를 분석부(40)가 확인하는 단계이다. 전술한 바와 같이 분석부(40)는 실행창(61)을 복수의 영역으로 구분하고, 각 영역을 원본 이미지와 비교하여 변화가 발생된 영역을 검출한다. 그리고, 분석부(40)는 검출된 영역을 하위 블럭으로 다시 분할하여 비교하고 커서(69)의 위치를 더욱 정확하고 세밀하게 검출하게 된다. 그리고, 분석부(40)는 검출되는 커서(69)의 크기와 위치정보를 저장한다.
테스트 대상 프로그램 분석단계(S40)는 분석부(40)가 테스트 대상 프로그램을 테스트하는 단계이다. 이 테스트 대상 프로그램 분석단계(S40)에서 분석부(40)는 테스트 대상 프로그램의 실행창(61)에 대한 테스트 과정에서 비교 이미지를 획득하고 이를 원본이미지와 비교하여 일치율을 비교함으로써 실행 결과 또는 과정에서 오류를 검출하게 된다. 특히, 분석부(40)는 이러한 과정에서 전술한 커서 크기, 위치 확인단계(S30)에서 확인된 커서 크기, 위치는 배제하고 나머지 부분을 비교함으로써 일치율을 비교하고, 이를 통해 커서(69)에 의해 영향을 배제한 상태에서 오류를 검출하게 된다.
이상에서 본 발명의 기술적 사상을 예시하기 위해 구체적인 실시 예로 도시하고 설명하였으나, 본 발명은 상기와 같이 구체적인 실시 예와 동일한 구성 및 작용에만 국한되지 않고, 여러 가지 변형이 본 발명의 범위를 벗어나지 않는 한도 내에서 실시될 수 있다. 따라서 그와 같은 변형도 본 발명의 범위에 속하는 것으로 간주해야 하며, 본 발명의 범위는 후술하는 특허청구범위에 의해 결정되어야 한다.
10 : 프로그램 실행부 30 : 출력부
31 : 모니터 40 : 분석부
50 : 저장부 61 : 실행창
62 : 상위블럭 63 : 하위블럭
69 : 커서

Claims (14)

  1. 테스트 대상 프로그램을 실행시키는 프로그램 실행부;
    상기 테스트 대상 프로그램의 메뉴 또는 기능의 실행에 따른 실행 결과를 실행이미지로 추출하고, 미리 저장되는 원본이미지와 비교하여 이미지 일치율에 따라 실행상태를 분석하는 분석부; 및
    상기 원본이미지와 상기 분석의 결과가 저장되는 저장부;를 포함하여 구성되고,
    상기 분석부는 상기 테스트 대상 프로그램의 실행시 실행영역에 커서가 존재하는지 판별하기 위해, 상기 실행이미지를 미리 정해진 간격으로 생성하고, 복수의 상기 실행이미지를 상기 원본이미지와 비교하여 반복적인 변화가 발생하는 위치를 검출하여 상기 커서의 존재여부를 판별하는 것을 특징으로 하는 커서 위치 인식 테스트 자동화 시스템.
  2. 제 1 항에 있어서,
    상기 분석부는
    상기 테스트 대상 프로그램의 실행이 이루어지는 실행영역에 커서의 위치 또는 크기를 확인하고, 상기 커서의 위치 또는 크기에 해당되는 영역을 제외한 나머지 영역을 비교하여 분석을 수행하는 것을 특징으로 하는 커서 위치 인식 테스트 자동화 시스템.
  3. 삭제
  4. 삭제
  5. 제 2 항에 있어서,
    상기 분석부는
    상기 테스트 대상 프로그램의 핸들값을 운영체제로부터 획득하여, 상기 핸들값에 기재된 상기 커서의 위치정보와 이미지 비교에 의해 획득한 상기 커서의 위치를 비교하여 상기 커서의 존재 여부를 판별하는 것을 특징으로 하는 커서 위치 인식 테스트 자동화 시스템.
  6. 제 2 항에 있어서,
    상기 분석부는
    상기 커서의 위치 또는 크기 판별을 위해 상기 실행이미지와 상기 원본이미지를 복수의 영역으로 구분하여 변화가 발생된 영역을 검출하는 것을 특징으로 하는 커서 위치 인식 테스트 자동화 시스템.
  7. 제 6 항에 있어서,
    상기 분석부는
    복수의 영역들 중 변화가 검출된 영역을 복수의 영역으로 다시 분할하여 변화가 발생된 영역을 재검출하는 것을 특징으로 하는 커서 위치 인식 테스트 자동화 시스템.
  8. 프로그램 실행부가 테스트 대상 프로그램을 실행시키는 실행단계;
    분석부가 상기 테스트 대상 프로그램의 메뉴 또는 기능의 실행에 따른 실행결과를 실행이미지로 추출하고, 미리 저장되는 원본이미지와 비교하여 이미지 일치율에 따라 실행상태를 분석하는 분석단계; 및
    저장부에 상기 원본이미지와 상기 분석의 결과가 저장되는 저장단계;를 포함하여 구성되고,
    상기 분석단계는 상기 분석부가 상기 테스트 대상 프로그램의 실행시 실행영역에 커서가 존재하는지 판별하는 단계;를 더 포함하여 구성되며,
    상기 판별하는 단계는 상기 분석부가 상기 실행이미지를 미리 정해진 간격으로 생성하고, 복수의 상기 실행이미지를 상기 원본이미지와 비교하여 반복적인 변화가 발생하는 위치를 검출하여 상기 커서의 존재여부를 판별하는 것을 특징으로 하는 커서 위치 인식 테스트 자동화 방법.
  9. 제 8 항에 있어서,
    상기 분석단계는
    상기 분석부가 상기 테스트 대상 프로그램의 실행이 이루어지는 실행영역에 커서의 위치 또는 크기를 확인하는 단계와,
    상기 커서의 위치 또는 크기에 해당되는 영역을 제외한 나머지 영역을 비교하여 분석을 수행하는 단계;를 포함하여 구성되는 것을 특징으로 하는 커서 위치 인식 테스트 자동화 방법.
  10. 삭제
  11. 삭제
  12. 제 9 항에 있어서,
    상기 판별하는 단계는
    상기 분석부가 상기 테스트 대상 프로그램의 핸들값을 운영체제로부터 획득하는 단계;
    상기 핸들값에 기재된 상기 커서의 위치정보와 이미지 비교에 의해 획득한 상기 커서의 위치를 비교하여 상기 커서의 존재 여부를 판별하는 것을 특징으로 하는 커서 위치 인식 테스트 자동화 방법.
  13. 제 9 항에 있어서,
    상기 분석단계는
    상기 분석부가 상기 커서의 위치 또는 크기 판별을 위해 상기 실행이미지와 상기 원본이미지를 복수의 영역으로 구분하여 변화가 발생된 영역을 검출하는 단계를 더 포함하여 구성되는 것을 특징으로 하는 커서 위치 인식 테스트 자동화 방법.
  14. 제 13 항에 있어서,
    상기 분석단계는
    상기 분석부가 상기 변화가 발생된 영역을 복수의 영역으로 재 분할하여 변화가 발생된 영역을 재검출하는 것을 특징으로 하는 커서 위치 인식 테스트 자동화 방법.
KR1020170028874A 2017-03-07 2017-03-07 커서 위치 인식 테스트 자동화 시스템 및 이를 이용한 커서 위치 인식 테스트자동화 방법 KR101774815B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170028874A KR101774815B1 (ko) 2017-03-07 2017-03-07 커서 위치 인식 테스트 자동화 시스템 및 이를 이용한 커서 위치 인식 테스트자동화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170028874A KR101774815B1 (ko) 2017-03-07 2017-03-07 커서 위치 인식 테스트 자동화 시스템 및 이를 이용한 커서 위치 인식 테스트자동화 방법

Publications (1)

Publication Number Publication Date
KR101774815B1 true KR101774815B1 (ko) 2017-09-19

Family

ID=60033407

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170028874A KR101774815B1 (ko) 2017-03-07 2017-03-07 커서 위치 인식 테스트 자동화 시스템 및 이를 이용한 커서 위치 인식 테스트자동화 방법

Country Status (1)

Country Link
KR (1) KR101774815B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102075111B1 (ko) * 2018-08-23 2020-02-07 (주) 넥스트랩 Ui 기능 테스트 시스템 및 방법
KR20200029073A (ko) * 2018-09-07 2020-03-18 주식회사 한글과컴퓨터 다국어로 제작된 프로그램에 대한 자동화 점검 장치 및 그 동작 방법
KR20220034327A (ko) 2020-09-11 2022-03-18 김수한 딥러닝 오브젝트 검출 기반의 스마트폰 애플리케이션 자동 제어방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010249565A (ja) * 2009-04-13 2010-11-04 Dainippon Screen Mfg Co Ltd 欠陥検出装置及び欠陥検出方法
JP2011060052A (ja) * 2009-09-11 2011-03-24 Mitsubishi Electric Corp ソフトウェア試験実行方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010249565A (ja) * 2009-04-13 2010-11-04 Dainippon Screen Mfg Co Ltd 欠陥検出装置及び欠陥検出方法
JP2011060052A (ja) * 2009-09-11 2011-03-24 Mitsubishi Electric Corp ソフトウェア試験実行方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102075111B1 (ko) * 2018-08-23 2020-02-07 (주) 넥스트랩 Ui 기능 테스트 시스템 및 방법
KR20200029073A (ko) * 2018-09-07 2020-03-18 주식회사 한글과컴퓨터 다국어로 제작된 프로그램에 대한 자동화 점검 장치 및 그 동작 방법
KR102119745B1 (ko) 2018-09-07 2020-06-08 주식회사 한글과컴퓨터 다국어로 제작된 프로그램에 대한 자동화 점검 장치 및 그 동작 방법
KR20220034327A (ko) 2020-09-11 2022-03-18 김수한 딥러닝 오브젝트 검출 기반의 스마트폰 애플리케이션 자동 제어방법

Similar Documents

Publication Publication Date Title
CN108959068B (zh) 软件界面测试方法、设备及存储介质
US10073766B2 (en) Building signatures of application flows
US10019346B2 (en) Generating software test script from video
KR101774815B1 (ko) 커서 위치 인식 테스트 자동화 시스템 및 이를 이용한 커서 위치 인식 테스트자동화 방법
JP4381436B2 (ja) シナリオ生成装置およびシナリオ生成プログラム
CN110196801B (zh) 一种基于代码覆盖率的测试方法及装置
CN111143188B (zh) 一种对应用进行自动化测试的方法及设备
CN107223257B (zh) 测试方法、测试服务器及系统
CN104699617A (zh) 一种游戏用自动化测试方法
CN112286825A (zh) 智能座舱的屏幕测试方法、装置及电子设备
CN106294109B (zh) 获取缺陷代码的方法及装置
KR101796009B1 (ko) 프로그램 자동 분석 시스템 및 이를 이용한 자동분석 방법
US20170212798A1 (en) Ladder program display device having automatic trace function for self-holding circuit of ladder program
KR101252358B1 (ko) Plc 명령어 테스트 장치 및 방법
CN111522742A (zh) 页面截图的生成方法、装置、计算机设备及存储介质
CN114942890B (zh) 一种用户界面测试方法、装置、设备及介质
US7415560B2 (en) Method of automatically monitoring computer system debugging routine
CN113608089B (zh) 开关电源mos管的soa测试方法、系统、装置及可读存储介质
KR101999321B1 (ko) 프로그램 검증 시스템 및 검증 방법
KR20150038983A (ko) 객체 추출 기반의 어플리케이션 검증 방법 및 그 장치
CN114816670A (zh) 一种虚拟机的检测方法、装置、电子设备和存储介质
JP5384136B2 (ja) 障害解析支援システム
CN112633194A (zh) 屏内指纹检测方法及装置
CN111338956A (zh) 一种自动化的压测方法、装置、设备和存储介质
CN107102938B (zh) 测试脚本的更新方法及装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant