KR20160100094A - 스크립트를 이용한 자동 테스트 방법 및 시스템 - Google Patents

스크립트를 이용한 자동 테스트 방법 및 시스템 Download PDF

Info

Publication number
KR20160100094A
KR20160100094A KR1020150022624A KR20150022624A KR20160100094A KR 20160100094 A KR20160100094 A KR 20160100094A KR 1020150022624 A KR1020150022624 A KR 1020150022624A KR 20150022624 A KR20150022624 A KR 20150022624A KR 20160100094 A KR20160100094 A KR 20160100094A
Authority
KR
South Korea
Prior art keywords
test
script
user
interface
user terminal
Prior art date
Application number
KR1020150022624A
Other languages
English (en)
Other versions
KR101698029B1 (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 KR1020150022624A priority Critical patent/KR101698029B1/ko
Publication of KR20160100094A publication Critical patent/KR20160100094A/ko
Application granted granted Critical
Publication of KR101698029B1 publication Critical patent/KR101698029B1/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/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof

Landscapes

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

Abstract

본 발명은 스크립트를 이용한 자동 테스트 방법 및 시스템에 관한 것이다. 본 발명의 제 1 측면에 따르면 사용자단말을 포함하며 테스트를 수행하는 시스템에 있어서, 상기 사용자단말은, 상기 테스트를 수행하는 테스트장치를 동작시키기 위한 일련의 명령을 포함하는 스크립트를 생성하기 위한 작성인터페이스를 제공하는 스크립트생성부, 상기 테스트장치를 원격으로 제어할 수 있도록 상기 테스트장치의 사용자인터페이스를 구현한 장치인터페이스를 제공하고, 상기 스크립트를 상기 테스트장치에서 수행한 결과를 상기 장치인터페이스를 통해 제공하는 장치화면제공부, 상기 스크립트에 따른 테스트를 수행하는 테스트장치의 제어 조건인 테스트조건을 사용자로부터 입력받는 테스트설정부 및 원격으로 연결된 테스트장치에서 상기 스크립트가 수행되도록 상기 스크립트를 송신하고, 상기 테스트장치에서 수행된 스크립트에 대한 결과를 수신하는 통신부를 포함할 수 있다.

Description

스크립트를 이용한 자동 테스트 방법 및 시스템 {SYSTEM AND METHOD FOR AUTOMATIC APPLICATION TEST USING SCRIPT}
본 발명은 스크립트를 이용한 자동 테스트 방법 및 시스템에 관한 것으로, 보다 상세하게는 하나 이상의 테스트 명령이 포함된 스크립트를 사용자가 GUI(Graphic User Interface)를 통해 사용자단말에서 생성하고, 생성된 스크립트를 네트워크를 통해 원격의 테스트서버로 전송하여 테스트서버와 연결된 하나 이상의 장치에서 스크립트에 따라 테스트를 수행하는 방법 및 시스템에 관한 것이다.
최근 들어 다양한 OS(Operating System)를 탑재한 여러 종류의 스마트폰이 출시되고 있으며, 특히 안드로이드(Android®) OS 를 탑재한 다양한 종류의 스마트폰이 시장에서 사용되고 있다.
이러한 스마트폰의 보급에 따라 스마트폰에서 구동될 수 있는 다양한 애플리케이션이 개발되고 있다.
이러한 애플리케이션을 개발하는 과정에는 실제 스마트폰에 애플리케이션을 설치하고 구동하여, 실제 사용과정에서 발생할 수 있는 문제점을 찾는다.
이때 같은 종류의 OS 를 쓰는 스마트폰이어도 사양과 특성이 서로 상이하기 때문에 애플리케이션을 테스트하기 위해서 일반적으로 다양한 종류의 스마트폰에 애플리케이션을 직접 설치하여 테스트한다.
하지만 이러한 테스트를 하기 위해선 다양한 종류의 스마트폰을 직접 구매해야 하고, 각 스마트폰 마다 사용자가 테스트를 직접 수행해야만 하는 문제점이 있다.
이에 대하여 한국공개특허공보 10-2014-0131590 호는 애플리케이션 프로그래밍 인터페이스 테스팅 서비스에 관한 것으로, 오리진(origin) 데이터 센터에서 서비스에 의해 사용되는 복수의 애플리케이션 프로그래밍 인터페이스 콜들을 결정하고, 각 콜을 테스트 세그먼트로 변환하여 복수의 테스트 세그먼트들을 생성하여, 타겟 데이터 센터에 대한 애플리케이션 프로그래밍 인터페이스 테스트 모듈을 형성한다. 그러나 상기 공개특허문헌에 개시된 기술은 상술된 문제점을 해결하지 못한다.
따라서 상술된 문제점을 해결하기 위한 기술이 필요하게 되었다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 일실시예는 사용자가 사용자단말을 이용하여 테스트장치가 연결된 서버에 접속하여 원격으로 테스트장치를 이용하여 GUI를 통한 스크립트를 작성할 수 있도록 하는 데에 목적이 있다.
또한, 본 발명의 일실시예는 사용자가 테스트장치가 연결된 서버에 원격으로 접속하여 작성중인 스크립트를 서버에 연결된 테스트장치에서 원격으로 실행할 수 있도록 함으로써 실시간으로 테스트장치에서 실행된 스크립트의 결과화면을 확인하여 작성중인 스크립트에 대한 디버깅(Debugging)을 수행할 수 있도록 하는데에 목적이 있다.
또한, 본 발명의 일실시예는 사용자단말이 하나 이상의 테스트장치가 연결된 서버에 접속하여, 사용자단말에서 원격으로 사용자가 작성한 스크립트를 서버로 전송하여 원격으로 하나 이상의 테스트장치에서 동시 또는 이시에 스크립트를 수행하도록 하여 테스트를 수행하도록 하는데 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따르면 사용자단말을 포함하며 테스트를 수행하는 시스템에 있어서, 상기 사용자단말은, 상기 테스트를 수행하는 테스트장치를 동작시키기 위한 일련의 명령을 포함하는 스크립트를 생성하기 위한 작성인터페이스를 제공하는 스크립트생성부, 상기 테스트장치를 원격으로 제어할 수 있도록 상기 테스트장치의 사용자인터페이스를 구현한 장치인터페이스를 제공하고, 상기 스크립트를 상기 테스트장치에서 수행한 결과를 상기 장치인터페이스를 통해 제공하는 장치화면제공부, 상기 스크립트에 따른 테스트를 수행하는 테스트장치의 제어 조건인 테스트조건을 사용자로부터 입력받는 테스트설정부 및 원격으로 연결된 테스트장치에서 상기 스크립트가 수행되도록 상기 스크립트를 송신하고, 상기 테스트장치에서 수행된 스크립트에 대한 결과를 수신하는 통신부를 포함할 수 있다.
본 발명의 제 2 측면에 따르면 테스트를 수행하는 시스템에 포함되는 사용자단말이 상기 테스트를 수행하는 방법에 있어서, 상기 테스트장치의 사용자인터페이스를 가상으로 구현한 장치인터페이스를 제공하는 단계, 상기 테스트를 수행하는 테스트장치를 동작시키기 위한 일련의 명령을 포함하는 스크립트를 생성하기 위한 작성인터페이스를 제공하는 단계, 상기 스크립트에 따른 테스트를 수행하는 테스트장치의 제어 조건인 테스트조건을 사용자로부터 입력받는 단계, 원격으로 연결된 테스트장치에서 상기 스크립트가 수행되도록 상기 스크립트를 송신하는 단계 및 상기 테스트장치에서 수행된 스크립트에 대한 결과를 수신하여, 상기 장치인터페이스를 통해 제공하는 단계를 포함할 수 있다.
본 발명의 제 3 측면에 따르면, 사용자단말과 통신하고 상기 시스템에 포함되는 테스트서버가 테스트를 수행하는 방법에 있어서, 상기 사용자단말로부터 수신한 스크립트를 저장하는 단계, 하나 이상의 테스트장치에서 상기 스크립트에 따른 테스트를 수행하기 위해 상기 하나 이상의 테스트장치를 각각 제어하는 단계 및 상기 스크립트에 따라 상기 하나 이상의 테스트장치에서 수행된 테스트에 대한 결과를 제공하는 단계를 포함할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 사용자가 사용자단말을 이용하여 테스트장치가 연결된 서버에 접속하여 원격으로 테스트장치를 이용하여 GUI를 통한 스크립트를 작성할 수 있다.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 사용자가 테스트장치가 연결된 서버에 원격으로 접속하여 작성중인 스크립트를 서버에 연결된 테스트장치에서 원격으로 실행할 수 있도록 함으로써 실시간으로 테스트장치에서 실행된 스크립트의 결과화면을 확인하여 작성중인 스크립트에 대한 디버깅(Debugging)을 수행할 수 있다.
그리고 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 사용자단말이 하나 이상의 테스트장치가 연결된 서버에 접속하여, 사용자단말에서 원격으로 사용자가 작성한 스크립트를 서버로 전송하여 원격으로 하나 이상의 테스트장치에서 동시 또는 이시에 스크립트를 수행하도록 하여 테스트를 수행할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1 은 본 발명의 일실시예에 따른 테스트시스템에 대한 구성도이다.
도 2 는 본 발명의 일실시예에 따른 사용자단말의 구성을 도시한 블록도이다.
도 3 는 본 발명의 일실시예에 따른 테스트서버의 구성을 도시한 블록도이다.
도 4 는 본 발명의 일실시예에 따른 테스트서버가 수행하는 테스트방법을 설명하기 위한 순서도이다.
도 5 는 본 발명의 일실시예에 따른 사용자단말이 수행하는 테스트방법을 설명하기 위한 순서도이다.
도 6 내지 도 9 는 본 발명의 일실시예에 따른 사용자단말이 수행하는 테스트방법을 설명하기 위한 예시도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
다만 이를 설명하기에 앞서, 아래에서 사용되는 용어들의 의미를 먼저 정의한다.
본 발명에서 ‘테스트’ 란 애플리케이션을 검증하기 위한 과정으로 예를 들어, 애플리케이션을 스크립트에 따라 구동하고 그 결과를 확인함으로써 애플리케이션이 정상적으로 동작하는지 여부를 검증할 수 있다.
그리고 이와 같이 애플리케이션을 테스트하기 위해 애플리케이션이 설치되는 장치를 ‘테스트장치’라 한다.
그리고 ‘장치인터페이스’는 테스트장치의 사용자인터페이스를 구성하는 각 객체의 모습과 기능을 동일하게 구현한 것으로, 테스트장치의 사용자인터페이스를 통해 표시되는 결과 화면을 표시할 수 있다.
그리고 테스트장치에서 애플리케이션을 자동으로 테스트하기 위해 테스트장치의 동작을 실행시키는 명령어가 하나 이상 나열된 자동파일을 ‘스크립트’라고 한다.
도 1은 본 발명의 일실시예에 따른 테스트시스템(100)을 설명하기 위한 구성도이다.
우선, 테스트시스템(100)의 각 구성은 네트워크(N)를 이용하여 통신할 수 있고, 이러한 네트워크(N)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 개인 근거리 무선통신(Personal Area Network; PAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet), Mobile WiMAX, HSDPA(High Speed Downlink Packet Access) 또는 위성 통신망 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.
그리고 사용자단말(10)은 네트워크(N)를 통해 원격지의 서버에 접속하거나, 타 단말 및 서버와 연결 가능한 컴퓨터나 휴대용 단말기, 텔레비전, 웨어러블 디바이스(Wearable Device) 등으로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), GSM(Global System for Mobile communications), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), 스마트폰(Smart Phone), 모바일 WiMAX(Mobile Worldwide Interoperability for Microwave Access) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, 텔레비전은 IPTV(Internet Protocol Television), 인터넷 TV(Internet Television), 지상파 TV, 케이블 TV 등을 포함할 수 있다. 나아가 웨어러블 디바이스는 예를 들어, 시계, 안경, 액세서리, 의복, 신발 등 인체에 직접 착용 가능한 타입의 정보처리장치로서, 직접 또는 다른 정보처리장치를 통해 네트워크를 경유하여 원격지의 서버에 접속하거나 타 단말과 연결될 수 있다.
이러한 사용자단말(10)은 입출력부를 포함하고 있어 입출력부를 통해 테스트를 수행하기 위한 스크립트를 작성할 수 있는 작성인터페이스를 사용자에게 제공할 수 있으며, 작성된 스크립트를 테스트장치에서 수행되도록 후술할 테스트서버(20)로 전송할 수 있으며, 테스트장치에 대한 장치인터페이스를 통해 스크립트에 의해 실행된 테스트 결과를 제공할 수 있다.
즉, 사용자단말(10)은 후술할 테스트서버(20)에 연결된 복수의 테스트장치(21)에 원격으로 연결될 수 있고, 원격으로 연결된 테스트장치(21)를 이용하여 스크립트를 작성할 수 있으며, 작성중인 스크립트를 테스트장치(21)를 통해 실행하여 실행 결과를 사용자에게 제공할 수 있고, 제공된 결과에 기초하여 스크립트를 디버깅(Debugging)할 수 있도록 하는 인터페이스를 제공할 수 있다.
이를 위해 사용자단말(10)은 장치인터페이스가 구현되고, 스크립트를 작성할 수 있는 작성인터페이스를 제공하는 애플리케이션이 설치될 수 있으며, 사용자단말(10)은 후술할 테스트서버(20), 제 3 서버(미도시) 또는 앱스토어(app store) 중 적어도 하나로부터 다운로드할 수 있다.
한편, 테스트시스템(100)에는 하나 이상의 사용자단말(10)이 포함될 수 있으나, 그 역할이 동일하고 주체만이 상이하므로 설명의 편의를 위해 하나의 사용자단말(10)만을 기준으로 이하에서 설명한다.
그리고 테스트서버(20)는 범용성있는 컴퓨터로 구현될 수 있으며, 네트워크(N)에 연결되어 사용자단말(10)과 통신할 수 있고, 네트워크(N)를 통해 사용자단말(10)로부터 수신된 스크립트 또는 사용자입력을 저장할 수 있는 저장장치가 구비될 수 있으며, 후술할 하나 이상의 테스트장치(21)와 시리얼포트(Serial port), USB(Universe Serial Bus) 또는 네트워크(N) 등을 통해 직접 연결될 수 있다.
이러한 테스트서버(20)는 사용자단말(10)로 장치인터페이스가 구현되고 스크립트를 작성할 수 있는 애플리케이션을 제공할 수 있으며, 사용자단말(10)로부터 수신된 스크립트 또는 사용자입력에 기초하여 직접 연결된 하나 이상의 테스트장치(21)를 제어하여 애플리케이션을 테스트할 수 있으며, 하나 이상의 테스트장치(21)로부터 테스트 결과를 수집할 수 있고, 수집된 테스트 결과를 사용자단말(10)로 전송하거나 저장할 수 있다.
그리고 테스트서버(20)와 연결된 테스트장치(21)는 사용자단말(10)에 의해 제공되거나 또는 제 3 의 서버를 통해 제공되며, 테스트될 애플리케이션이 설치되어 구동할 수 있으며, 테스트서버(20)의 제어에 따라 구동된 애플리케이션을 테스트할 수 있다.
예를 들어, 테스트장치(21)는 스크립트에 따른 테스트서버(20)의 제어에 따라 애플리케이션의 각 기능을 실행함으로써 애플리케이션을 테스트할 수 있다.
이하에서는, 사용자단말(10)을 설명하기 위해 도 2 를 참조하여 사용자단말(10)의 각 구성을 설명한다.
우선 사용자단말(10)의 스크립트생성부(110)는 사용자단말(10)과 원격으로 연결되어 테스트를 수행하는 테스트장치(21)를 통해 테스트를 수행하기 위한 일련의 명령을 포함하는 스크립트를 생성하기 위한 작성인터페이스를 제공할 수 있다.
즉, 스크립트생성부(110)는 후술할 통신부(150)를 통해 원격으로 연결되는 테스트장치(21)를 이용하여 스크립트를 작성할 수 있으며, 예를 들어, 스크립트생성부(110)는 사용자가 작성인터페이스를 통해 작성중인 스크립트에 포함되는 각 명령에 대해 원격으로 연결된 테스트장치(21)에서 수행되도록 할 수 있고, 테스트장치(21)로부터 수신된 결과를 작성인터페이스를 통해 사용자에게 제공함으로써 사용자가 수신된 결과에 기초하여 작성중인 스크립트를 디버깅할 수 있도록 할 수 있다.
하나의 실시예로, 스크립트생성부(110)는 사용자에게 테스트장치(21)가 특정 동작을 수행하도록 하는 명령어를 포함하는 스크립트를 적어도 하나 이상 제공할 수 있고, 사용자에 의해 선택된 서로 다른 스크립트를 하나의 스크립트로 생성할 수 있다.
예를 들어, 스크립트생성부(110)는 테스트장치(21)의 연락처를 불러오는 동작, 연락처를 수정하는 동작 또는 연락처를 저장하는 동작을 각각 수행하도록 하는 명령어를 각각 포함하는 서로 다른 스크립트를 리스트형태로 작성인터페이스를 통해 사용자에게 제공할 수 있고, 사용자로부터 선택된 적어도 하나 이상의 스크립트를 병합함으로써 연락처를 불러와 수정하고, 수정한 연락처를 저장하는 동작을 수행하도록 하는 하나의 스크립트를 생성할 수 있다.
다른 실시예로, 스크립트생성부(110)는 장치인터페이스를 통해 입력되는 사용자입력을 기초로 스크립트를 생성할 수 있다.
즉, 스크립트생성부(110)는 장치인터페이스를 통해 표시되는 하나 이상의 객체의 선택과 선택된 객체에 대한 사용자입력을 포함하는 일련의 사용자입력 과정을 스크립트로 생성할 수 있다.
예를 들어, 사용자가 장치인터페이스를 통해 ‘주소록’ 객체를 선택하고, 선택에 의해 실행된 ‘주소록’에 사용자가 ‘홍길동’을 입력하여 저장하면, 스크립트생성부(110)는 장치인터페이스를 통해 입력된 사용자입력인 ‘주소록’ 객체의 선택과 ‘홍길동’ 입력 그리고 저장을 수행하는 과정을 스크립트로 생성할 수 있다.
또 다른 실시예에 따르면, 스크립트생성부(110)는 하나 이상 제공된 스크립트의 선택 및 장치인터페이스를 통해 입력된 사용자입력을 종합하여 하나의 스크립트를 생성할 수 있다.
예를 들어, 스크립트생성부(110)는 사용자로부터 하나 이상의 스크립트를 선택받을 수 있고, 선택된 스크립트를 하나의 스크립트로 생성할 수 있고, 이어서 사용자가 장치인터페이스에서 객체를 선택하면, 선택된 객체가 수행하는 동작을 추가하여 하나의 스크립트를 생성할 수 있다.
그리고 스크립트생성부(110)는 사용자가 스크립트를 작성하는 과정에서 후술할 통신부(150)를 통해 작성중인 스크립트를 테스트서버(20)로 전송하여 테스트장치(21)에서 스크립트가 수행되도록 할 수 있고, 수행된 테스트 결과에 기초하여 작성중인 스크립트를 수정할 수 있도록 장치화면제공부(120)를 통해 제공되도록 할 수 있다.
그리고 장치화면제공부(120)는 사용자에게 테스트장치(21)의 사용자인터페이스를 가상으로 구현한 장치인터페이스를 제공할 수 있고, 제공된 장치인터페이스를 통해 원격으로 연결된 테스트장치(21)를 제어할 수 있으며, 또는 테스트장치(21)에서 스크립트에 따라 수행된 테스트 결과화면을 장치인터페이스를 통해 제공할 수 있다.
예를 들어, 장치화면제공부(120)는 테스트장치(21)의 디스플레이에 출력되는 사용자인터페이스와 동일한 장치인터페이스를 사용자단말(10)의 화면을 통해 표시할 수 있고, 스크립트 또는 사용자입력에 기초하여 테스트장치(21)에서 수행된 애플리케이션의 테스트 결과인 테스트장치(21)의 화면을 장치인터페이스를 통해 표시할 수 있다.
또한 예를 들어, 장치화면제공부(120)는 장치인터페이스를 통해 표시된 하나 이상의 객체 중 사용자가 선택한 객체의 동작을 스크립트생성부(110)로 전달하여 스크립트가 생성되도록 할 수 있다.
그리고 예를 들어, 장치화면제공부(120)는 장치인터페이스를 통해 입력되는 사용자입력을 후술할 통신부(150)를 통해 원격으로 연결된 테스트장치(21)로 전송할 수 있고, 사용자입력에 따라 테스트장치(21)가 제어되도록 할 수 있다.
한편, 장치이미지제공부(130)는 테스트장치(21)를 통해 표시되는 사용자인터페이스를 캡처한 이미지인 하나 이상의 장치화면이미지를 상기 스크립트에 따라 표시하는 이미지인터페이스를 제공할 수 있다.
즉, 장치이미지제공부(130)는 원격으로 연결된 테스트장치(21)에서 스크립트에 포함된 명령의 수행결과가 네트워크(N)를 통해 수신됨에 따라 테스트장치(21)의 결과가 지연되어 표시되는 것을 보완하기 위해, 장치이미지제공부(130)는 기 저장된 장치화면이미지를 스크립트에 포함된 각 명령의 수행순서에 따라 테스트장치(21)의 화면으로써 이미지인터페이스에 표시할 수 있다.
예를 들어, 장치이미지제공부(130)는 스크립트 작성을 위해 입력되는 사용자입력에 따라 이미지인터페이스에 사용자입력이 수행된 테스트장치(21)의 화면을 캡처한 장치화면이미지를 표시할 수 있다.
한편, 테스트설정부(140)는 원격으로 연결된 테스트장치(21)에서 스크립트를 수행하기 위한 테스트조건을 사용자로부터 입력받을 수 있다.
예를 들어, 테스트설정부(140)는 사용자가 작성인터페이스를 통해 입력 중인 스크립트에 대해 디버깅을 수행할 수 있도록 원격으로 연결된 테스트장치(21)를 통해 스크립트에 포함된 각 명령을 수행함과 동시에 수행결과가 제공되도록 설정할 수 있다.
또는 예를 들어, 테스트설정부(140)는 원격으로 연결된 테스트장치(21) 중 작성이 완료된 스크립트를 실행할 테스트장치(21)의 종류와 테스트장치(21)의 수 그리고 스크립트를 반복 실행할 횟수 등을 설정받을 수 있다.
그리고 통신부(150)는 장치인터페이스를 통해 입력되는 사용자입력 및 상기 스크립트 중 적어도 하나를, 원격으로 연결된 테스트장치(21)에서 수행될 수 있도록 후술할 테스트서버(20)로 전송할 수 있고, 테스트장치(21)에서 수행된 테스트 결과를 테스트서버(20)로부터 수신할 수 있다.
또한, 통신부(150)는 테스트설정부(140)를 통해 입력된 테스트조건을 테스트서버(20)로 전송하여 원격으로 연결된 테스트장치(21)를 제어하도록 할 수 있다.
예를 들어, 통신부(150)는 작성 중이거나 또는 작성된 스크립트에 따라 애플리케이션 테스트가 테스트장치(21)에서 수행되도록 스크립트를 테스트서버(20)로 전송할 수 있고, 테스트장치(21)에서 수행된 테스트 결과를 테스트서버(20)로부터 수신하여 장치화면제공부(120)를 통해 사용자단말(10)에 표시되도록 할 수 있다.
이하에서는 테스트서버(20)를 설명하기 위해 도 3 을 참조하여 테스트서버(20)의 각 구성을 설명한다.
우선, 스크립트관리부(210)는 사용자단말(10)로부터 수신된 스크립트를 관리할 수 있다.
예를 들어, 스크립트관리부(210)는 사용자단말(10)로부터 수신된 스크립트를 저장할 수 있고, 각 사용자단말(10)의 식별정보에 따라 저장된 스크립트를 분류하여 관리할 수 있다.
또한, 스크립트관리부(210)는 사용자단말(10)의 요청에 따라 기 저장된 스크립트를 사용자단말(10)로 제공할 수 있으며, 제공된 스크립트가 변경된 경우, 스크립트관리부(210)는 실시예에 따라, 기 저장된 스크립트를 갱신하거나 또는 별도로 저장할 수 있다.
그리고 실시예에 따라, 테스트서버(20)에 사용자단말(10)의 계정을 관리할 수 있는 계정관리부(미도시)가 선택적으로 포함될 수 있다.
예를 들어, 계정관리부(미도시)는 테스트장치(21)를 이용하여 테스트를 수행하려 하는 하나 이상의 사용자단말(10)의 계정을 생성하여 관리할 수 있으며, 스크립트관리부(210)에 사용자단말(10)로부터 수신되어 저장된 스크립트를 각 사용자단말(10)의 계정과 매칭할 수 있다.
또한, 계정관리부(미도시)는 후술할 테스트이력부(230)에 저장된 사용자단말(10)별 테스트 결과를 사용자단말(10)의 계정과 매칭하여 관리할 수 있다.
이를 통해, 계정관리부(미도시)는 네트워크를 통해 테스트서버(20)에 접속하는 사용자단말(10)로 작성되었거나 또는 작성중인 스크립트를 제공할 수 있고, 테스트장치(21)를 통해 기 수행된 테스트 이력을 제공할 수 있다.
한편, 장치제어부(220)는 하나 이상의 테스트장치(21)에서 동시 또는 이시에 테스트를 수행할 수 있도록 하나 이상의 테스트장치(21)를 각각 제어할 수 있다.
하나의 실시예에 따라, 장치제어부(220)는 사용자단말(10)로부터 수신된 테스트조건, 예를 들어 스크립트에 따라 테스트를 수행할 테스트장치(21)의 수, 테스트의 수행횟수 또는 테스트 수행시각 등에 기초하여 테스트장치(21)를 제어할 수 있다.
예를 들어, 장치제어부(220)는 사용자단말(10)로부터 수신된 테스트조건에 기초하여, 하나의 테스트장치(21)에서 스크립트에 따라 테스트를 반복하여 수행하도록 제어하거나 또는 복수의 테스트장치(21)에서 스크립트에 따라 테스트를 1회 수행하도록 제어할 수 있다.
또 다른 실시예에 따라, 장치제어부(220)는 사용자의 요청에 따라 하나 이상의 테스트장치(21)에서 스크립트에 포함된 하나 이상의 명령 각각을 수행하도록 제어하여 각 명령에 대한 테스트 결과가 출력되도록 제어할 수 있다.
예를 들어, 장치제어부(220)는 사용자에 의해 작성된 스크립트에 포함된 하나 이상의 명령 사이에 중단문(Break point)를 임시적으로 넣어 테스트장치(21)에서 하나 명령을 실행하고, 실행된 명령에 따른 테스트 결과, 예를 들어 스크립트에 포함된 명령의 오류 또는 명령 수행의 성공 여부 등이 출력되도록 제어할 수 있다.
이를 통해, 사용자는 스크립트에 포함된 각 명령에 대한 테스트 결과에 기초하여 스크립트를 디버깅할 수 있다.
그리고 테스트이력부(230)는 스크립트에 따라 하나 이상의 테스트장치(21)에서 수행된 테스트에 대한 결과를 제공할 수 있다.
하나의 실시예에 따라, 테스트이력부(230)는 스크립트에 따른 테스트 결과를 누적하여 관리할 수 있고, 테스트 결과를 온라인 상으로 열람할 수 있도록 게시하거나 또는 사용자단말(10)로 제공할 수 있다.
예를 들어, 테스트이력부(230)는 각 스크립트에 포함된 하나 이상의 명령 각각에 대한 테스트 결과로 해당 명령에 대한 진행횟수와 해당 명령의 수행완료여부 등이 나타난 테스트 결과를 웹을 통해 제공할 수 있다.
다른 실시예에 따라, 테스트이력부(230)는 장치제어부(220)를 통해 제어되는 테스트장치(21)로부터 스크립트를 수행한 결과화면을 제공받을 수 있고, 제공된 결과화면을 사용자단말(10)로 제공할 수 있다.
예를 들어, 테스트이력부(230)는 스크립트에 포함된 하나 이상의 명령 각각에 대한 테스트를 수행하여 나타난 각 명령에 대한 결과화면을 사용자단말(10)로 각각 제공할 수 있거나 또는 스크립트에 포함된 모든 명령에 대한 테스트 수행이 완료된 다음에 최종 결과화면만을 사용자단말(10)로 제공할 수도 있다.
이렇게 제공된 테스트장치(21)의 테스트 결과화면을 통해 사용자는 사용자단말(10)에서 스크립트에 따른 테스트의 수행 결과를 즉시 알 수 있어 스크립트 디버깅의 편의성을 높일 수 있다.
도 4 내지 5 에 도시된 실시예에 따른 테스트방법은 도 2 내지 도 3 에 도시된 테스트장치(21)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 2 내지 도 3 에 도시된 시스템(100)에 관하여 이상에서 기술한 내용은 도 4 내지 도 5 에 도시된 실시예에 따른 테스트방법에도 적용될 수 있다.
도 4 는 테스트시스템(100)의 테스트서버(20)가 테스트를 수행하는 방법에 대한 순서도로 이를 참조하여 테스트방법을 설명한다.
우선 테스트시스템(100)의 테스트서버(20)는 사용자단말(10)과 원격으로 연결된 테스트장치(21)를 이용하여 작성된 스크립트를 사용자단말(10)로부터 수신할 수 있다(S4001).
예를 들어, 테스트서버(20)는 사용자단말(10)로부터 하나 이상의 명령이 포함된 스크립트를 수신하거나 또는 사용자단말(10)의 장치인터페이스를 통해 입력되는 사용자입력에 따라 테스트장치(21)를 동작시키는 명령을 수신할 수 있다.
그리고 테스트서버(20)는 사용자단말(10)로부터 원격으로 작성중인 스크립트에 대해 디버깅 요청이 있는지 여부를 판단(S4002)할 수 있고, 스크립트에 대해 디버깅 요청이 있는 경우, 테스트서버(20)는 하나 이상의 테스트장치(21)에서 스크립트에 포함된 하나 이상의 명령 각각을 수행할 수 있다(S4003).
실시예에 따라, 테스트서버(20)는 사용자로부터 수신된 스크립트에 대해 하나의 명령을 하나 이상의 테스트장치(21)로 제공하여, 제공된 명령을 수행하도록 제어하거나 또는 하나의 테스트장치(21)에서만 수행되도록 제어할 수 있다.
이때, 테스트서버(20)는 사용자가 요청한 횟수 또는 기 설정된 횟수만큼 하나의 명령을 반복하여 테스트장치(21)에서 수행되도록 제어할 수 있다.
이후, 테스트서버(20)는 테스트장치(21)를 이용하여 스크립트를 작성한 사용자단말(10)로 S4001 단계에서 수신한 스크립트에 따라 테스트를 수행하는 테스트장치(21)의 결과를 전송할 수 있다(S4004).
하나의 실시예에 따라, 테스트서버(20)는 테스트장치(21)에서 명령에 따라 테스트를 수행한 화면을 실시간으로 사용자단말(10)로 제공할 수 있다.
예를 들어, 테스트서버(20)는 명령을 수행하기 전의 테스트장치(21)의 화면부터 스크립트에 포함된 명령에 따라 테스트를 수행한 테스트장치(21)의 화면까지 사용자단말(10)의 장치인터페이스를 통해 스트리밍 방식으로 사용자단말(10)에 실시간 제공할 수 있다.
다른 실시예에 따라, 테스트서버(20)는 명령에 따라 테스트를 수행한 테스트장치(21)의 결과에 따라 사용자단말(10)에 저장된 장치화면이미지가 사용자단말(10)의 이미지인터페이스를 통해 표시되도록 제어할 수 있다.
예를 들어, 테스트서버(20)는 명령을 수행하기 전의 테스트장치(21)의 화면을 캡쳐한 장치화면이미지가 사용자단말(10)의 이미지인터페이스에 표시되도록 제어할 수 있고, 명령에 따라 테스트를 수행한 테스트장치(21)의 결과 화면을 캡쳐한 장치화면이미지가 사용자단말(10)의 이미지인터페이스에 표시되도록 제어할 수 있다.
이를 통해, 사용자가 원격으로 연결된 테스트장치(21)를 이용하여 스크립트를 작성함에 따라 테스트장치(21)에서의 결과가 지연되어 사용자단말(10)로 전송되는 문제를 해결할 수 있다.
이후, 테스트서버(20)는 S4001단계 내지 S4003 단계를 반복함으로써, 사용자가 원격으로 연결된 테스트장치(21)를 이용하여 스크립트를 디버깅할 수 있도록 테스트장치(21)에서 스크립트가 수행된 결과 화면을 제공할 수 있다.
그러나 S4002 단계에서 사용자로부터 스크립트에 대한 디버깅 모드가 아닌 경우, 테스트서버(20)는 수신된 스크립트에 기초하여 테스트를 수행할 시기를 사용자단말(10)로부터 수신할 수 있다(S4005).
실시예에 따라 테스트서버(20)는 사용자단말(10)로부터 수신된 스크립트에 기초하여 테스트를 수행할 시기를 사용자단말(10)로부터 수신할 수 있다.
예를 들어, 테스트서버(20)는 사용자단말(10)로 테스트를 수행하고 있지 않은 테스트장치(21)의 종류와 수를 제공할 수 있고, 사용자로부터 스크립트에 따라 테스트를 수행할 테스트장치(21)의 수와 반복횟수를 입력받을 수 있다.
다른 실시예에 따라 테스트서버(20)는 사용자단말(10)로부터 스크립트를 테스트장치(21)에서 수행할 시간을 예약받을 수 있다.
예를 들어, 테스트서버(20)는 하나 이상의 테스트장치(21) 각각의 테스트 수행 스케줄을 제공할 수 있고, 사용자로부터 스크립트를 수행할 시기를 설정받을 수 있다.
이후, S4005 단계에서 수신된 테스트 수행시기에 기초하여, 테스트서버(20)는 하나 이상의 테스트장치(21) 각각을 제어할 수 있다(S4006).
실시예에 따라 테스트서버(20)는 사용자의 요청에 따라, 하나의 테스트장치(21)에서 스크립트에 따른 테스트를 반복하여 수행되도록 제어할 수 있거나, 사용자에 의해 선택된 테스트장치(21) 또는 모든 테스트장치(21)에서 테스트가 수행되도록 제어할 수 있다.
이때 테스트서버(20)는 실시예에 따라, 스크립트에 따라 테스트가 수행되는 테스트장치(21)의 정보를 실시간으로 사용자단말(10)로 제공할 수 있다.
예를들어, 테스트서버(20)는 스크립트에 따라 테스트를 수행하는 과정상의 테스트장치(21)의 램(ram), AP(application processor) 등의 사용률과 같은 테스트장치(21)의 정보를 실시간으로 수집할 수 있고, 수집된 정보를 사용자단말(10)로 제공할 수 있다.
이후, 테스트서버(20)는 스크립트에 따른 테스트 수행 결과를 종합하여 제공할 수 있다(S4007).
실시예에 따라, 테스트서버(20)는 각 테스트장치(21)에서 테스트 수행시간, 수행완료여부 등을 종합한 결과 보고서를 생성할 수 있고, 생성된 결과 보고서를 사용자가 웹페이지를 통해 확인할 수 있도록 온라인상에 게시할 수 있다.
또한, 테스트서버(20)는 사용자가 원격으로 연결된 테스트장치(21)를 통해 수행한 테스트 결과를 저장하여 관리할 수 있다.
예를 들어, 사용자가 하나의 애플리케이션에 대해 복수의 스크립트를 이용하여 테스트를 수행한 경우, 테스트서버(20)는 테스트를 수행한 시간순서로 각 스크립트별 테스트 결과를 저장할 수 있으며, 과거에 수행된 테스트를 종합하여 테스트 결과만을 저장할 수도 있다.
이와 같은 테스트방법을 통해 사용자는 복수의 테스트장치(21)와 직접 구비하지 않아도 원격으로 테스트서버(20)를 통해 원하는 방법과 시간에 스크립트에 따른 테스트를 복수의 테스트장치(21)에서 수행할 수 있으며, 스크립트 작성시 실제 테스트장치(21)에서의 실행결과를 확인하며 스크립트를 작성할 수 있다.
이하에서는 도 5 는 테스트시스템(100)의 사용자단말(10)이 테스트를 수행하는 방법에 대한 순서도로 이를 참조하여 테스트방법을 설명한다.
우선 테스트시스템(100)의 사용자단말(10)은 테스트장치(21)의 인터페이스를 가상으로 구현한 장치인터페이스를 사용자에게 제공할 수 있다(S5001).
예를 들어, 사용자단말(10)은 실제 테스트장치(21)의 인터페이스와 동일하게 구현된 장치인터페이스를 사용자에게 제공할 수 있고, 장치인터페이스를 통해 제공되는 아이콘 또는 메뉴버튼 등과 같은 하나 이상의 객체를 제공할 수 있으며, 제공된 하나 이상의 객체 중 사용자가 선택한 객체에 대응되는 동작이 원격으로 연결된 테스트장치(21)에서 수행되도록 이벤트를 발생시킬 수 있다.
도 6 은 사용자단말(10)의 화면을 도시한 예시도로 이를 참조하면, 테스트장치(21)와 동일한 사용자인터페이스가 표시된 장치인터페이스(601)가 표시될 수 있으며, 장치인터페이스(601)에는 하나 이상의 객체(602)가 표시될 수 있다.
또한, 사용자단말(10)은 상기 장치인터페이스를 제공함과 동시에 테스트장치(21)를 통해 표시되는 사용자인터페이스를 캡처한 하나 이상의 장치화면이미지를 스크립트에 따라 표시하는 이미지인터페이스를 제공할 수 있다.
그리고 사용자단말(10)은 원격으로 연결된 테스트장치(21)를 이용하여 테스트를 수행하기 위한 일련의 명령을 포함하는 스크립트를 작성할 수 있도록 하는 작성인터페이스를 제공할 수 있다(S5002).
실시예에 따라, 사용자단말(10)은 테스트장치(21)에서 특정 동작이 수행되도록 하는 명령을 포함하는 하나 이상의 서로 다른 스크립트를 리스트로 제공할 수 있다.
예를 들어, 사용자단말(10)은 테스트서버(20)로부터 원격으로 연결된 테스트장치(21)의 특정 동작을 수행하도록 하는 명령이 포함된 하나 이상의 스크립트를 수신하여 리스트 형태로 제공할 수 있으며, 이와 함께 각 스크립트에 따른 테스트장치(21)의 동작을 설명하거나 또는 장치인터페이스를 통해 테스트장치(21)의 화면을 제공할 수 있다.
도 6 을 참조하면, 사용자단말(10)에는 작성인터페이스(603)가 표시될 수 있고, 작성인터페이스(603)에는 사용자가 작성한 하나 이상의 명령이 포함된 스크립트(604)가 표시될 수 있으며, 장치인터페이스(601)를 통해 원격으로 연결된 테스트장치(21)에서 명령이 수행된 결과화면이 표시될 수 있다.
이후, 사용자가 사용자단말(10)에 의해 제공된 하나 이상의 스크립트를 선택하는 경우, 사용자단말(10)은 제공된 하나 이상의 스크립트 중 사용자로부터 선택된 적어도 하나의 스크립트를 통합하여 하나의 스크립트를 생성할 수 있다.
예를 들어 사용자가 적어도 하나 이상의 스크립트를 순차적으로 선택하면, 사용자단말(10)은 선택된 순서로 스크립트의 명령을 나열하여 하나의 스크립트를 생성할 수 있다. 그리고 사용자의 선택 순서에 따른 테스트장치(21)의 동작의 선후관계가 맞지 않을 경우, 사용자단말(10)은 사용자에게 팝업창을 통해 이를 알릴 수 있고, 올바른 선후관계의 스크립트 선택 순서를 제시할 수 있다.
도 7 은 스크립트를 작성하는 사용자단말(10)의 화면을 도시한 예시도로 이를 참조하면, 사용자단말(10)은 기 저장된 하나 이상의 스크립트의 리스트(701)를 제공할 수 있고, 사용자가 리스트로부터 하나 이상의 스크립트를 선택(702)하여 하나의 스크립트(703)로 생성할 수 있다.
다른 실시예로 사용자단말(10)은 사용자가 스크립트를 직접 작성할 수 있도록 문서편집도구를 제공할 수 있다.
예를 들어, 사용자단말(10)은 명령을 직접 입력할 수 있는 입력창과 입력창을 통해 입력된 명령들을 편집할 수 있는 문서편집도구를 제공할 수 있다.
또 다른 실시예로 사용자단말(10)은 S5001단계에서 제공된 장치인터페이스를 통해 입력되는 사용자입력을 스크립트에 포함되는 명령으로 변환하여 스크립트를 생성할 수 있다.
예를 들어, 사용자단말(10)은 장치인터페이스를 통해 표시되는 아이콘 또는 메뉴버튼 등을 사용자가 순차적으로 선택하면, 선택된 아이콘 또는 메뉴버튼의 선택에 따른 동작을 수행하도록 하는 명령을 스크립트 입력창에 표시할 수 있으며, 표시된 명령을 포함하는 스크립트를 생성할 수 있다.
이후, 사용자단말(10)은 생성된 스크립트가 원격으로 연결된 테스트장치(21)에서 수행되도록 테스트서버(20)로 전송할 수 있고(S5003), 전송하는 스크립트에 대한 디버깅의 수행여부도 테스트서버(20)로 전송할 수 있다(S5004).
즉, 사용자단말(10)은 생성된 스크립트를 원격으로 연결된 테스트장치(21)에서 수행하도록 하고, 테스트장치(21)에서 수행된 결과에 기초하여 전송된 스크립트를 디버깅할 수 있도록 할 수 있다.
도 6 을 참조하면, 사용자단말(10)은 스크립트에 포함된 각각의 명령의 수행결과(605)를 테스트서버(20)로부터 수신하여 명령의 성공적 수행여부를 표시할 수 있고, 사용자는 이를 기초로 스크립트의 디버깅을 수행할 수 있다.
사용자가 스크립트 디버깅을 요청한 경우, 사용자단말(10)은 원격으로 연결된 테스트장치(21)에서 스크립트에 포함된 각 명령이 수행된 결과를 수신할 수 있다(S5005).
예를 들어, 사용자단말(10)은 스크립트에 포함된 각 명령을 원격으로 수행한 테스트장치(21)의 화면을 수신할 수 있고, 이를 장치인터페이스를 통해 표시할 수 있다.
이때, 사용자단말(10)은 장치인터페이스와 실제 테스트장치(21)의 화면을 동기화되도록 테스트장치(21)의 화면을 캡쳐한 스크린샷을 표시할 수 있으며, 이때 스크린샷은 실시예에 따라 미리 사용자단말(10)에 저장되어 있는 테스트장치(21)의 예시화면일 수 있고, 또는 테스트서버(20)로부터 실시간으로 캡쳐된 테스트장치(21)의 화면일 수 있다.
이후, 사용자단말(10)은 스크립트에 포함된 각 명령에 대한 테스트 결과를 수신하면, 수신된 테스트 결과에 따라 사용자가 스크립트를 편집할 수 있도록 S5002단계에서 제공된 작성인터페이스를 제공할 수 있다.
그리고 S5004 단계에서 사용자로부터 스크립트에 대한 디버깅 요청이 없는 경우, 사용자단말(10)은 S5003단계에서 전송한 스크립트에 대한 테스트를 수행하는 테스트장치(21)를 제어하기 위한 테스트조건을 전송할 수 있다(S5006).
이를 위해, 사용자단말(10)은 사용자에게 하나 이상의 테스트장치(21) 각각의 사용여부를 표시할 수 있고, 사용자로부터 스크립트를 수행할 테스트장치(21)의 수, 테스트 수행 시각 등을 포함하는 테스트조건을 입력받을 수 있다.
도 8 은 테스트조건을 입력받는 화면을 도시한 예시도로 이를 참조하면, 사용자는 스크립트를 이용하여 테스트를 수행할 예약시간을 설정(801)할 수 있고, 스크립트에 따라 테스트를 수행할 하나 이상의 테스트장치(21)를 리스트(802)에서 선택하여 테스트조건을 설정할 수 있다.
이후, 사용자단말(10)은 테스트조건을 테스트서버(20)로 전송할 수 있고, 테스트서버(20)로부터 테스트조건에 따른 테스트 수행결과를 수신할 수 있다(S5007).
예를 들어, 수신된 테스트 수행 결과는 각 테스트장치(21)별로 테스트를 수행성공여부 또는 수행시간 등이 표시될 수 있으며, 각 사용자마다 테스트 수행이력을 시간순으로 나열하여 제공할 수 있다.
도 9 는 테스트 결과가 사용자단말(10)에 표시된 예시도로 이를 참조하면, 사용자단말(10)은 사용자가 요청한 테스트의 결과 및 테스트장치(21)에 대한 정보(901)를 표시할 수 있다.
도 4 내지 도 5를 통해 설명된 실시예에 따른 테스트방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한 본 발명의 일실시예에 따르는 테스트방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 본 발명의 일실시예에 따르는 테스트방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 테스트시스템
10: 사용자단말
N: 네트워크
20: 테스트서버
21: 테스트장치

Claims (15)

  1. 사용자단말을 포함하며 테스트를 수행하는 시스템에 있어서,
    상기 사용자단말은,
    상기 테스트를 수행하는 테스트장치를 동작시키기 위한 일련의 명령을 포함하는 스크립트를 생성하기 위한 작성인터페이스를 제공하는 스크립트생성부;
    상기 테스트장치를 원격으로 제어할 수 있도록 상기 테스트장치의 사용자인터페이스를 구현한 장치인터페이스를 제공하고, 상기 스크립트를 상기 테스트장치에서 수행한 결과를 상기 장치인터페이스를 통해 제공하는 장치화면제공부;
    상기 스크립트에 따른 테스트를 수행하는 테스트장치의 제어 조건인 테스트조건을 사용자로부터 입력받는 테스트설정부; 및
    원격으로 연결된 테스트장치에서 상기 스크립트가 수행되도록 상기 스크립트를 송신하고, 상기 테스트장치에서 수행된 스크립트에 대한 결과를 수신하는 통신부를 포함하는 테스트시스템.
  2. 제 1 항에 있어서,
    상기 사용자단말은,
    상기 테스트장치를 통해 표시되는 사용자인터페이스를 캡처한 하나 이상의 장치화면이미지를 상기 스크립트에 따라 표시하는 이미지인터페이스를 제공하는 장치이미지제공부를 더 포함하는, 테스트시스템.
  3. 제 1 항에 있어서,
    상기 스크립트생성부는,
    상기 테스트장치에서 특정 동작이 수행되도록 하는 명령을 포함하는 하나 이상의 서로 다른 스크립트를 제공하여, 제공된 하나 이상의 스크립트 중 상기 사용자로부터 선택된 적어도 하나의 스크립트를 통합하여 하나의 스크립트로 생성하고, 상기 장치인터페이스를 통해 입력된 사용자입력에 기초하여 스크립트를 생성하는, 테스트시스템.
  4. 제 1 항에 있어서,
    상기 스크립트생성부는,
    작성중인 스크립트를 수행한 상기 테스트장치를 이용한 결과에 기초하여, 상기 작성인터페이스를 통해 상기 작성중인 스크립트를 갱신하기 위한 인터페이스를 제공하는, 테스트시스템.
  5. 제 1 항에 있어서,
    상기 테스트시스템은 상기 사용자단말과 원격으로 연결되는 테스트장치를 통해 테스트를 수행하는 테스트서버를 더 포함하고,
    상기 테스트서버는,
    상기 사용자단말로부터 수신한 스크립트를 관리하는 스크립트관리부;
    하나 이상의 테스트장치에서 상기 스크립트에 따른 테스트를 수행하기 위해 상기 하나 이상의 테스트장치를 각각 제어하는 장치제어부; 및
    상기 스크립트에 따라 상기 하나 이상의 테스트장치에서 수행된 테스트에 대한 결과를 제공하는 테스트이력부를 포함하는, 테스트시스템.
  6. 제 5 항에 있어서,
    상기 장치제어부는,
    상기 사용자의 요청에 따라 상기 하나 이상의 테스트장치에서 상기 스크립트에 포함된 하나 이상의 명령 각각이 수행되도록 제어하고,
    상기 테스트이력부는,
    상기 하나 이상의 명령 각각에 따라 테스트를 수행한 테스트장치의 테스트 결과를 상기 사용자단말로 제공하는, 테스트시스템.
  7. 테스트를 수행하는 시스템에 포함되는 사용자단말이 상기 테스트를 수행하는 방법에 있어서,
    상기 테스트를 수행하는 테스트장치의 사용자인터페이스를 가상으로 구현한 장치인터페이스를 제공하는 단계;
    상기 테스트장치를 동작시키기 위한 일련의 명령을 포함하는 스크립트를 생성하기 위한 작성인터페이스를 제공하는 단계;
    상기 스크립트에 따른 테스트를 수행하는 테스트장치의 제어 조건인 테스트조건을 사용자로부터 입력받는 단계;
    원격으로 연결된 테스트장치에서 상기 스크립트가 수행되도록 상기 스크립트를 송신하는 단계; 및
    상기 테스트장치에서 수행된 스크립트에 대한 결과를 수신하여, 상기 장치인터페이스를 통해 제공하는 단계를 포함하는, 테스트방법.
  8. 제 7 항에 있어서,
    상기 작성인터페이스를 제공하는 단계는,
    상기 테스트장치를 통해 표시되는 사용자인터페이스를 캡처한 하나 이상의 장치화면이미지를 상기 스크립트에 따라 표시하는 이미지인터페이스를 제공하는 단계를 포함하는, 테스트방법.
  9. 제 7 항에 있어서,
    상기 작성인터페이스를 제공하는 단계는,
    상기 테스트장치에서 특정 동작이 수행되도록 하는 명령을 포함하는 하나 이상의 서로 다른 스크립트를 제공하는 단계; 및
    제공된 하나 이상의 스크립트 중 상기 사용자로부터 선택된 적어도 하나의 스크립트를 통합하여 하나의 스크립트로 생성하는 단계를 포함하는, 테스트방법.
  10. 제 7 항에 있어서,
    상기 작성인터페이스를 제공하는 단계는,
    상기 장치인터페이스를 통해 상기 사용자로부터 사용자입력을 받는 단계; 및
    상기 장치인터페이스를 통해 입력된 사용자입력에 기초하여 스크립트를 생성하는 단계를 포함하는, 테스트방법.
  11. 제 7 항에 있어서,
    상기 작성인터페이스를 제공하는 단계는,
    작성중인 스크립트를 수행한 상기 테스트장치의 결과에 기초하여, 상기 작성인터페이스를 통해 상기 작성중인 스크립트를 갱신하기 위한 인터페이스를 제공하는 단계를 포함하는, 테스트방법.
  12. 제 7 항의 사용자단말과 원격으로 연결되고, 상기 시스템에 포함되는 테스트서버가 테스트를 수행하는 방법에 있어서,
    상기 사용자단말로부터 수신한 스크립트를 저장하는 단계;
    하나 이상의 테스트장치에서 상기 스크립트에 따른 테스트를 수행하기 위해 상기 하나 이상의 테스트장치를 각각 제어하는 단계; 및
    상기 스크립트에 따라 상기 하나 이상의 테스트장치에서 수행된 테스트에 대한 결과를 제공하는 단계를 포함하는, 테스트방법.
  13. 제 12 항에 있어서,
    상기 테스트장치를 각각 제어하는 단계는,
    상기 사용자의 요청에 따라 상기 하나 이상의 테스트장치에서 상기 스크립트에 포함된 하나 이상의 명령 각각이 수행되도록 제어하는 단계; 및
    상기 하나 이상의 명령 각각에 따라 테스트를 수행한 테스트장치의 테스트 결과를 상기 사용자단말로 제공하는 단계를 포함하는, 테스트방법.
  14. 사용자단말에 의해 수행되고, 제 7 항 내지 제 11 항 중 어느 한 항에 기재된 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램.
  15. 컴퓨터장치에 의해 수행되고, 제 12 항 내지 제 13 항 중 어느 한 항에 기재된 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램.

KR1020150022624A 2015-02-13 2015-02-13 스크립트를 이용한 자동 테스트 방법 및 시스템 KR101698029B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150022624A KR101698029B1 (ko) 2015-02-13 2015-02-13 스크립트를 이용한 자동 테스트 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150022624A KR101698029B1 (ko) 2015-02-13 2015-02-13 스크립트를 이용한 자동 테스트 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20160100094A true KR20160100094A (ko) 2016-08-23
KR101698029B1 KR101698029B1 (ko) 2017-01-20

Family

ID=56875465

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150022624A KR101698029B1 (ko) 2015-02-13 2015-02-13 스크립트를 이용한 자동 테스트 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101698029B1 (ko)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357724A (zh) * 2017-06-27 2017-11-17 深圳市泰衡诺科技有限公司上海分公司 安卓系统中的软件自动化测试方法及装置
KR20190019009A (ko) * 2018-07-19 2019-02-26 넷마블 주식회사 게임 테스트 자동화 장치 및 방법
KR101987330B1 (ko) * 2018-12-18 2019-06-11 넷마블 주식회사 컨텐츠 서비스를 모니터링하는 방법 및 그 방법을 수행하는 서버
KR20190105439A (ko) * 2018-03-05 2019-09-17 어니컴 주식회사 애플리케이션 테스트 방법 및 장치
KR102075111B1 (ko) * 2018-08-23 2020-02-07 (주) 넥스트랩 Ui 기능 테스트 시스템 및 방법
KR20200049955A (ko) * 2018-10-29 2020-05-11 어니컴 주식회사 음성합성을 이용한 음성인식기능 검증 방법 및 장치
KR102166258B1 (ko) * 2019-05-17 2020-10-15 넷마블 주식회사 위치기반 서비스 어플리케이션의 품질 테스트 기법
CN113507601A (zh) * 2021-04-22 2021-10-15 广东睿住智能科技有限公司 智慧屏的压力测试方法和系统
KR102372556B1 (ko) * 2020-08-28 2022-03-08 에스케이 주식회사 모바일 원격제어 기술 기반의 모바일 서비스 관제 방법 및 시스템
KR20220048758A (ko) * 2020-10-13 2022-04-20 주식회사 투비웨어 웹 기반 모바일 디바이스 검증 자동화 플랫폼 시스템 및 그 검증 방법
KR20220053432A (ko) * 2020-10-22 2022-04-29 주식회사 엔씨소프트 테스트 자동화 서비스 장치 및 방법
KR20220082496A (ko) * 2020-12-10 2022-06-17 주식회사 엔씨소프트 테스트 자동화 서비스 장치 및 방법
KR20220134107A (ko) * 2021-03-26 2022-10-05 주식회사 컴투스 단말기 원격조작에 기반한 테스트 자동화 방법 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080087918A (ko) * 2007-01-09 2008-10-02 어니컴 주식회사 타겟 장치의 자동 검증 방법 및 그 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080087918A (ko) * 2007-01-09 2008-10-02 어니컴 주식회사 타겟 장치의 자동 검증 방법 및 그 장치

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
‘Test Forte 간단하게 Recording & Play한 장면 동영상’, 온라인 페이스북 Test Forte(2011.04.01.) *
‘TheOwl-Script 기본 가이드 동영상’, 온라인 페이스북 TheOwl(2013.04.19.) *
‘어니컴, 안드로이드 단말 자동화 테스트 툴 디아울(TheOw) 무료 배포’, 인터넷 DATANET 뉴스 기사(2013.06.03.) *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357724A (zh) * 2017-06-27 2017-11-17 深圳市泰衡诺科技有限公司上海分公司 安卓系统中的软件自动化测试方法及装置
KR20190105439A (ko) * 2018-03-05 2019-09-17 어니컴 주식회사 애플리케이션 테스트 방법 및 장치
KR20190019009A (ko) * 2018-07-19 2019-02-26 넷마블 주식회사 게임 테스트 자동화 장치 및 방법
KR102075111B1 (ko) * 2018-08-23 2020-02-07 (주) 넥스트랩 Ui 기능 테스트 시스템 및 방법
KR20200049955A (ko) * 2018-10-29 2020-05-11 어니컴 주식회사 음성합성을 이용한 음성인식기능 검증 방법 및 장치
KR101987330B1 (ko) * 2018-12-18 2019-06-11 넷마블 주식회사 컨텐츠 서비스를 모니터링하는 방법 및 그 방법을 수행하는 서버
KR102166258B1 (ko) * 2019-05-17 2020-10-15 넷마블 주식회사 위치기반 서비스 어플리케이션의 품질 테스트 기법
KR102372556B1 (ko) * 2020-08-28 2022-03-08 에스케이 주식회사 모바일 원격제어 기술 기반의 모바일 서비스 관제 방법 및 시스템
KR20220048758A (ko) * 2020-10-13 2022-04-20 주식회사 투비웨어 웹 기반 모바일 디바이스 검증 자동화 플랫폼 시스템 및 그 검증 방법
KR20220053432A (ko) * 2020-10-22 2022-04-29 주식회사 엔씨소프트 테스트 자동화 서비스 장치 및 방법
KR20220082496A (ko) * 2020-12-10 2022-06-17 주식회사 엔씨소프트 테스트 자동화 서비스 장치 및 방법
KR20220134107A (ko) * 2021-03-26 2022-10-05 주식회사 컴투스 단말기 원격조작에 기반한 테스트 자동화 방법 및 시스템
CN113507601A (zh) * 2021-04-22 2021-10-15 广东睿住智能科技有限公司 智慧屏的压力测试方法和系统
CN113507601B (zh) * 2021-04-22 2024-03-29 广东睿住智能科技有限公司 智慧屏的压力测试方法和系统

Also Published As

Publication number Publication date
KR101698029B1 (ko) 2017-01-20

Similar Documents

Publication Publication Date Title
KR101698029B1 (ko) 스크립트를 이용한 자동 테스트 방법 및 시스템
US9482683B2 (en) System and method for sequential testing across multiple devices
US11200155B2 (en) System and method for automated application testing
CN107045475B (zh) 测试方法和装置
CN109766205A (zh) 异常处理方法、装置、计算机设备和存储介质
US10452508B2 (en) Managing a set of tests based on other test failures
US20170052773A1 (en) Application installs using remote applications
CN107391362A (zh) 应用测试方法、移动终端及存储介质
CN107704499A (zh) 一种应用程序的页面跳转控制方法及装置
US10169189B2 (en) Functional test automation of mobile applications interacting with native stock applications
US20080263532A1 (en) Data updating method and electric device using the same
US9767075B2 (en) System and method for implementing screen capture
US10007554B2 (en) Task scheduling based on user interaction
CN111061522B (zh) 基于后端生成前端卡片组件的方法、装置、设备及存储介质
US8639983B1 (en) Self-service testing
KR20180076020A (ko) 애플리케이션 테스트 자동화 장치 및 방법
US9749397B2 (en) Methods, systems, and computer-readable media for testing applications on a handheld device
US9886290B2 (en) Component loading based on user preferences
US20180365023A1 (en) Teaser of an application available for installation
US20130007622A1 (en) Demonstrating a software product
US20230336551A1 (en) Method and device for providing web page using captive portal
US20160132424A1 (en) Simulating sensors
US10291498B1 (en) Mobile communication device diagnostic client and error remediation sharing
CN113986679A (zh) 基于配置信息热加载的性能分析方法及装置
KR20120067524A (ko) 애플리케이션 검증 시스템, 단말기 및 단말기에서의 화면 캡쳐 방법

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: 20200120

Year of fee payment: 4