KR102296897B1 - 솔루션의 테스트 자동화 시스템 및 방법 - Google Patents

솔루션의 테스트 자동화 시스템 및 방법 Download PDF

Info

Publication number
KR102296897B1
KR102296897B1 KR1020150147923A KR20150147923A KR102296897B1 KR 102296897 B1 KR102296897 B1 KR 102296897B1 KR 1020150147923 A KR1020150147923 A KR 1020150147923A KR 20150147923 A KR20150147923 A KR 20150147923A KR 102296897 B1 KR102296897 B1 KR 102296897B1
Authority
KR
South Korea
Prior art keywords
terminal
image
automation
test automation
input event
Prior art date
Application number
KR1020150147923A
Other languages
English (en)
Other versions
KR20170047605A (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 KR1020150147923A priority Critical patent/KR102296897B1/ko
Publication of KR20170047605A publication Critical patent/KR20170047605A/ko
Application granted granted Critical
Publication of KR102296897B1 publication Critical patent/KR102296897B1/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/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • 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

Landscapes

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

Abstract

솔루션의 테스트 자동화 시스템 및 방법이 제공된다. 본 발명의 일 실시예에 따른 솔루션의 테스트 자동화 시스템은, 대상 솔루션의 오브젝트를 동작시키는 데 사용되는 자동화 스크립트를 생성하고, 상기 자동화 스크립트를 실행시켜 상기 오브젝트의 이미지를 획득하는 제1 단말; 및 상기 제1 단말로부터 상기 오브젝트의 이미지를 수신하고, 상기 오브젝트의 이미지를 이용하여 상기 대상 솔루션에 대한 이미지 기반의 테스트 자동화를 수행하는 제2 단말을 포함한다.

Description

솔루션의 테스트 자동화 시스템 및 방법{SYSTEM AND METHOD FOR PERFORMING TEST AUTOMATION OF SOLUTION}
본 발명의 실시예들은 솔루션의 검증을 위한 테스트 자동화 기술과 관련된다.
최근, 인터넷의 사용이 증가함에 따라 웹 브라우저를 기반으로 웹 서비스를 제공하는 솔루션들의 개발 또한 증가하고 있다. 일반적으로, 이러한 웹 브라우저 기반의 솔루션은 출시 전 테스트 자동화 과정을 거치게 된다. 테스트 자동화 과정은 테스트 자동화 도구를 통해 솔루션의 정상적인 동작 여부를 자동으로 테스트하는 과정으로서, 테스트 대상이 되는 오브젝트를 검색하고 검색된 오브젝트를 동작시키는 명령을 통해 미리 정해진 시나리오를 자동으로 수행하게 된다. 이러한 테스트 자동화 기법은 오브젝트의 이미지를 캡쳐할 필요가 없으며, 이에 따라 테스트 자동화에 사용되는 스크립트의 재사용성이 높은 장점이 있다. 그러나, 상기 테스트 자동화 기법은 현재 사용 중인 플랫폼(예를 들어, 운영체제(OS) 또는 브라우저)에서 제공되는 API를 이용하여 오브젝트를 검색하고 검색된 오브젝트의 동작 명령을 수행한다는 점에서 플랫폼 의존적일 수 밖에 없으며, 이에 따라 다양한 플랫폼 환경에서의 솔루션의 호환성을 테스트하고자 하는 경우에는 적합하지 않다.
또한, 이러한 문제점을 보완하기 위해, 테스트 대상이 되는 오브젝트의 이미지를 캡쳐하고 캡쳐된 오브젝트의 이미지를 검색하여 해당 이미지를 갖는 오브젝트에 입력 이벤트(예를 들어, 키보드 입력, 마우스 클릭 등)를 발생시켜 오브젝트를 동작시키는 테스트 자동화 기법이 사용되고 있으나, 상기 테스트 자동화 기법은 솔루션이 업데이트되거나 변경되는 등의 이유로 중간에 오브젝트의 이미지가 변경되는 경우 테스트 스크립트의 재사용이 어렵고 테스트 스크립트의 유지 보수에 대한 비용이 추가적으로 발생하는 문제점이 있다.
한국공개특허공보 제10-2014-0147227호(2014.12.30)
본 발명의 실시예들은 플랫폼 독립적이며 스크립트의 재사용성이 높은 테스트 자동화 시스템 및 방법을 제공하기 위한 것이다.
본 발명의 예시적인 실시예에 따르면, 대상 솔루션의 오브젝트를 동작시키는 데 사용되는 자동화 스크립트를 생성하고, 상기 자동화 스크립트를 실행시켜 상기 오브젝트의 이미지를 획득하는 제1 단말; 및 상기 제1 단말로부터 상기 오브젝트의 이미지를 수신하고, 상기 오브젝트의 이미지를 이용하여 상기 대상 솔루션에 대한 이미지 기반의 테스트 자동화를 수행하는 제2 단말을 포함하는, 솔루션의 테스트 자동화 시스템이 제공된다.
상기 제1 단말은, 상기 오브젝트에 대한 입력 이벤트를 사용자로부터 입력 받고, 상기 사용자로부터 입력된 입력 이벤트에 따라 상기 오브젝트의 정보를 추출하며, 상기 사용자로부터 입력된 입력 이벤트 및 상기 오브젝트의 정보를 기반으로 상기 자동화 스크립트를 생성할 수 있다.
상기 제1 단말은, 상기 자동화 스크립트를 실행시킴에 따라 상기 제1 단말의 웹 브라우저 상에서 상기 오브젝트의 정보를 이용하여 상기 오브젝트를 검색하고, 검색된 상기 오브젝트에 상기 입력 이벤트를 발생시켜 상기 오브젝트를 동작시킴으로써 오브젝트 기반의 테스트 자동화를 수행할 수 있다.
상기 제2 단말은, 상기 제2 단말의 웹 브라우저 상에서 상기 오브젝트의 이미지를 검색하고, 상기 오브젝트의 이미지를 갖는 오브젝트에 입력 이벤트를 발생시켜 상기 오브젝트를 동작시킴으로써 상기 이미지 기반의 테스트 자동화를 수행할 수 있다.
상기 제1 단말 및 상기 제2 단말은, 서로 다른 운영체제(OS) 환경을 가질 수 있다.
상기 제1 단말 및 상기 제2 단말은, 서로 다른 웹 브라우저 환경을 가질 수 있다.
본 발명의 다른 예시적인 실시예에 따르면, 제1 단말에서, 대상 솔루션의 오브젝트를 동작시키는 데 사용되는 자동화 스크립트를 생성하는 단계; 상기 제1 단말에서, 상기 자동화 스크립트를 실행시켜 상기 오브젝트의 이미지를 획득하는 단계; 제2 단말에서, 상기 제1 단말로부터 상기 오브젝트의 이미지를 수신하는 단계; 및 상기 제2 단말에서, 상기 오브젝트의 이미지를 이용하여 상기 대상 솔루션에 대한 이미지 기반의 테스트 자동화를 수행하는 단계를 포함하는, 솔루션의 테스트 자동화 방법이 제공된다.
상기 자동화 스크립트를 생성하는 단계는, 상기 오브젝트에 대한 입력 이벤트를 사용자로부터 입력 받고, 상기 사용자로부터 입력된 입력 이벤트에 따라 상기 오브젝트의 정보를 추출하며, 상기 사용자로부터 입력된 입력 이벤트 및 상기 오브젝트의 정보를 기반으로 상기 자동화 스크립트를 생성할 수 있다.
상기 솔루션의 테스트 자동화 방법은, 상기 자동화 스크립트를 생성하는 단계 이후, 상기 제1 단말에서, 상기 자동화 스크립트를 실행시킴에 따라 상기 제1 단말의 웹 브라우저 상에서 상기 오브젝트의 정보를 이용하여 상기 오브젝트를 검색하는 단계; 및 상기 제1 단말에서, 검색된 상기 오브젝트에 상기 입력 이벤트를 발생시 켜 상기 오브젝트를 동작시킴으로써 오브젝트 기반의 테스트 자동화를 수행하는 단계를 더 포함할 수 있다.
상기 이미지 기반의 테스트 자동화를 수행하는 단계는, 상기 제2 단말의 웹 브라우저 상에서 상기 오브젝트의 이미지를 검색하고, 상기 오브젝트의 이미지를 갖는 오브젝트에 입력 이벤트를 발생시켜 상기 오브젝트를 동작시킴으로써 상기 이미지 기반의 테스트 자동화를 수행할 수 있다.
상기 제1 단말 및 상기 제2 단말은, 서로 다른 운영체제(OS) 환경을 가질 수 있다.
상기 제1 단말 및 상기 제2 단말은, 서로 다른 웹 브라우저 환경을 가질 수 있다.
본 발명의 실시예들에 따르면, 제1 단말에서 오브젝트 기반의 테스트 자동화를 수행하도록 함으로써, 자동화 스크립트의 재사용성을 높이고 자동화 스크립트의 유지 보수에 대한 비용을 절감할 수 있다.
또한, 본 발명의 실시예들에 따르면, 제2 단말에서 이미지 기반의 테스트 자동화를 수행하도록 함으로써, 플랫폼 독립적인 테스트 자동화 시스템을 구현할 수 있으며 대상 솔루션의 검증시 다양한 플랫폼 환경에서 호환성 테스트가 가능하다. 특히, 본 발명의 실시예들에 따르면, 대상 솔루션의 업데이트, 변경 등의 이유로 테스트에 사용되는 오브젝트의 이미지가 변경되더라도 제2 단말에서 변경된 오브젝트의 이미지를 이용하여 이미지 기반의 테스트 자동화를 수행할 수 있으므로, 대상 솔루션의 업데이트, 변경 등에 영향을 받지 않는다.
도 1은 본 발명의 일 실시예에 따른 솔루션의 테스트 자동화 시스템의 상세 구성을 나타낸 블록도
도 2는 본 발명의 일 실시예에 따른 제1 단말의 상세 구성을 나타낸 블록도
도 3은 본 발명의 일 실시예에 따른 제2 단말의 상세 구성을 나타낸 블록도
도 4는 본 발명의 일 실시예에 따른 솔루션의 테스트 자동화 방법을 설명하기 위한 흐름도
도 5는 도 4의 S402 단계를 구체적으로 설명하기 위한 흐름도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 본 발명의 일 실시예에 따른 솔루션의 테스트 자동화 시스템(100)의 상세 구성을 나타낸 블록도이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 솔루션의 테스트 자동화 시스템(100)은 대상 솔루션(106)의 정상적인 동작 여부를 테스트하기 위한 것으로, 제1 단말(102) 및 제2 단말(104)을 포함한다.
이하의 실시예들에서, 대상 솔루션(106)은 테스트 대상이 되는 솔루션으로서, 웹 브라우저를 통해 웹 서비스(또는 웹 페이지)를 제공하는 하드웨어 또는 소프트웨어를 통칭하는 의미로 사용된다. 대상 솔루션(106)은 하나 이상의 오브젝트로 구성될 수 있으며, 솔루션의 테스트 자동화 시스템(100)은 상기 오브젝트의 동작을 검증함으로써 대상 솔루션(106)의 정상적인 동작 여부를 테스트할 수 있다. 오브젝트는 웹 브라우저 상에서의 입력 이벤트(예를 들어, 키보드 입력, 마우스 클릭 등)에 따라 미리 정의된 시나리오(예를 들어, 메일 전송, 메일 삭제 등)를 수행하는 객체로서, 예를 들어, 웹 페이지 상의 “받은 편지함 버튼”, “보낸 편지함 버튼”, “수신 메일 제목” 등이 될 수 있다.
제1 단말(102) 및 제2 단말(104)은 대상 솔루션(106)에 대한 테스트 자동화를 수행하는 장치이다. 제1 단말(102) 및 제2 단말(104)은 예를 들어, 스마트폰, 태블릿 등의 개인 휴대 단말기, 또는 노트북 컴퓨터, 데스크탑 컴퓨터 등의 기기들이 될 수 있다.
본 실시예들에 있어서, 제1 단말(102) 및 제2 단말(104)은 서로 다른 플랫폼 환경을 가질 수 있다. 일 예시로서, 제1 단말(102) 및 제2 단말(104)은 서로 다른 운영체제(OS) 환경을 가질 수 있다. 예를 들어, 제1 단말(102)은 윈도우(windows) 기반의 운영체제 환경에서 동작하며, 제2 단말(104)은 리눅스(linux) 기반의 운영체제 환경에서 동작할 수 있다. 다른 예시로서, 제1 단말(102) 및 제2 단말(104)은 서로 다른 웹 브라우저 환경을 가질 수 있다. 예를 들어, 제1 단말(102)은 인터넷 익스플로러 기반의 웹 브라우저 환경에서 동작하며, 제2 단말(104)은 크롬 기반의 웹 브라우저 환경에서 동작할 수 있다. 이하에서 기술할 본 발명의 실시예들에 따르면, 제1 단말(102)에서 오브젝트 기반의 테스트 자동화를 수행하고 제2 단말(104)에서 이미지 기반의 테스트 자동화를 수행하도록 함으로써, 플랫폼 독립적이며 대상 솔루션(106)의 테스트를 위한 스크립트의 재사용이 높은 테스트 자동화 시스템을 구현할 수 있다.
먼저, 제1 단말(102)은 자동화 스크립트를 생성하고, 상기 자동화 스크립트를 실행시켜 대상 솔루션(106)에 대한 오브젝트 기반의 테스트 자동화를 수행할 수 있다. 여기서, 자동화 스크립트란 설정된 테스트 시나리오를 수행하는 데 사용되는 하나 이상의 오브젝트를 동작시키는 명령어들의 집합을 의미한다. 예를 들어, 테스트 시나리오가 오브젝트 “버튼 1(예를 들어, 받은 편지함 버튼)”, “버튼 2(예를 들어, 받은 편지함의 메일 삭제 버튼)” 및 “버튼 3(예를 들어, 메일 전송 버튼)”을 순차적으로 클릭하는 시나리오인 경우, 자동화 스크립트는 “버튼 1, 버튼 2 및 버튼 3을 검색하고, 검색된 버튼 1, 버튼 2 및 버튼 3을 순차적으로 클릭하는 입력 이벤트를 발생시켜 상기 버튼 1, 버튼 2 및 버튼 3을 동작시키는 명령어들”로 구성될 수 있다. 상기 명령어들은 예를 들어, 자바스크립트(JavaScript), HTML(HyperText Markup Language) 등의 언어로 작성될 수 있다. 즉, 이하의 실시예들에서, 오브젝트 기반의 테스트 자동화는 상기 자동화 스크립트를 실행시켜 웹 브라우저 상에서 상기 오브젝트를 검색하고 검색된 오브젝트에 입력 이벤트(예를 들어, 키보드 입력, 마우스 클릭 등)를 발생시켜 해당 오브젝트를 동작시키는 테스트 자동화 기법을 의미한다.
이러한 자동화 스크립트의 생성을 위해, 제1 단말(102)은 웹 브라우저를 통해 상기 오브젝트들에 대한 입력 이벤트(예를 들어, 마우스 클릭, 키보드 입력 등)를 사용자로부터 입력 받을 수 있다. 제1 단말(102)은 사용자로부터 입력된 입력 이벤트에 따라 상기 오브젝트들의 정보를 추출하고, 상기 사용자로부터 입력된 입력 이벤트 및 추출된 오브젝트들의 정보를 기반으로 자동화 스크립트를 생성할 수 있다. 위 예시에서, 제1 단말(102)은 “버튼 1”에 대한 사용자의 입력 이벤트에 따라 “버튼 1”의 정보를 추출하고, “버튼 2”에 대한 사용자의 입력 이벤트에 따라 “버튼 2”의 정보를 추출하고, “버튼 3”에 대한 사용자의 입력 이벤트에 따라 “버튼 3”의 정보를 추출할 수 있다. 여기서, 오브젝트의 정보는 예를 들어, 웹 브라우저 상의 오브젝트의 이미지 정보, 위치 정보, 오브젝트의 동작에 따라 수행되는 시나리오 정보 등이 될 수 있다. 제1 단말(102)은 상기 오브젝트들에 대한 입력 이벤트 및 추출된 상기 오브젝트들의 정보를 포함하는 자동화 스크립트를 생성할 수 있다.
제1 단말(102)은 생성된 자동화 스크립트를 실행시켜 오브젝트 기반의 테스트 자동화를 수행할 수 있다. 제1 단말(102)이 자동화 스크립트를 실행시킴에 따라, 제1 단말(102)은 자동화 스크립트에 포함된 오브젝트의 정보를 이용하여 제1 단말(102)의 웹 브라우저 상에서 상기 오브젝트를 검색하고, 검색된 오브젝트에 자동화 스크립트에 포함된 입력 이벤트를 발생시켜 상기 오브젝트를 동작시킬 수 있다.
또한, 제1 단말(102)은 상기 오브젝트 기반의 테스트 자동화를 수행하는 과정에서 오브젝트(즉, 테스트 시나리오를 수행하는 데 사용되는 오브젝트)의 이미지를 획득할 수 있다. 상술한 바와 같이, 자동화 스크립트가 실행됨에 따라 상기 오브젝트가 동작하게 되며, 제1 단말(102)은 동작되는 오브젝트의 이미지를 획득할 수 있다. 제1 단말(102)은 예를 들어, API를 이용하여 상기 오브젝트의 이미지를 획득할 수 있다. 제1 단말(102)은 오브젝트 기반의 테스트 자동화를 수행할 때마다 상기 오브젝트의 이미지를 획득할 수 있으며, 이에 따라 대상 솔루션(106)의 업데이트, 변경 등의 이유로 해당 오브젝트의 이미지가 변경되더라도 변경된 오브젝트의 이미지를 획득할 수 있다. 제1 단말(102)은 획득된 오브젝트의 이미지를 제2 단말(104)로 송신할 수 있으며, 제2 단말(104)은 상기 오브젝트의 이미지를 이용하여 이미지 기반의 테스트 자동화를 수행할 수 있다.
제2 단말(104)은 제1 단말(102)로부터 수신한 오브젝트의 이미지를 이용하여 이미지 기반의 테스트 자동화를 수행한다. 이미지 기반의 테스트 자동화는 오브젝트의 이미지를 캡쳐하고 캡쳐된 오브젝트의 이미지를 포함하는 테스트 스크립트를 생성하고, 테스트 자동화의 수행시 상기 테스트 스크립트를 실행시켜 웹 브라우저 상에서 상기 캡쳐된 이미지를 검색하고 해당 이미지를 갖는 오브젝트에 입력 이벤트(예를 들어, 키보드 입력, 마우스 클릭 등)를 발생시켜 해당 오브젝트를 동작시키는 테스트 자동화 기법을 의미한다.
상술한 바와 같이, 제1 단말(102) 및 제2 단말(104)은 서로 다른 플랫폼 환경을 가질 수 있다. 상술한 오브젝트 기반의 테스트 자동화 방식의 경우 웹 브라우저 상에서 오브젝트를 검색하고 검색된 오브젝트에 입력 이벤트를 발생시켜 해당 오브젝트를 동작시키도록 구성되나 각 플랫폼(운영체제(OS) 또는 웹 브라우저)별로 오브젝트의 검색 및 동작 명령과 관련된 API가 달라 플랫폼 의존적일 수 밖에 없다. 따라서, 제1 단말(102)과 플랫폼 환경이 다른 제2 단말(104)에서는 상술한 오브젝트 기반의 테스트 자동화 방식을 사용할 수 없다. 이에 따라, 본 실시예들에서는 제1 단말(102)이 오브젝트 기반의 테스트 자동화를 수행할 때마다 오브젝트의 이미지를 획득하여 제2 단말(104)로 송신하고 제2 단말(104)은 제1 단말(102)로부터 수신한 오브젝트의 이미지를 이용하여 이미지 기반의 테스트 자동화를 수행할 수 있도록 하였다.
구체적으로, 제2 단말(104)은 제1 단말(102)로부터 수신한 오브젝트의 이미지를 포함하는 테스트 스크립트를 생성하고, 상기 테스트 스크립트를 실행시켜 웹 브라우저 상에서 상기 오브젝트의 이미지를 검색하고 해당 이미지를 갖는 오브젝트에 입력 이벤트(예를 들어, 키보드 입력, 마우스 클릭 등)를 발생시켜 해당 오브젝트를 동작시킬 수 있다. 제2 단말(104)은 상기 오브젝트의 이미지와 함께 상기 오브젝트의 입력 이벤트에 관한 정보를 제1 단말(102)로부터 수신할 수 있으며, 상기 오브젝트의 이미지 및 상기 오브젝트의 입력 이벤트에 관한 정보를 기반으로 상술한 테스트 스크립트를 생성할 수 있다. 오브젝트의 이미지는 대상 솔루션(106)의 업데이트, 변경 등의 이유로 중간에 변경되지 않는 한 각 플랫폼별로 동일하므로, 이미지 기반의 테스트 자동화는 플랫폼 독립적인 장점이 있다. 또한, 대상 솔루션(106)의 업데이트, 변경 등의 이유로 해당 오브젝트의 이미지가 변경되더라도, 제1 단말(102)은 변경된 오브젝트의 이미지를 획득하여 제2 단말(104)로 송신하며 제2 단말(104)은 변경된 오브젝트의 이미지를 이용하여 대상 솔루션(106)에 대한 테스트 자동화를 수행할 수 있다.
즉, 본 발명의 실시예들에 따르면, 제1 단말(102)에서 오브젝트 기반의 테스트 자동화를 수행하도록 함으로써 자동화 스크립트의 재사용성을 높이고 자동화 스크립트의 유지 보수에 대한 비용을 절감할 수 있으며, 제2 단말(104)에서 이미지 기반의 테스트 자동화를 수행하도록 함으로써 플랫폼 독립적인 테스트 자동화 시스템을 구현하고 대상 솔루션(106)의 검증시 다양한 플랫폼 환경에서 호환성 테스트가 가능하게 할 수 있다. 특히, 본 발명의 실시예들에 따르면, 대상 솔루션(106)이 업데이트되거나 변경되어 오브젝트의 이미지가 변경되더라도 테스트 자동화를 용이하게 수행할 수 있다.
도 2는 본 발명의 일 실시예에 따른 제1 단말(102)의 상세 구성을 나타낸 블록도이다. 도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 제1 단말(102)은 웹 브라우저(202), 테스트 모듈(204) 및 원격 에이전트(206)를 포함한다.
웹 브라우저(202)는 인터넷 상의 웹 페이지를 제1 단말(102)의 화면에 표시해 주는 응용 프로그램으로서, 예를 들어 인터넷 익스플로러, 파이어폭스, 크롬 등이 될 수 있다.
웹 브라우저(202)는 자동화 스크립트의 생성을 위해 사용자로부터 오브젝트에 대한 입력 이벤트를 입력 받을 수 있다. 상기 입력 이벤트는 예를 들어, 상기 오브젝트에 대한 사용자의 마우스 클릭, 키보드 입력 등의 행위일 수 있다.
테스트 모듈(204)은 자동화 스크립트를 생성하고, 오브젝트 기반의 테스트 자동화를 수행한다. 상술한 바와 같이, 웹 브라우저(202)는 자동화 스크립트의 생성을 위해 사용자로부터 오브젝트에 대한 입력 이벤트를 입력 받을 수 있다. 테스트 모듈(204)은 사용자로부터 입력된 입력 이벤트에 따라 웹 브라우저(202) 상에서 오브젝트의 정보를 추출하며, 사용자로부터 입력된 입력 이벤트 및 오브젝트의 정보를 기반으로 자동화 스크립트를 생성할 수 있다. 또한, 테스트 모듈(204)은 자동화 스크립트를 실행시킴에 따라 자동화 스크립트에 포함된 오브젝트의 정보를 이용하여 웹 브라우저(202) 상에서 상기 오브젝트를 검색하고, 검색된 오브젝트에 자동화 스크립트에 포함된 입력 이벤트를 발생시켜 상기 오브젝트를 동작시킬 수 있다.
또한, 테스트 모듈(204)은 오브젝트 기반의 테스트 자동화를 수행하는 과정에서 오브젝트의 이미지를 획득할 수 있다. 테스트 모듈(204)은 예를 들어, API를 이용하여 상기 오브젝트의 이미지를 획득할 수 있다. 테스트 모듈(204)은 오브젝트 기반의 테스트 자동화를 수행할 때마다 상기 오브젝트의 이미지를 획득할 수 있으며, 이에 따라 대상 솔루션(106)의 업데이트, 변경 등의 이유로 해당 오브젝트의 이미지가 변경되더라도 변경된 오브젝트의 이미지를 획득할 수 있다.
원격 에이전트(206)는 제2 단말(104)과 무선 통신하는 모듈로서, 테스트 모듈(204)을 통해 획득된 오브젝트의 이미지를 제2 단말(104)로 송신한다. 이때, 원격 에이전트(206)는 상기 오브젝트의 이미지와 함께 상기 오브젝트의 입력 이벤트에 관한 정보를 제2 단말(104)로 송신할 수 있다.
도 3은 본 발명의 일 실시예에 따른 제2 단말(104)의 상세 구성을 나타낸 블록도이다. 도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 제2 단말(104)은 원격 에이전트(302) 및 웹 브라우저(304)를 포함한다.
원격 에이전트(302)는 제1 단말(102)의 원격 에이전트(206)로부터 오브젝트의 이미지를 수신한다. 또한, 원격 에이전트(302)는 제1 단말(102)의 원격 에이전트(206)로부터 상기 오브젝트의 입력 이벤트에 관한 정보를 수신할 수 있다.
원격 에이전트(302)는 상기 오브젝트의 이미지 및 상기 오브젝트의 입력 이벤트에 관한 정보를 기반으로 웹 브라우저(304) 상에서 이미지 기반의 테스트 자동화를 수행한다. 구체적으로, 원격 에이전트(302)는 제1 단말(102)로부터 수신한 오브젝트의 이미지를 포함하는 테스트 스크립트를 생성하고, 상기 테스트 스크립트를 실행시켜 웹 브라우저(304) 상에서 상기 오브젝트의 이미지를 검색하고 해당 이미지를 갖는 오브젝트에 입력 이벤트(예를 들어, 키보드 입력, 마우스 클릭 등)를 발생시켜 해당 오브젝트를 동작시킬 수 있다.
웹 브라우저(304)는 인터넷 상의 웹 페이지를 제2 단말(104)의 화면에 표시해 주는 응용 프로그램으로서, 예를 들어 인터넷 익스플로러, 파이어폭스, 크롬 등이 될 수 있다. 상술한 바와 같이, 제1 단말(102) 및 제2 단말(104)은 서로 다른 플랫폼 환경을 가질 수 있다. 예를 들어, 제1 단말(102)의 웹 브라우저(202)는 인터넷 익스플로러일 수 있으며, 제2 단말(104)의 웹 브라우저(304)는 크롬일 수 있다.
도 4는 본 발명의 일 실시예에 따른 솔루션의 테스트 자동화 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
먼저, 제1 단말(102)은 자동화 스크립트를 생성한다(S402). 상기 자동화 스크립트는 웹 브라우저(202) 상에서 오브젝트를 검색하고 검색된 오브젝트에 입력 이벤트를 발생시켜 해당 오브젝트를 동작시키는 데 사용될 수 있다.
다음으로, 제1 단말(102)은 대상 솔루션(106)에 대한 오브젝트 기반의 테스트 자동화를 수행한다(S404). 구체적으로, 제1 단말(102)은 자동화 스크립트를 실행시킴에 따라 제1 단말(102)의 웹 브라우저(202) 상에서 상기 오브젝트의 정보를 이용하여 상기 오브젝트를 검색하고, 검색된 상기 오브젝트에 상기 입력 이벤트를 발생시켜 상기 오브젝트를 동작시킬 수 있다.
다음으로, 제1 단말(102)은 오브젝트 기반의 테스트 자동화를 수행하는 과정에서 오브젝트의 이미지를 획득한다(S406). 제1 단말(102)은 예를 들어, API를 이용하여 상기 오브젝트의 이미지를 획득할 수 있다.
다음으로, 제1 단말(102)은 오브젝트의 이미지를 제2 단말(104)로 송신한다(S408). 이때, 제1 단말(102)은 상기 오브젝트의 이미지와 함께 상기 오브젝트의 입력 이벤트에 관한 정보를 제2 단말(104)로부터 송신할 수 있다.
마지막으로, 제2 단말(104)은 상기 오브젝트의 이미지 및 상기 오브젝트의 입력 이벤트에 관한 정보를 기반으로 이미지 기반의 테스트 자동화를 수행한다(S410). 구체적으로, 제2 단말(104)은 제1 단말(102)로부터 수신한 오브젝트의 이미지를 포함하는 테스트 스크립트를 생성하고, 상기 테스트 스크립트를 실행시켜 웹 브라우저(304) 상에서 상기 오브젝트의 이미지를 검색하고 해당 이미지를 갖는 오브젝트에 상기 입력 이벤트를 발생시켜 해당 오브젝트를 동작시킬 수 있다.
도 5는 도 4의 S402 단계를 구체적으로 설명하기 위한 흐름도이다.
먼저, 제1 단말(102)의 웹 브라우저(202)는 오브젝트에 대한 입력 이벤트를 사용자로부터 입력 받는다(S502). 상기 입력 이벤트는 예를 들어, 상기 오브젝트에 대한 사용자의 마우스 클릭, 키보드 입력 등의 행위일 수 있다.
다음으로, 제1 단말(102)의 테스트 모듈(204)은 사용자로부터 입력된 입력 이벤트에 따라 오브젝트의 정보를 추출한다(S504). 오브젝트의 정보는 예를 들어, 웹 브라우저 상의 오브젝트의 이미지 정보, 위치 정보, 오브젝트의 동작에 따라 수행되는 시나리오 정보 등이 될 수 있다.
마지막으로, 제1 단말(102)의 테스트 모듈(204)은 상기 오브젝트들에 대한 입력 이벤트 및 추출된 상기 오브젝트들의 정보를 포함하는 자동화 스크립트를 생성한다(S506).
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 솔루션의 테스트 자동화 시스템
102 : 제1 단말
104 : 제2 단말
106 : 대상 솔루션
202, 304 : 웹 브라우저
204 : 테스트 모듈
206, 302 : 원격 에이전트

Claims (12)

  1. 대상 솔루션의 오브젝트를 동작시키는 데 사용되는 자동화 스크립트를 생성하고, 상기 자동화 스크립트를 실행시켜 오브젝트 기반의 테스트 자동화를 수행함에 따라 상기 오브젝트의 이미지를 획득하는 제1 단말; 및
    상기 제1 단말로부터 상기 오브젝트의 이미지를 수신하고, 상기 오브젝트의 이미지를 이용하여 상기 대상 솔루션에 대한 이미지 기반의 테스트 자동화를 수행하는 제2 단말을 포함하는, 솔루션의 테스트 자동화 시스템.
  2. 청구항 1에 있어서,
    상기 제1 단말은, 상기 오브젝트에 대한 입력 이벤트를 사용자로부터 입력 받고, 상기 사용자로부터 입력된 입력 이벤트에 따라 상기 오브젝트의 정보를 추출하며, 상기 사용자로부터 입력된 입력 이벤트 및 상기 오브젝트의 정보를 기반으로 상기 자동화 스크립트를 생성하는, 솔루션의 테스트 자동화 시스템.
  3. 청구항 2에 있어서,
    상기 제1 단말은, 상기 자동화 스크립트를 실행시킴에 따라 상기 제1 단말의 웹 브라우저 상에서 상기 오브젝트의 정보를 이용하여 상기 오브젝트를 검색하고, 검색된 상기 오브젝트에 상기 입력 이벤트를 발생시켜 상기 오브젝트를 동작시킴으로써 오브젝트 기반의 테스트 자동화를 수행하는, 솔루션의 테스트 자동화 시스템.
  4. 청구항 1에 있어서,
    상기 제2 단말은, 상기 제2 단말의 웹 브라우저 상에서 상기 오브젝트의 이미지를 검색하고, 상기 오브젝트의 이미지를 갖는 오브젝트에 입력 이벤트를 발생시켜 상기 오브젝트를 동작시킴으로써 상기 이미지 기반의 테스트 자동화를 수행하는, 솔루션의 테스트 자동화 시스템.
  5. 청구항 1에 있어서,
    상기 제1 단말 및 상기 제2 단말은, 서로 다른 운영체제(OS) 환경을 갖는, 솔루션의 테스트 자동화 시스템.
  6. 청구항 1에 있어서,
    상기 제1 단말 및 상기 제2 단말은, 서로 다른 웹 브라우저 환경을 갖는, 솔루션의 테스트 자동화 시스템.
  7. 제1 단말에서, 대상 솔루션의 오브젝트를 동작시키는 데 사용되는 자동화 스크립트를 생성하는 단계;
    상기 제1 단말에서, 상기 자동화 스크립트를 실행시켜 오브젝트 기반의 테스트 자동화를 수행함에 따라 상기 오브젝트의 이미지를 획득하는 단계;
    제2 단말에서, 상기 제1 단말로부터 상기 오브젝트의 이미지를 수신하는 단계; 및
    상기 제2 단말에서, 상기 오브젝트의 이미지를 이용하여 상기 대상 솔루션에 대한 이미지 기반의 테스트 자동화를 수행하는 단계를 포함하는, 솔루션의 테스트 자동화 방법.
  8. 청구항 7에 있어서,
    상기 자동화 스크립트를 생성하는 단계는, 상기 오브젝트에 대한 입력 이벤트를 사용자로부터 입력 받고, 상기 사용자로부터 입력된 입력 이벤트에 따라 상기 오브젝트의 정보를 추출하며, 상기 사용자로부터 입력된 입력 이벤트 및 상기 오브젝트의 정보를 기반으로 상기 자동화 스크립트를 생성하는, 솔루션의 테스트 자동화 방법.
  9. 청구항 8에 있어서,
    상기 자동화 스크립트를 생성하는 단계 이후,
    상기 제1 단말에서, 상기 자동화 스크립트를 실행시킴에 따라 상기 제1 단말의 웹 브라우저 상에서 상기 오브젝트의 정보를 이용하여 상기 오브젝트를 검색하는 단계; 및
    상기 제1 단말에서, 검색된 상기 오브젝트에 상기 입력 이벤트를 발생시 켜 상기 오브젝트를 동작시킴으로써 오브젝트 기반의 테스트 자동화를 수행하는 단계를 더 포함하는, 솔루션의 테스트 자동화 방법.
  10. 청구항 7에 있어서,
    상기 이미지 기반의 테스트 자동화를 수행하는 단계는, 상기 제2 단말의 웹 브라우저 상에서 상기 오브젝트의 이미지를 검색하고, 상기 오브젝트의 이미지를 갖는 오브젝트에 입력 이벤트를 발생시켜 상기 오브젝트를 동작시킴으로써 상기 이미지 기반의 테스트 자동화를 수행하는, 솔루션의 테스트 자동화 방법.
  11. 청구항 7에 있어서,
    상기 제1 단말 및 상기 제2 단말은, 서로 다른 운영체제(OS) 환경을 갖는, 솔루션의 테스트 자동화 방법.
  12. 청구항 7에 있어서,
    상기 제1 단말 및 상기 제2 단말은, 서로 다른 웹 브라우저 환경을 갖는, 솔루션의 테스트 자동화 방법.
KR1020150147923A 2015-10-23 2015-10-23 솔루션의 테스트 자동화 시스템 및 방법 KR102296897B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150147923A KR102296897B1 (ko) 2015-10-23 2015-10-23 솔루션의 테스트 자동화 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150147923A KR102296897B1 (ko) 2015-10-23 2015-10-23 솔루션의 테스트 자동화 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20170047605A KR20170047605A (ko) 2017-05-08
KR102296897B1 true KR102296897B1 (ko) 2021-08-31

Family

ID=60163728

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150147923A KR102296897B1 (ko) 2015-10-23 2015-10-23 솔루션의 테스트 자동화 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102296897B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102017473B1 (ko) * 2018-12-27 2019-09-03 넷마블 주식회사 컨텐츠를 테스트하는 방법 및 그 방법을 수행하는 서버
KR102299657B1 (ko) * 2019-12-19 2021-09-07 주식회사 포스코아이씨티 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205406A1 (en) * 2000-05-12 2004-10-14 Marappa Kaliappan Automatic test system for testing remote target applications on a communication network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101092661B1 (ko) * 2009-03-05 2011-12-13 한국전자통신연구원 웹 콘텐츠의 브라우저 호환성 검사 방법 및 그 장치
KR101491848B1 (ko) 2013-06-19 2015-02-11 주식회사 큐에이엔씨 스크립트 유지보수 기능을 갖는 gui 소프트웨어 테스트 자동화 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205406A1 (en) * 2000-05-12 2004-10-14 Marappa Kaliappan Automatic test system for testing remote target applications on a communication network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
김성빈 외, 'GUI 기반 기능 테스트 자동화 스크립트의 재사용성 향상 기법', 2014.04.
한영근 외, '모바일 어플리케이션의 테스팅 자동화 기술 수준 및 사례 연구', 2015.03.

Also Published As

Publication number Publication date
KR20170047605A (ko) 2017-05-08

Similar Documents

Publication Publication Date Title
CN106569900B (zh) 应用程序处理方法和装置
US10169206B2 (en) Simultaneous multi-platform testing
US8171406B1 (en) Automating user interface navigation
US20160062876A1 (en) Automated software change monitoring and regression analysis
US20150370688A1 (en) Automatic updating of graphical user interface element locators based on dimension comparison
US9143966B2 (en) Remote access to a wireless device
US20130275946A1 (en) Systems and methods for test development process automation for a test harness
US20150370694A1 (en) Automatic updating of graphical user interface element locators based on image comparison
US10152405B2 (en) Application testing system and method
US20220044076A1 (en) Method and apparatus for updating user image recognition model
US10705858B2 (en) Automatic import of third party analytics
CN112835579B (zh) 确定界面代码的方法、装置、电子设备和存储介质
EP3016012A1 (en) Method and device for marking terminal
US20130086138A1 (en) Implementing a java method
US20230153229A1 (en) Method of testing performance, electronic device, and computer-readable medium
CN111597114A (zh) 小程序的验证方法、装置、设备及存储介质
US9571557B2 (en) Script caching method and information processing device utilizing the same
US20160034378A1 (en) Method and system for testing page link addresses
KR102296897B1 (ko) 솔루션의 테스트 자동화 시스템 및 방법
EP3709200B1 (en) Determining security risks in binary software code based on network protocols
CN111143001A (zh) 终端的语言检测方法、用户设备、存储介质及装置
KR101753314B1 (ko) 이미지 매칭 학습을 이용한 어플리케이션 테스트 방법 및 이를 수행하기 위한 장치
CN113836045A (zh) 接口自动化断言的逻辑生成方法、装置及存储介质
CN111414525B (zh) 小程序的数据获取方法、装置、计算机设备和存储介质
KR20180131132A (ko) 이미지 매칭 방법 및 이를 수행하기 위한 장치

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