KR20150127505A - 애플리케이션 테스트 관리 방법 및 장치 - Google Patents

애플리케이션 테스트 관리 방법 및 장치 Download PDF

Info

Publication number
KR20150127505A
KR20150127505A KR1020140054456A KR20140054456A KR20150127505A KR 20150127505 A KR20150127505 A KR 20150127505A KR 1020140054456 A KR1020140054456 A KR 1020140054456A KR 20140054456 A KR20140054456 A KR 20140054456A KR 20150127505 A KR20150127505 A KR 20150127505A
Authority
KR
South Korea
Prior art keywords
terminal
test
application
event
information
Prior art date
Application number
KR1020140054456A
Other languages
English (en)
Other versions
KR101575723B1 (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 KR1020140054456A priority Critical patent/KR101575723B1/ko
Publication of KR20150127505A publication Critical patent/KR20150127505A/ko
Application granted granted Critical
Publication of KR101575723B1 publication Critical patent/KR101575723B1/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
    • 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
    • G06F11/3696Methods or tools to render software testable

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)
  • Telephone Function (AREA)

Abstract

본 발명의 일 실시예에 따르는 애플리케이션 테스트 관리 방법 및 장치는 스마트 단말을 이용하여 스마트 단말 상에서 수행되는 애플리케이션을 테스트하게 할 수 있다. 또한, 본 발명의 일 실시예는 테스트요청 단말과 테스트 단말 간에 수행되는 테스트 내용을 PC에서 모니터링하고 기록하게 함으로써, 종전과 같이 PC로 어렵게 테스트 단말을 제어함으로써 애플리케이션을 테스트하고 테스트 내용을 기록하던 불편함을 제거할 수 있다.

Description

애플리케이션 테스트 관리 방법 및 장치 {DEVICE AND METHOD FOR MANAGING APPLICATION TEST}
본 발명은 애플리케이션 테스트 관리 방법 및 장치에 관한 것으로, 보다 상세하게는 두 개의 단말을 이용하여 애플리케이션을 테스트하기 위한 애플리케이션 테스트 관리 방법 및 장치에 관한 것이다.
최근 IT기술이 급격히 발전하고 하나의 전자단말기 안에 다양한 종류의 하드웨어모듈이 탑재되고 있다. 특히 디지털 기반의 여러 제품이나 서비스가 융합되어 새로운 서비스나 제품이 탄생하는 디지털컨버전스 현상이 가속화되면서 이들 각 전자단말기를 운용할 수 있는 운영체제 또한 다양하게 출시되고 있다.
이러한 상황에서 소프트웨어 개발자들은 이들 전자단말기에 포함된 하드웨어 리소스를 활용하기 위한 수 많은 응용프로그램을 개발할 수 있는 자유도가 높아진 동시에 다양한 하드웨어 및 플랫폼에서 무리 없이 실행되는 응용프로그램을 개발하고 테스트해야 하는 부담을 안게 되었다.
공개특허 10-2004-0077639는 전자단말기에 시험방법을 제공하기 위한 기술을 개시하고 있으며, 개발자가 직접 모든 장소를 찾아다니지 않고도 다양한 장소로 이동하는 무선통신단말기에서 이루어지는 시험결과를 실시간으로 제공받을 수 있게 한 것이다. 그러나, 원격지 전자단말과 통신을 주고 받을 수 있을 뿐, 다양한 하드웨어 및 플랫폼에서 안정적으로 테스팅 자원을 공유하는 데에는 한계가 있다.
또 한편, 종래기술은 스마트 단말에서 구현되는 애플리케이션을 테스트하는 프로그램이 PC에서만 구현되었기 때문에, PC를 통하여 스마트 단말 상의 UI를 구현하여야만 했다. 이러한 경우, 실제 스마트 단말로 애플리케이션을 구동하는 것이 아니기 때문에 이러한 이질적인 부분의 문제와 관련된 한계가 있었다.
따라서 상술된 문제점을 해결하기 위한 기술이 필요하게 되었다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 일실시예는 스마트 단말에서 수행되는 애플리케이션을 스마트 단말 간의 통신을 통해 테스트하는 데에 목적이 있다.
또한, 본 발명의 일 실시예는 스마트 단말 간의 애플리케이션 테스트시, 사용자의 PC 상에서도 스마트 단말에서 수행되는 테스트 정보들을 관리하고 기록하는 데에 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따르면, 테스트 서버에 의하여 수행되는 애플리케이션 테스트 관리 방법에 있어서, 제 1 단말로부터 상기 테스트 서버에 대한 접속 요청을 수신하는 단계; 상기 제 1 단말로 제 1 테스트 모드 또는 제 2 테스트 모드에 대한 선택을 요청하는 단계; 및상기 제 1 단말에 의해 선택된 모드에 따라 상기 제 1 단말에서 실행되는 애플리케이션 동작을 제 2 단말로 제공하여 상기 애플리케이션을 테스트하는 단계;를 포함하며, 상기 제 1 테스트 모드는 상기 제 1 단말과 상기 제 2 단말을 연동하여 상기 제 1 단말에서의 애플리케이션 동작을 상기 제 2 단말에서 구현하는 모드이며, 상기 제 2 테스트 모드는 상기 제 1 테스트 모드에서 관리 단말을 부가하여 상기 제 2 단말에서 실행되는 테스트 정보를 상기 관리 단말에 기록하는 모드이다.
또한, 상기 애플리케이션을 테스트하는 단계는, 상기 제 1 단말로 테스트 가능한 단말의 목록을 전송하는 단계; 상기 제 1 단말로부터 상기 단말의 목록 중 상기 제 2 단말을 선택하는 입력을 수신하는 단계; 상기 제 1 단말에서 실행된 애플리케이션에 대한 동작 이벤트를 상기 제 1 단말로부터 수신하는 단계; 상기 제 2 단말에서 상기 동작 이벤트대로 상기 애플리케이션이 동작하도록 상기 애플리케이션에 대한 동작 이벤트의 정보를 상기 제 2 단말로 송신하는 단계; 및 상기 제 2 단말로부터 상기 애플리케이션의 동작결과정보를 수신하여 상기 제 1 단말로 전송하는 단계;를 포함한다.
또한, 상기 애플리케이션 테스트 관리 방법은, 상기 제 1 단말로부터 상기 애플리케이션에 대한 동작 이벤트를 수신한 후, 상기 동작 이벤트의 형태가 터치 동작 이벤트, 하드웨어 키 입력 이벤트 및 센서 동작 이벤트 중 어느 하나인지 분석하는 단계; 및 상기 분석된 동작 이벤트의 형태에 따라 단말실행정보를 생성하는 단계;를 더 포함한다.
또한, 상기 분석된 동작 이벤트의 형태에 따라 단말실행정보를 생성하는 단계는, 상기 분석된 동작 이벤트의 동작에 대한 정보를 나타내는 단말실행정보를 생성하거나, 상기 애플리케이션에 대하여 상기 분석된 동작 이벤트가 의미하는 동작명령정보를 나타내는 단말실행정보를 생성한다.
또한, 상기 애플리케이션에 대한 동작 이벤트의 정보를 상기 제 2 단말로 송신하는 단계는, 상기 단말실행정보를 상기 제 2 단말로 송신하는 단계를 포함한다.
또한, 상기 터치 동작 이벤트는, 사용자가 상기 제 1 단말의 터치 스크린에 터치 입력을 수행한 이벤트이며, 상기 하드웨어 키 입력 이벤트는, 상기 사용자가 상기 제 1 단말의 터치 스크린 외부 영역의 키에 대하여 입력을 수행한 이벤트이며,상기 센서 동작 이벤트는, 상기 제 1 단말의 내부 센서의 동작에 대한 이벤트이다.
또한, 상기 애플리케이션을 테스트하는 단계는, 상기 제 2 테스트 모드가 선택된 경우, 상기 제 2 단말로부터 수신한 동작결과정보를 관리 단말로 전송하는 단계를 더 포함한다.
또한, 상기 애플리케이션을 테스트하는 단계는, 상기 애플리케이션의 동작결과정보를 수신한 후, 상기 제 1 단말에 대한 저장영역을 생성하는 단계; 및 상기 동작결과정보를 상기 저장영역에 저장하는 단계;를 더 포함한다.
또한, 상기 애플리케이션 테스트 관리 방법은, 상기 관리 단말로부터 상기 제 1 단말의 테스트 정보를 호출하는 요청을 수신하는 단계; 및 상기 저장영역에 저장된 상기 제 1 단말의 상기 제 2 단말에 대한 동작결과 정보를 상기 관리 단말로 전송하는 단계;를 더 포함한다.
또한, 상기 제 1 및 제 2 단말은 휴대용 스마트 단말이다.
한편, 본 발명의 제 2 측면에 따르는 애플리케이션 테스트 관리 장치에 있어서, 제 1 단말로부터 상기 애플리케이션 테스트 관리 장치에 대한 접속 요청을 수신하고, 상기 제 1 단말로 제 1 테스트 모드 또는 제 2 테스트 모드에 대한 선택을 요청하는 테스트 모드 선택부; 및 상기 제 1 단말에 의해 선택된 모드에 따라 상기 제 1 단말에서 실행되는 애플리케이션 동작을 제 2 단말로 제공하여 상기 애플리케이션을 테스트하는 테스트부;를 포함하며, 상기 제 1 테스트 모드는 상기 제 1 단말과 상기 제 2 단말을 연동하여 상기 제 1 단말에서의 애플리케이션 동작을 상기 제 2 단말에서 구현하는 모드이며, 상기 제 2 테스트 모드는 상기 제 1 테스트 모드에서 관리 단말을 부가하여 상기 제 2 단말에서 실행되는 테스트 내용을 상기 관리 단말에 기록하는 모드이다.
또한, 상기 애플리케이션 테스트 관리 장치는, 상기 제 1 단말로 테스트 가능한 단말의 목록을 전송하고, 상기 제 1 단말로부터 상기 단말의 목록 중 상기 제 2 단말을 선택하는 입력에 따라 상기 제 2 단말을 선택하는 테스트 단말 선택부를 더 포함한다.
또한, 상기 테스트부는, 상기 제 1 단말에서 실행된 애플리케이션에 대한 동작 이벤트를 상기 제 1 단말로부터 수신하고, 상기 제 2 단말에서 상기 동작 이벤트대로 상기 애플리케이션이 동작하도록 상기 애플리케이션에 대한 동작 이벤트의 정보를 상기 제 2 단말로 송신하며, 상기 제 2 단말로부터 상기 애플리케이션의 동작결과정보를 수신하여 상기 제 1 단말로 전송한다.
또한, 상기 테스트부는, 상기 제 1 단말로부터 상기 애플리케이션에 대한 동작 이벤트를 수신한 후, 상기 동작 이벤트의 형태가 터치 동작 이벤트, 하드웨어 키 입력 이벤트 및 센서 동작 이벤트 중 어느 하나인지 분석하는 동작 이벤트 분석부; 및 상기 분석된 동작 이벤트의 형태에 따라 단말실행정보를 생성하는 단말실행정보 생성부;를 더 포함한다.
또한, 상기 단말실행정보 생성부는, 상기 분석된 동작 이벤트의 동작에 대한 정보를 나타내는 단말실행정보를 생성하거나, 상기 애플리케이션에 대하여 상기 분석된 동작 이벤트가 의미하는 동작명령정보를 나타내는 단말실행정보를 생성 한다.
또한, 상기 테스트부는, 상기 단말실행정보를 상기 제 2 단말로 송신한다.
또한, 상기 터치 동작 이벤트는, 사용자가 상기 제 1 단말의 터치 스크린에 터치 입력을 수행한 이벤트이며, 상기 하드웨어 키 입력 이벤트는, 상기 사용자가 상기 제 1 단말의 터치 스크린 외부 영역의 키에 대하여 입력을 수행한 이벤트이며, 상기 센서 동작 이벤트는, 상기 제 1 단말의 내부 센서의 동작에 대한 이벤트이다.
또한, 상기 테스트부는, 상기 제 2 테스트 모드가 선택된 경우, 상기 제 2 단말로부터 수신한 동작결과정보를 관리 단말로 전송한다.
또한, 상기 테스트부는, 상기 애플리케이션의 동작결과정보를 수신한 후, 상기 제 1 단말에 대한 저장영역을 생성하고, 상기 동작결과정보를 상기 저장영역에 저장한다.
또한, 상기 테스트부는, 상기 관리 단말로부터 상기 제 1 단말의 테스트 정보를 호출하는 요청을 수신함에 따라, 상기 저장영역에 저장된 상기 제 1 단말의 상기 제 2 단말에 대한 동작결과정보를 상기 관리 단말로 전송한다.
본 발명의 일 실시예에 따르는 애플리케이션 테스트 관리 방법 및 장치는 스마트 단말을 이용하여 스마트 단말 상에서 수행되는 애플리케이션을 테스트하게 할 수 있다.
또한, 본 발명의 일 실시예는 테스트요청 단말과 테스트 단말 간의 단말운영체제나 하드웨어적 특성이 상이하더라도, 테스트요청 단말에서 수행된 명령이 테스트 단말에서도 동일하게 나타나도록 함으로써, 단말의 시스템 차이에서 비롯된 테스트 장벽을 제거할 수 있다.
또한, 본 발명의 일 실시예는 테스트요청 단말과 테스트 단말 간에 수행되는 테스트 내용을 PC에서 모니터링하고 기록하게 함으로써, 종전과 같이 PC로 어렵게 테스트 단말을 제어함으로써 애플리케이션을 테스트하고 테스트 내용을 기록하던 불편함을 제거할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일실시예에 따른 애플리케이션 테스트 관리 시스템의 구성도이다.
도 2는 본 발명의 일실시예에 따른 애플리케이션 테스트 관리 장치의 내부 구성을 도시한 블록도이다.
도 3및 도 4는 본 발명의 일실시예에 따른 애플리케이션 테스트를 위한 사용자 인터페이스의 예시도이다.
도5는 본 발명의 일실시예에 따른 애플리케이션 테스트 관리 방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 하며, 다만 이를 설명하기에 앞서, 아래에서 사용되는 용어의 의미를 먼저 정의한다.
'애플리케이션'은 사용자단말, 전자단말 또는 테스트단말 상에서 실행되어 소정의 목적을 달성하기 위한 프로그램으로서, 응용프로그램이라고도 한다. 이러한 애플리케이션은, '앱'과 동일한 의미로서 혼용하여 사용될 수 있다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일실시예에 따른 애플리케이션 테스트 관리 시스템을 설명하기 위한 구성도이다. 본 발명의 일 실시예에 따르는 시스템은 제 1 단말(즉, 테스트요청 단말)(100), 제 2 단말(즉, 테스트 단말)(200), 테스트 서버(300), 관리 단말(400)을 포함한다. 여기서, 제 1 단말(100), 제 2 단말(200), 관리 단말(400)은 편의상 각각 1개로 도시되었으나, 복수 개로 구성될 수 있다. 또한, 제 1 단말(100), 관리 단말(400)에는 본 발명의 일 실시예에 따르는 테스트 애플리케이션이 설치되어 있을 수 있다.
제 1 단말(100)은 제 2 단말(200)의 입출력 기능을 수행하는 단말이다. 제 1 단말(100)에서 테스트 애플리케이션이 실행된 후 사용자가 입력한 명령은 테스트 서버(300)로 전송되고, 제 2 단말(200)로 전달되며, 제 2 단말(200)의 출력결과는 제 1 단말(100)로 전송되어 출력된다. 타겟 애플리케이션은 제 1 단말(100) 및 제 2 단말(200)에 설치되어 있는 애플리케이션으로서, 제 2 단말(200)을 통하여 동작이 제대로 이루어지는지 테스트할 대상이 되는 애플리케이션이다. 타겟 애플리케이션에 포함될 수 있는 대상에는 제한이 없다.
테스트 서버(300)는 제 1 단말(100)로부터 수신한 명령이 어떠한 종류의 것인지 분석한다. 예를 들어, 타겟 애플리케이션을 실행하는 명령, 타겟 애플리케이션 실행 후, 특정 기능을 수행하기 위한 드래그 명령, 터치 명령, 센서를 이용한 명령 중 어느 하나에 속하는지 분석할 수 있다. 테스트 서버(300)는 분석된 결과에 맞는 단말실행정보를 생성하여 제 2 단말(200)로 전송한다.
제 2 단말(200)은 테스트 서버(300)로부터 수신한 단말실행정보에 따라, 타겟 애플리케이션을 실행하고 테스트 서버(300)로 전송한다. 제 2 단말(200)은 단말실행정보에 따라 명령을 수행함으로써, 타겟 애플리케이션을 실행한다. 이때, 실행되는 타겟 애플리케이션의 인터페이스는 제 2 단말(200) 상에 표시될 수도 있고 표시되지 않을 수도 있다. 이어서, 제 2 단말(200)은 사용자의 확인을 위해 실행된 타겟 애플리케이션의 동작결과정보를 테스트 서버(300)로 전송하며, 테스트 서버(300)는 동작결과정보를 제 1 단말(100)로 전송한다.
예를 들어, 도 1에서 제 1 단말(100)에 실행된 애플리케이션이 사진첩 애플리케이션이며, 사진첩 애플리케이션에 대하여 손가락을 터치하여 위로 드래그하는 명령이 입력된 경우, 해당 사진이 위로 이동하는 듯한 형태의 인터페이스가 구현된다고 가정한다. 사용자가 제 1 단말(100)에서 자전거를 타는 사람의 사진을 위로 드래그하는 입력을 수행한 경우, 제 1 단말(100)은 이러한 동작 이벤트 정보를 테스트 서버(300)로 전송한다. 테스트 서버(300)는 제 2 단말(200)로 동작 이벤트 정보에 따르는 단말실행정보를 전송하며, 제 2 단말(200)은 수신한 단말실행정보에 따라 사진첩 애플리케이션을 동작시킨다. 제 2 단말(200) 상에서 해당 자전거 사진이 위로 올라가는 동작을 수행하는 경우, 제 2 단말(200)은 이러한 동작결과정보를 테스트 서버(300)로 전송한다. 테스트 서버(300)는 동작결과정보를 제 1 단말(100)로 전송함으로써, 사용자가 제 2 단말(200) 상의 동작결과정보를 확인할 수 있도록 한다.
또한, 테스트 서버(300)는 제 2 단말(200)에서 실행된 동작결과정보들을 저장하고 관리 단말(400)로 전송할 수 있다. 관리 단말(400)은 데스크탑이나 노트북과 같은 형태의 PC로서, 제 1 단말(100) 및 제 2 단말(200)과 같은 휴대용 스마트 단말과는 다른 인터페이스로 구현되어 있다. 종래에는, 스마트 단말에서 구현되는 타겟 애플리케이션을 테스트하고 테스트 내용을 기록하기 위해서는 PC를 이용하여야만 했다. 이 경우, PC는 터치, 드래그 등과 같은 입력이 불가능하기 때문에, 마우스나 키보드의 동작으로 대치하여서 그러한 입력을 구현하여야만 했다. 따라서, PC와 스마트 단말의 서로 다른 사용자 인터페이스를 호환시키기에 어려운 점이 존재하였으며, 그에 따라 사용자의 입장에서 테스트 감도가 떨어질 수 밖에 없었다. 그러나, 본 발명의 일 실시예는, 스마트 단말 간에 테스트가 가능하도록 하고, 스마트 단말 간에 전송되는 동작결과정보들을 PC로 전송함으로써, PC로도 손쉽게 기록하고 저장할 수 있게 하므로, 이러한 점에 있어서 종래보다 진보한 특징을 가진다.
한편, 제 1 단말(100), 제 2 단말(200), 테스트 서버(300), 관리 단말(400) 간의 네트워크(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) 또는 위성 통신망 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.
제 1 단말(100), 제 2 단말(200), 관리 단말(400)은 네트워크(N)를 통해 원격지의 서버에 접속하거나, 타 단말 및 서버와 연결 가능한 컴퓨터나 휴대용 단말기, 텔레비전으로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(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 등을 포함할 수 있다. 바람직하게, 제 1 및 제 2 단말(100, 200)은 스마트폰, 태블릿 PC와 같은 휴대용 스마트 단말이 될 수 있으며, 관리 단말(400)은 노트북, 데스크톱, 랩톱와 같은 PC가 될 수 있다.
이하, 도 2를 참고하여, 본 발명의 일 실시예에 따르는 애플리케이션 테스트 관리 장치의 내부 구성에 대하여 구체적으로 설명한다. 후술되는 애플리케이션 테스트 관리 장치의 내부 구성은 테스트 서버(300) 또는 사용자 단말 내에 구현될 수 있으나, 이하에서는 테스트 서버(300)에 포함되는 것으로 설명하도록 한다.
본 발명의 일 실시예에 따르는 애플리케이션 테스트 관리 장치는 테스트 단말 선택부(310), 테스트 모드 선택부(320), 테스트부(330)를 포함한다. 테스트부(330)는 동작 이벤트 분석부(331), 단말실행정보 생성부(332), 단말실행정보 전송부(333), 동작결과정보 송수신부(334), 동작결과정보 저장부(335)를 포함한다.
테스트 단말 선택부(310)는 제 1 단말(100)과 연결되어 애플리케이션 테스트를 수행할 테스트 단말을 선택한다. 테스트 단말 선택부(310)는 제 1 단말(100)에서 테스트 애플리케이션이 실행된 경우, 제 1 단말(100)로부터의 테스트 서버(300) 접속 요청(예를 들어, 회원가입 또는 로그인) 또는 단말 목록 전송 요청을 수신함에 따라 동작할 수 있다.
구체적으로, 테스트 단말 선택부(310)는 테스트단말 각각의 단말정보를 저장하고 관리할 수 있다. 이때 테스트단말의 단말정보는 애플리케이션의 테스트를 진행할 때 상기 애플리케이션이 탑재되는 테스트단말에 관한 각종 정보를 포함할 수 있으며, 예를 들어, 테스트단말을 식별하기 위한 식별정보, 테스트단말에 대한 예약 관련 정보(예약 설정 유무, 예약 설정 시의 예약시간정보 등), 단말의 단말모드정보 등을 포함할 수 있다. 여기서 단말모드정보란, 테스트단말의 상태에 관한 정보로서, 예를 들어 테스트단말은, 테스트단말이 서비스(즉, 애플리케이션 테스트 진행) 중인 경우에는 서비스모드, 테스트단말이 서비스 대기 중인 경우에는 대기모드, 또는 테스트단말과의 통신이 원활하지 않은 경우에는 통신오류모드 중 어느 하나의 모드일 수 있다. 그리고, 테스트 단말 선택부(310)는 제 1 단말(100)과 통신연결가능한 테스트 단말들의 목록을 생성하여 제 1 단말(100)로 제공할 수 있다. 목록에 등록된 테스트 단말들은 사용자에 의하여 테스트 서버(300)에 미리 등록된 단말이거나, 제 1 단말(100)의 위치정보를 기준으로 제 1 단말(100)과 미리 설정된 거리 내에 위치한 단말이 될 수 있다. 또한, 테스트 단말 목록은 테스트 단말 각각의 제품명, 모델명, 단말운영체제, 사용가능시간에 대한 정보를 포함할 수 있다. 제 1 단말(100)의 사용자는 이러한 정보를 참고하여, 테스트할 단말을 선택할 수 있다. 테스트 단말 선택부(310)는 제 1 단말(100)로부터 목록 내에서 선택된 테스트 단말의 정보를 수신하며, 수신된 테스트 단말을 선택하여, 제 1 단말(100)과 연동하도록 한다. 여기서는 제 2 단말(200)이 선택되었다고 가정한다.
테스트 단말 선택부(310)는 이러한 테스트 단말 목록을 주기적(예를 들어서, 3초마다)으로 업데이트하여, 제 1 단말(100)이 추후에 재접속할 때 갱신된 테스트 단말 목록을 제공할 수 있다. 또한, 테스트 단말 선택부(310)는 사용자로부터 제 2 단말(200)을 선택한 입력을 수신한 경우, 사용자의 계정으로부터 선택된 테스트 단말의 사용 포인트를 차감할 수 있다.
또한, 테스트 단말 선택부(310)는 단말의 사용 예약과 관련된 예약정보를 저장하고 관리할 수 있다. 따라서 제 1 단말(100)의 예약된 단말에 대한 사용이 요청되면 사용불가 메시지를 제공하거나, 사용가능한 다른 시간을 제공하여 예약하도록 하거나, 사용가능한 다른 단말의 목록을 제공할 수 있다. 예를 들어, 사용자가 선택한 제 2 단말(200)이 현재 타 사용자에 의하여 사용중인 경우, 사용예약 요청을 할 수 있으며, 테스트 단말 선택부(310)는 타 사용자의 사용이 종료된 경우, 제 1 단말(100)의 사용자에게 제 2 단말(200)의 사용이 가능함을 알릴 수 있다.
테스트 모드 선택부(320)는 타겟 애플리케이션을 테스트할 모드를 선택한다. 테스트 모드는 제1 테스트 모드, 제 2 테스트 모드 및 제 3 테스트 모드를 포함한다. 제 1 테스트 모드는 제 1 단말(100)과 제 2 단말(200) 간의 테스트 모드로서, 제 1 단말(100)에서 실행된 동작 이벤트 정보들을 제 2 단말(200)로 전송하여, 제 2 단말(200)에서 실행하게 하고, 실행결과를 제 1 단말(100)로 전송하여 확인할 수 있도록 하는 모드이다. 제 2 테스트 모드는 제 1 단말(100), 제 2 단말(200), 관리 단말(400) 간의 테스트 모드로서, 제 1 테스트 모드와 동일하게 기능하는 것에 부가하여, 제 2 단말(200)에서 수행된 동작결과정보를 관리 단말(400)로도 전송하여 제 2 단말(200)에서의 동작결과정보들을 기록하고 저장하도록 하는 모드이다. 제 3 테스트 모드는 제 2 테스트 모드와 동일하게 기능하는 것에 부가하여, 관리 단말(400)에서도 동작 이벤트를 입력할 수 있도록 하는 모드이다. 제 3 테스트 모드로 동작시, 제 1 단말(100)과 관리 단말(400) 모두 테스트요청 단말로서의 역할을 수행하여 입출력 수단으로 동작할 수 있다.
테스트 모드 선택부(320)는 제 1 단말(100)로 제 1 및 제 2 테스트 모드 중 사용자에게 어느 모드를 선택할 것인지를 요청한다. 이어서, 테스트 모드 선택부(320)는 제 1 단말(100)로부터 사용자가 선택한 모드에 대한 정보를 수신하여, 수신한 정보대로 테스트 모드를 선택한다.
테스트부(330)는 제 2 단말(200)로 제 1 단말(100)의 동작 이벤트 정보들을 전송하여 제 2 단말(200)에서 구현하게 하게 하고, 제 1 단말(100)로 결과를 전송하여 사용자가 테스트 내용을 확인할 수 있도록 한다.
테스트부(330)의 동작 이벤트 분석부(331)는 제 1 단말(100)에서 발생된 동작 이벤트를 수신하고 분석한다. 예를 들어, 제 1 단말(100)에서 타겟 애플리케이션이 시작되거나 종료되는 것에 대한 동작 이벤트, 타겟 애플리케이션에 대한 드래그, 터치 입력에 대한 이벤트, 센서 동작 이벤트, 제 1 단말(100)의 하드웨어 키 동작 이벤트(예를 들어, 스마트 단말에서 홈화면으로 돌아가는 명령을 수행하는 키, 볼륨을 조절하는 키, 전원 온/오프 키와 같이 단말의 스크린 외부에 배치된 키에 대한 동작 이벤트) 등을 수신할 수 있다.
동작 이벤트 분석부(331)는 이러한 여러가지의 동작 이벤트들이 어떠한 이벤트에 속하는 것인지 분석한다. 구체적으로, 동작 이벤트 분석부(331)는 제 1 단말(100)에서 사용자가 입력한 동작 이벤트의 위치정보를 바탕으로 터치 동작 이벤트(예를 들어, 어느 영역의 터치 입력인지, 어느 지점에서 어느 지점까지의 드래그인지)를 분석할 수 있다. 터치 동작 이벤트는 타겟 애플리케이션에 대한 드래그, 롱 프레스(Long Press), 스와이프(Swipe) 입력에 대한 이벤트를 포함할 수 있다. 구체적으로, 사용자가 제 1 단말(100)의 스크린에 터치한 영역의 좌표(예를 들어, (x, y))를 분석하여, 어느 지점에 대한 터치 입력인지, 어느 지점에서 어느 지점으로 향하는 드래그 입력인지 등을 분석할 수 있다.
또한, 동작 이벤트 분석부(331)는 하드웨어 키 또는 센서에 대한 입력이 발생하였는지 감지하여 하드웨어 키 입력 이벤트인지, 센서 동작 이벤트인지 분석할 수 있다. 하드웨어 키 입력 이벤트는 제 1 단말(100)의 볼륨 조절, 전원 온/오프 입력, 메뉴 설정 키 입력, 이전 페이지로 돌아가기 키 입력과 같은 제 1 단말(100)의 스크린 외부에 배치된 하드웨어 키 입력에 대한 이벤트이며, 센서 동작 이벤트는 카메라 센서, 조도 센서, 자이로센서, 적외선 센서 등과 같은 제 1 단말(100)에 내장된 센서가 동작하는 것에 관한 이벤트이다.
테스트부(330)의 단말실행정보 생성부(332)는 분석된 동작 이벤트가 의미하는 동작명령정보를 나타내는 단말실행정보를 생성한다. 예를 들어, 단말실행정보 생성부(332)는 분석된 동작 이벤트가 제 1 단말(100)의 스크린의 어느 한 지점에서 다른 지점으로 드래그하는 동작 정보인 경우, 이러한 동작 정보를 포함하는 단말실행정보를 생성할 수 있다. 예를 들어, 분석된 터치 동작 이벤트가 사진들을 하나씩 이동시키는 드래그 동작인 경우, 단말실행정보 생성부(332)는 이러한 드래그 동작에 대한 좌표정보를 종합하여, 단말실행정보를 생성한다. 한편, 제 1 단말(100)과 제 2 단말(200)의 스크린이 서로 상이한 경우, 제 2 단말(200)에서 실행되는 드래그 영역이 제 1 단말(100)의 드래그 영역과는 상이하게 설정될 수 있다. 예를 들어, 단말실행정보 생성부(332)는 제 1 단말(100)의 스크린 크기와 드래그에 대한 좌표를 단말실행정보로 생성하여 전송할 수 있으며, 제 2 단말(200)은 제 1 단말의 스크린 크기와 제 2 단말의 스크린 크기를 비교하여, 제 2 단말에서 구현되어야 할 드래그의 상대적인 좌표를 구할 수 있다.
한편, 단말실행정보 생성부(332)는 분석된 터치 동작 이벤트에 의해 나타나게 되는 동작명령정보를 단말실행정보로서 생성할 수도 있다.
예를 들어, 제 1 단말(100)과 제 2 단말(200)의 하드웨어 인터페이스가 다른 경우를 가정한다. 즉, 제 1 단말(100)에는 ‘이전 페이지로 돌아가기 명령 키(“
Figure pat00001
”)가 하드웨어 키로서 배치되어 있으나, 제 2 단말(200)에는 이러한 하드웨어 키가 없으며, 타겟 애플리케이션 자체에 이전 페이지로 돌아가기 기능이 존재하는 경우(즉, 제 2 단말(200)에서 터치 입력을 통해 이전 페이지로 돌아갈 수 있는 경우)를 가정한다. 이때, 단말실행정보 생성부(332)는 ‘이전 페이지로 돌아가기 명령 키에 대한 입력’이라는 동작 이벤트 정보를 바탕으로 ‘이전 페이지 돌아가기 명령’이라는 동작명령정보를 생성할 수 있다. 이 경우, 타겟 애플리케이션의 인터페이스 자체에 이전 페이지로 돌아가기 기능이 존재하기 때문에, 제 2 단말(200)로 전송된 ‘이전 페이지 돌아가기 명령’에 따라, 제 2 단말(200)에서도 제 1 단말(100)과 같이 이전페이지로 돌아가는 동작 이벤트가 실행될 수 있다.
또 다른 예로서, 제 1 단말(100)과 제 2 단말(200)의 단말운영체제가 다른 경우를 가정한다. (즉, 제 1 단말(100)은 안드로이드 운영체제, 제 2 단말(200)은 iOS인 경우) 제 1 단말(100)과 제 2 단말(200)에서 채팅 애플리케이션이 테스트되고 있고, 제 1 단말(100) 상에서 채팅창을 나가기 위한 사용자의 명령은 ‘해당 채팅창 영역을 롱 프레스(Long Press)하는 입력(이하, 제 1 입력)’이지만, 제 2 단말(200) 상에서 채팅창을 나가기 위한 사용자의 명령은 ‘해당 채팅창 영역을 오른쪽 방향으로 드래그하는 입력(이하, 제 2 입력)’인 경우를 가정한다. 이때, 단말실행정보 생성부(332)는 제 1 입력에 대한 동작명령정보로서 ‘채팅창 나가기 정보’를 생성하여 제 2 단말(200)로 전송함으로써, 제 2 단말(200)에서도 동일한 기능이 구현되도록 할 수 있다.
이러한 방식의 동작에 따라, 제 1 단말(100)과 제 2 단말(200)이 서로 다른 단말운영체제(예를 들어, iOS와 안드로이드)와 서로 다른 하드웨어 인터페이스(예를 들어, iOS기반의 스마트 단말과 안드로이드 기반의 스마트 단말)를 갖더라도 동일한 명령을 수행할 수 있다.
단말실행정보 전송부(333)는 생성된 단말실행정보를 제 2 단말(200)로 전송한다. 제 2 단말(200)은 단말실행정보에 따라 동작을 수행할 수 있다. 그에 따라, 제 1 단말(100)에서 실행된 동작 이벤트는 제 2 단말(200)에서 그대로 수행될 수 있다.
이때, 단말실행정보 전송부(333)는, 제 2 단말(200)과의 통신을 가능하게 하는 모듈이며, 제 2 단말(200)의 제1포트 및 제2포트 중 적어도 하나의 포트를 통해 제 2 단말(200)과의 데이터를 교환함으로써 제 2 단말(200) 상에서 애플리케이션의 실행을 테스트하도록 할 수 있다.
제 2 단말(200)의 통신포트는 제1포트 및 제2포트를 포함할 수 있다. 제1포트는 와이파이(wifi) 포트 또는 3G 또는 4G 네트워크 통신 포트일 수 있으며, 제2포트는 USB(universal serial bus) 포트일 수 있다. 예를 들어, 제 2 단말(200)의 제1포트는, 애플리케이션을 수신할 수 있으며, 상기 애플리케이션의 동작을 위한 신호을 송수신할 수 있는데, 예를 들어, 제 2 단말(200)(또는 애플리케이션)을 제어하기 위한 제어신호 또는 이벤트정보를 수신할 수 있고, 또한 상기 애플리케이션의 실행에 따른 로그데이터를 송신할 수 있다. 또한 예를 들어 제 2 단말(200)의 제2포트는, 제 2 단말(200) (또는 애플리케이션)을 제어하기 위한 제어정보를 수신할 수 있으며, 또는 영상컨텐츠를 송신할 수 있다.
여기서 '영상컨텐츠'는 애플리케이션이 실행되는 모습을 녹화하여 사용자단말로 스트리밍될 수 있는 컨텐츠일 수 있으며, 또는 애플리케이션의 실행결과 제 2 단말(200) 상에서 구동되는 영상일 수 있다. 이러한 영상컨텐츠는 비디오정보 및 오디오정보 중 적어도 하나를 포함한다. 오디오정보는 영상컨텐츠에 포함되는 소리에 관한 정보일 수 있으며, 비디오정보는 영상컨텐츠에서 오디오정보가 제거되고 남은 정보, 예를 들어, 동영상 및 정지영상 중 적어도 하나를 포함하는 정보일 수 있다. 단말실행정보 전송부(333)는 영상컨텐츠에서 비디오정보와 오디오정보를 각각 추출하여 적합한 포트를 지정하여 제 2 단말(200)로 전송할 수 있다.
반면 단말실행정보 전송부(333)는 제 2 단말(200)의 단말모드에 따라 제 2 단말(200)의 통신포트를 결정하여 통신할 수 있다. 예를 들어, 제 2 단말(200)이 서비스모드인 경우 제1포트를 통해 로그데이터, 애플리케이션 실행 결과 등의 정보를 수신할 수 있고, 제1포트를 통해 애플리케이션을 제 2 단말(200) 상에 설치하거나 제 2 단말(200)(또는 타겟 애플리케이션)을 제어하기 위한 제어정보를 송신할 수 있다. 또한, 예를 들어, 제 2 단말(200)이 서비스모드인 경우 단말실행정보 전송부(333)는 동시에 제1포트 및 제2포트를 통해 제 2 단말(200)과 통신할 수 있고, 이러한 경우에는 제1포트를 통해 로그데이터, 애플리케이션 실행 결과 등의 정보, 또는 제어정보를 송수신할 수 있으며, 제2포트를 통해 영상컨텐츠 또는 제어정보를 송수신할 수 있다.
또한, 단말실행정보 전송부(333)는 제 2 단말(200)과의 교환데이터의 종류에 기초하여 제 2 단말(200)과의 통신포트를 결정하고, 상기 결정된 통신포트를 통해 상기 교환데이터를 제 2 단말(200)과 교환할 수 있다. 예를 들어, 단말실행정보 전송부(333)는 제 2 단말(200)과 교환되어야 할 데이터가 로그데이터인 경우 테스트단말의 제1포트를 통해 제 2 단말(200)과 통신할 수 있다. 또한 예를 들어, 단말실행정보 전송부(333)는 제 2 단말(200)과 교환되어야 할 데이터가 비디오신호 또는 오디오신호 등의 영상컨텐츠인 경우, 제 2 단말(200)의 제2포트를 통해 테스트단말과 통신할 수 있다.
동작결과정보 송수신부(334)는 제 2 단말(200)로부터 수신한 동작결과정보를 제 1 단말(100)로 전송한다. 사용자는 제 2 단말(200)에서 수행된 테스트 내용을 확인할 수 있어야 하므로, 동작결과정보 송수신부(334)는 단말실행정보에 따라 제 2 단말(200)에서 수행된 동작에 대한 동작결과정보를 수신한다. 그리고, 동작결과정보 송수신부(334)는 이러한 동작결과정보를 제 1 단말(100)로 전송함으로써, 사용자가 제 2 단말(200)에서 수행된 타겟 애플리케이션의 실행내용을 확인할 수 있도록 한다.
한편, 동작결과정보 송수신부(334)는 테스트 애플리케이션이 제 2 테스트 모드로 동작하고 있는 경우, 동작결과정보를 관리 단말(400)로도 전송할 수 있다. 관리 단말(400)은 동작결과정보를 수신하여, 제 2 단말(200)에서 수행되는 타겟 애플리케이션의 동작들을 사용자에게 보여주고 기록하고, 저장할 수 있다. 관리 단말(400)은 제 2 단말(200)에서 실행되는 동작들을 실시간으로 관리 단말(400)의 화면 상에서도 표시하여 제공할 수도 있다.
테스트부(330)의 동작결과정보 저장부(335)는 테스트 애플리케이션이 제 2 테스트 모드로 동작하는 경우, 제 1 단말(200) 또는 관리 단말(400)로 전송된 동작결과정보를 저장하기 위한 저장영역을 생성하고, 생성된 저장영역에 동작결과정보를 저장한다. 동작결과정보 저장부(335)는 테스트요청 단말(즉, 제 1 단말(100))과 테스트단말(즉, 제 2 단말(200))에 대한 식별정보와 이에 대응하는 저장영역을 생성하고, 생성된 저장영역에 동작결과정보를 저장할 수 있다. 제 1 단말(100)이 제 2 단말(200)을 통하여 테스트를 수행하는 것과 제 3 단말을 통하여 테스트를 수행하는 것은 다를 수 있기 때문에, 각각의 테스트 정보를 용이하게 식별하기 위하여 각 저장영역에 대하여 테스트요청 단말과 테스트 단말의 식별정보를 연관시켜 저장할 수 있다. 테스트부(330)는 추후에 관리 단말(400)로부터 테스트 정보를 열람하기 위한 요청을 수신할 경우, 해당 테스트 정보를 동작결과정보 저장부(335)의 일 저장영역으로부터 추출하여 관리 단말(400)로 제공할 수 있다.
한편, 본 발명의 일 실시예는 테스트 애플리케이션이 실행된 후, 테스트 애플리케이션에 대한 메뉴 인터페이스를 제공할 수 있다. 테스트 애플리케이션이 실행된 후, 제 1 단말(100)의 스크린에 대한 터치 입력 뿐만 아니라 하드웨어 키에 대한 입력도 제 2 단말(200)에서 테스트 하기 위한 입력으로 간주될 수 있다. 따라서, 테스트 애플리케이션이 실행된 후의 제 1 단말(100)은 제 2 단말(200)의 입출력수단으로서 기능하게 된다. 예를 들어, 테스트 애플리케이션을 실행한 후, 테스트 애플리케이션을 종료하기 위하여 ‘전원 온/오프 키’를 누르하더라도, 테스트 애플리케이션이 종료되지 않을 수 있다.
이러한 점을 보완하기 위하여, 본 발명의 일 실시예는 제 1 단말(100)에서 실행된 테스트 애플리케이션 자체에 대한 명령을 인식하기 위한 메뉴 인터페이스를 제공할 수 있다. 메뉴 인터페이스는 도 3과 같이 제 1 단말(100)의 화면 하단에 숨김 인터페이스(ME1)로 제공될 수 있으며, 사용자가 숨김 인터페이스(ME1)를 탭(또는 터치)하거나 상단으로 드래그할 경우, 도 4와 같은 전체 인터페이스(ME2)기 제공될 수 있다. 전체 인터페이스(ME2)는 이전 페이지로 돌아가기 위한 키(즉, ‘Back’), 테스트 애플리케이션 설정 키(즉, ‘Setting’ : 메뉴 인터페이스의 위치 조정, 스크린에 표시되는 영상의 퀄리티 조정, 볼륨 조절 등을 포함함), 테스트 애플리케이션 종료 키(즉, ‘Exit’)를 포함할 수 있다. 제 1 단말(100)은 사용자가 메뉴 인터페이스에 대한 입력을 수행할 경우, 사용자가 제 1 단말(100)에 입력한 동작 이벤트들을 테스트 서버(300)로 전송하지 않고 단말 내에서 수행할 수 있다. 즉, 영상의 퀄리티 조정이나 볼륨 조정 등은 제 1 단말(100) 자체에서 수행될 수 있다. 다만, 사용자가 ‘Exit’ 를 입력하는 경우, 제 1 단말(100)은 테스트서버에 테스트가 종료되었음을 알리고, 테스트서버는 제 2 단말(200)로 실행된 테스트 모드를 종료하는 명령을 전송할 수 있다.
이하, 도 5를 통하여, 본 발명의 일 실시예에 따르는 애플리케이션 테스트 관리 방법에 대하여 구체적으로 설명한다. 도 5를 통하여 설명되는 방법은, 애플리케이션 테스트 관리 장치(200)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 2, 3, 4에 도시된 장치(300)에 관하여 기술한 내용은 도 5에 도시된 방법에도 적용될 수 있다.
먼저, 제 1 단말(100)에서 테스트 애플리케이션이 실행된다(S101).
테스트 애플리케이션이 실행됨에 따라, 제 1 단말(100)은 테스트 서버(300)로 서버 접속 요청을 전송한다(S102).
테스트 서버(300)는 이러한 서버 접속 요청을 수신하고, 제 1 단말(100)로 테스트 모드 선택 요청을 전송한다(S103). 그에 따라, 제 1 단말(100) 상에는 테스트 모드 선택을 위한 사용자 인터페이스가 표시될 수 있다. 테스트 모드는 전술한 바와 같이 제 1 테스트 모드와 제 2 테스트 모드를 포함한다.
제 1 테스트 모드는 제 1 단말(100)과 제 2 단말(200) 간의 테스트 모드로서, 제 1 단말(100)에서 실행된 동작 이벤트 정보들을 제 2 단말(200)로 전송하여, 제 2 단말(200)에서 실행하게 하고, 실행결과를 제 1 단말(100)로 전송하여 확인할 수 있도록 하는 모드이다. 제 2 테스트 모드는 제 1 단말(100), 제 2 단말(200), 관리 단말(400) 간의 테스트 모드로서, 제 1 테스트 모드와 동일하게 기능하는 것에 부가하여, 제 2 단말(200)에서 수행된 동작결과정보를 관리 단말(400)로도 전송하여 제 2 단말(200)에서의 동작결과정보들을 기록하고 저장하도록 하는 모드이다.
이하, 제 2 테스트 모드가 선택된 경우를 가정한다(S104). 테스트 서버(300)는 제 1 단말(100)로부터 제 2 테스트 모드가 선택되었다는 메시지를 수신할 수 있다.
이어서, 테스트 서버(300)는 제 1 단말(100)과 통신연결 가능한 테스트 단말 목록을 제 1 단말(100)로 전송한다(S105). 테스트 서버(300)는 서버(300)에 미리 등록되어 있는 테스트 단말의 목록을 전송할 수 있다. 테스트 단말 목록은 각 테스트 단말에 대한 제품정보, 사용자 정보, 사용가능시간 등에 대한 정보를 포함할 수 있다.
테스트 서버(300)는 제 1 단말(100)로부터 테스트 단말 목록 중 제 2 단말(200)을 선택하는 입력을 수신할 수 있다(S106).
이어서, 제 1 단말(100)에서는 타겟 애플리케이션이 실행되며, 타겟 애플리케이션과 관련한 다양한 동작이 사용자에 의해 입력될 수 있다(S107). 예를 들어, 사진첩 애플리케이션을 시작하는 입력, 사진들을 하나씩 넘기는 입력, 사진 설정을 바꾸는 입력 등에 관한 동작 이벤트가 입력될 수 있다.
테스트 서버(300)는 사용자에 의해 입력된 동작 이벤트를 수신하고(S108), 수신된 동작 이벤트를 분석한다(S109). 예를 들어, 터치 동작 이벤트, 하드웨어 키 입력 이벤트, 센서 동작 이벤트 중 어느 것인지 분석할 수 있다.
테스트 서버(300)는 분석된 동작 이벤트에 따라 단말실행정보를 생성한다(S110). 예를 들어, 테스트 서버(300)는 사용자가 터치한 제 1 단말(100)의 스크린의 좌표를 분석하여, 단순 터치 입력인지, 드래그인지 등을 파악할 수 있으며, 분석된 좌표정보를 단말실행정보로 생성할 수 있다.
테스트 서버(300)는 단말실행정보를 제 2 단말(200)로 전송한다(S111). 제 2 단말(200)은 전송된 정보가 터치 입력 정보인 경우, 터치 입력 정보를 그대로 수행하여, 제 1 단말(100)에서 구현된 동작과 동일한 동작을 표시할 수 있다.
테스트 서버(300)는 제 2 단말(200)로부터 단말실행정보에 따라 수행된 동작에 대한 동작결과정보를 수신한다(S112).
테스트 서버(300)는 제 1 테스트 모드로 동작하는 경우, 제 1 단말(100)로만 동작결과정보를 전송할 수 있으나, 제 2 테스트 모드로 동작하는 경우, 제 1 단말(100)과 관리 단말(400)로 동작결과정보를 전송할 수 있다(S113). 관리 단말(400)은 제 2 단말(200)에서 테스트되는 내용들을 기록하고 저장하는 역할을 수행한다. 이때, 관리 단말(400)은 제 2 단말(200)에서 구현되는 테스트 내용들을 실시간으로 표시할 수도 있다.
제 1 단말(100)은 테스트 서버(300)로부터 수신한 동작결과정보에 따르는 동작을 화면에 표시하여 사용자에게 제공한다(S114). 이로써 사용자는 제 2 단말(200)에서 수행된 동작 내역을 제 1 단말(100)로 확인할 수 있다.
이상으로 설명한 바와 같이, 본 발명의 일 실시예에 따르는 애플리케이션 테스트 관리 방법 및 장치는 테스트요청 단말과 테스트 단말 간의 단말운영체제나 하드웨어적 특성이 상이하더라도, 테스트요청 단말에서 수행된 명령이 테스트 단말에서도 동일하게 나타나도록 함으로써, 단말의 시스템 차이에서 비롯된 테스트 장벽을 제거할 수 있다. 또한, 본 발명의 일 실시예는 테스트요청 단말과 테스트 단말 간에 수행되는 테스트 내용을 PC에서 모니터링하고 기록하게 함으로써, 종전과 같이 PC로 어렵게 테스트 단말을 제어함으로써 애플리케이션을 테스트하고 테스트 내용을 기록하던 불편함을 제거할 수 있다.
도 5를 통해 설명된 실시예에 따른 애플리케이션 테스트 관리 방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100 : 제 1 단말 200 : 제 2 단말
300 : 테스트 서버 310 : 테스트 단말 선택부
320 : 테스트 모드 선택부 330 : 테스트부
331 : 동작 이벤트 분석부 332 : 단말실행정보 생성부
333 : 단말실행정보 전송부 334 : 동작결과정보 송수신부
335 : 동작결과정보 저장부 400 : 관리 단말

Claims (20)

  1. 테스트 서버에 의하여 수행되는 애플리케이션 테스트 관리 방법에 있어서,
    제 1 단말로부터 상기 테스트 서버에 대한 접속 요청을 수신하는 단계;
    상기 제 1 단말로 제 1 테스트 모드 또는 제 2 테스트 모드에 대한 선택을 요청하는 단계; 및
    상기 제 1 단말에 의해 선택된 모드에 따라 상기 제 1 단말에서 실행되는 애플리케이션 동작을 제 2 단말로 제공하여 상기 애플리케이션을 테스트하는 단계;를 포함하며,
    상기 제 1 테스트 모드는 상기 제 1 단말과 상기 제 2 단말을 연동하여 상기 제 1 단말에서의 애플리케이션 동작을 상기 제 2 단말에서 구현하는 모드이며, 상기 제 2 테스트 모드는 상기 제 1 테스트 모드에서 관리 단말을 부가하여 상기 제 2 단말에서 실행되는 테스트 정보를 상기 관리 단말에 기록하는 모드인, 애플리케이션 테스트 관리 방법.
  2. 제 1 항에 있어서,
    상기 애플리케이션을 테스트하는 단계는,
    상기 제 1 단말로 테스트 가능한 단말의 목록을 전송하는 단계;
    상기 제 1 단말로부터 상기 단말의 목록 중 상기 제 2 단말을 선택하는 입력을 수신하는 단계;
    상기 제 1 단말에서 실행된 애플리케이션에 대한 동작 이벤트를 상기 제 1 단말로부터 수신하는 단계;
    상기 제 2 단말에서 상기 동작 이벤트대로 상기 애플리케이션이 동작하도록 상기 애플리케이션에 대한 동작 이벤트의 정보를 상기 제 2 단말로 송신하는 단계; 및
    상기 제 2 단말로부터 상기 애플리케이션의 동작결과정보를 수신하여 상기 제 1 단말로 전송하는 단계;
    를 포함하는, 애플리케이션 테스트 관리 방법.
  3. 제 2 항에 있어서,
    상기 애플리케이션 테스트 관리 방법은,
    상기 제 1 단말로부터 상기 애플리케이션에 대한 동작 이벤트를 수신한 후, 상기 동작 이벤트의 형태가 터치 동작 이벤트, 하드웨어 키 입력 이벤트 및 센서 동작 이벤트 중 어느 하나인지 분석하는 단계; 및
    상기 분석된 동작 이벤트의 형태에 따라 단말실행정보를 생성하는 단계;
    를 더 포함하는, 애플리케이션 테스트 관리 방법.
  4. 제 3 항에 있어서,
    상기 분석된 동작 이벤트의 형태에 따라 단말실행정보를 생성하는 단계는,
    상기 분석된 동작 이벤트의 동작에 대한 정보를 나타내는 단말실행정보를 생성하거나, 상기 애플리케이션에 대하여 상기 분석된 동작 이벤트가 의미하는 동작명령정보를 나타내는 단말실행정보를 생성하는, 애플리케이션 테스트 관리 방법.
  5. 제 4 항에 있어서,
    상기 애플리케이션에 대한 동작 이벤트의 정보를 상기 제 2 단말로 송신하는 단계는,
    상기 단말실행정보를 상기 제 2 단말로 송신하는 단계를 포함하는, 애플리케이션 테스트 관리 방법.
  6. 제 3 항에 있어서,
    상기 터치 동작 이벤트는, 사용자가 상기 제 1 단말의 터치 스크린에 터치 입력을 수행한 이벤트이며,
    상기 하드웨어 키 입력 이벤트는, 상기 사용자가 상기 제 1 단말의 터치 스크린 외부 영역의 키에 대하여 입력을 수행한 이벤트이며,
    상기 센서 동작 이벤트는, 상기 제 1 단말의 내부 센서의 동작에 대한 이벤트인, 애플리케이션 테스트 관리 방법.
  7. 제 2 항에 있어서,
    상기 애플리케이션을 테스트하는 단계는,
    상기 제 2 테스트 모드가 선택된 경우, 상기 제 2 단말로부터 수신한 동작결과정보를 관리 단말로 전송하는 단계를 더 포함하는, 애플리케이션 테스트 관리 방법.
  8. 제 7 항에 있어서,
    상기 애플리케이션을 테스트하는 단계는,
    상기 애플리케이션의 동작결과정보를 수신한 후, 상기 제 1 단말에 대한 저장영역을 생성하는 단계; 및
    상기 동작결과정보를 상기 저장영역에 저장하는 단계;
    를 더 포함하는, 애플리케이션 테스트 관리 방법.
  9. 제 8 항에 있어서,
    상기 애플리케이션 테스트 관리 방법은,
    상기 관리 단말로부터 상기 제 1 단말의 테스트 정보를 호출하는 요청을 수신하는 단계; 및
    상기 저장영역에 저장된 상기 제 1 단말의 상기 제 2 단말에 대한 동작결과 정보를 상기 관리 단말로 전송하는 단계;
    를 더 포함하는, 애플리케이션 테스트 관리 방법.
  10. 제 1 항에 있어서,
    상기 제 1 및 제 2 단말은 휴대용 스마트 단말인, 애플리케이션 테스트 관리 방법.
  11. 애플리케이션 테스트 관리 장치에 있어서,
    제 1 단말로부터 상기 애플리케이션 테스트 관리 장치에 대한 접속 요청을 수신하고, 상기 제 1 단말로 제 1 테스트 모드 또는 제 2 테스트 모드에 대한 선택을 요청하는 테스트 모드 선택부; 및
    상기 제 1 단말에 의해 선택된 모드에 따라 상기 제 1 단말에서 실행되는 애플리케이션 동작을 제 2 단말로 제공하여 상기 애플리케이션을 테스트하는 테스트부;를 포함하며,
    상기 제 1 테스트 모드는 상기 제 1 단말과 상기 제 2 단말을 연동하여 상기 제 1 단말에서의 애플리케이션 동작을 상기 제 2 단말에서 구현하는 모드이며, 상기 제 2 테스트 모드는 상기 제 1 테스트 모드에서 관리 단말을 부가하여 상기 제 2 단말에서 실행되는 테스트 내용을 상기 관리 단말에 기록하는 모드인, 애플리케이션 테스트 관리 장치.
  12. 제 11 항에 있어서,
    상기 애플리케이션 테스트 관리 장치는,
    상기 제 1 단말로 테스트 가능한 단말의 목록을 전송하고, 상기 제 1 단말로부터 상기 단말의 목록 중 상기 제 2 단말을 선택하는 입력에 따라 상기 제 2 단말을 선택하는 테스트 단말 선택부를 더 포함하는, 애플리케이션 테스트 관리 장치.
  13. 제 11 항에 있어서,
    상기 테스트부는,
    상기 제 1 단말에서 실행된 애플리케이션에 대한 동작 이벤트를 상기 제 1 단말로부터 수신하고, 상기 제 2 단말에서 상기 동작 이벤트대로 상기 애플리케이션이 동작하도록 상기 애플리케이션에 대한 동작 이벤트의 정보를 상기 제 2 단말로 송신하며, 상기 제 2 단말로부터 상기 애플리케이션의 동작결과정보를 수신하여 상기 제 1 단말로 전송하는, 애플리케이션 테스트 관리 장치.
  14. 제 13 항에 있어서,
    상기 테스트부는,
    상기 제 1 단말로부터 상기 애플리케이션에 대한 동작 이벤트를 수신한 후, 상기 동작 이벤트의 형태가 터치 동작 이벤트, 하드웨어 키 입력 이벤트 및 센서 동작 이벤트 중 어느 하나인지 분석하는 동작 이벤트 분석부; 및
    상기 분석된 동작 이벤트의 형태에 따라 단말실행정보를 생성하는 단말실행정보 생성부;
    를 더 포함하는, 애플리케이션 테스트 관리 장치.
  15. 제 14 항에 있어서,
    상기 단말실행정보 생성부는,
    상기 분석된 동작 이벤트의 동작에 대한 정보를 나타내는 단말실행정보를 생성하거나, 상기 애플리케이션에 대하여 상기 분석된 동작 이벤트가 의미하는 동작명령정보를 나타내는 단말실행정보를 생성하는, 애플리케이션 테스트 관리 장치.
  16. 제 14 항에 있어서,
    상기 테스트부는,
    상기 단말실행정보를 상기 제 2 단말로 송신하는, 애플리케이션 테스트 관리 장치.
  17. 제 14 항에 있어서,
    상기 터치 동작 이벤트는, 사용자가 상기 제 1 단말의 터치 스크린에 터치 입력을 수행한 이벤트이며,
    상기 하드웨어 키 입력 이벤트는, 상기 사용자가 상기 제 1 단말의 터치 스크린 외부 영역의 키에 대하여 입력을 수행한 이벤트이며,
    상기 센서 동작 이벤트는, 상기 제 1 단말의 내부 센서의 동작에 대한 이벤트인, 애플리케이션 테스트 관리 장치.
  18. 제 13 항에 있어서,
    상기 테스트부는,
    상기 제 2 테스트 모드가 선택된 경우, 상기 제 2 단말로부터 수신한 동작결과정보를 관리 단말로 전송하는, 애플리케이션 테스트 관리 장치.
  19. 제 18 항에 있어서,
    상기 테스트부는,
    상기 애플리케이션의 동작결과정보를 수신한 후, 상기 제 1 단말에 대한 저장영역을 생성하고, 상기 동작결과정보를 상기 저장영역에 저장하는, 애플리케이션 테스트 관리 장치.
  20. 제 19 항에 있어서,
    상기 테스트부는,
    상기 관리 단말로부터 상기 제 1 단말의 테스트 정보를 호출하는 요청을 수신함에 따라, 상기 저장영역에 저장된 상기 제 1 단말의 상기 제 2 단말에 대한 동작결과정보를 상기 관리 단말로 전송하는, 애플리케이션 테스트 관리 장치.
KR1020140054456A 2014-05-07 2014-05-07 애플리케이션 테스트 관리 방법 및 장치 KR101575723B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140054456A KR101575723B1 (ko) 2014-05-07 2014-05-07 애플리케이션 테스트 관리 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140054456A KR101575723B1 (ko) 2014-05-07 2014-05-07 애플리케이션 테스트 관리 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20150127505A true KR20150127505A (ko) 2015-11-17
KR101575723B1 KR101575723B1 (ko) 2015-12-08

Family

ID=54786104

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140054456A KR101575723B1 (ko) 2014-05-07 2014-05-07 애플리케이션 테스트 관리 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101575723B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018097345A1 (ko) * 2016-11-23 2018-05-31 주식회사 비디 분산 컴퓨팅 기반의 어플리케이션 객체 분석 방법, 이를 수행하는 어플리케이션 객체 분석 서버 및 이를 저장하는 기록매체
CN108446222A (zh) * 2018-03-05 2018-08-24 百度在线网络技术(北京)有限公司 应用测试方法、装置及设备
KR20190120983A (ko) * 2018-04-17 2019-10-25 어니컴 주식회사 앱 모니터링 장치 및 방법
WO2020071566A1 (ko) * 2018-10-02 2020-04-09 우수정 스위치백 ui 제공 방법 및 장치
CN112416741A (zh) * 2019-12-26 2021-02-26 上海哔哩哔哩科技有限公司 一种应用程序兼容性的测试方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018097345A1 (ko) * 2016-11-23 2018-05-31 주식회사 비디 분산 컴퓨팅 기반의 어플리케이션 객체 분석 방법, 이를 수행하는 어플리케이션 객체 분석 서버 및 이를 저장하는 기록매체
CN108446222A (zh) * 2018-03-05 2018-08-24 百度在线网络技术(北京)有限公司 应用测试方法、装置及设备
KR20190120983A (ko) * 2018-04-17 2019-10-25 어니컴 주식회사 앱 모니터링 장치 및 방법
WO2020071566A1 (ko) * 2018-10-02 2020-04-09 우수정 스위치백 ui 제공 방법 및 장치
CN112416741A (zh) * 2019-12-26 2021-02-26 上海哔哩哔哩科技有限公司 一种应用程序兼容性的测试方法及装置

Also Published As

Publication number Publication date
KR101575723B1 (ko) 2015-12-08

Similar Documents

Publication Publication Date Title
US11825555B2 (en) Systems and methods for real-time remote control of mobile applications
CN110673782B (zh) 一种应用于投屏场景的控制方法以及相关设备
EP3023930B1 (en) Screenshot processing device and method for same
US9577692B2 (en) Subscriber identification module management method and electronic device supporting the same
KR101575723B1 (ko) 애플리케이션 테스트 관리 방법 및 장치
US11204681B2 (en) Program orchestration method and electronic device
US11363066B2 (en) Method and device for information processing, test terminal, test platform and storage medium
CN104685487A (zh) 与附近设备共享内容
KR101522307B1 (ko) 앱테스트시스템 및 앱테스트방법
CN110869907A (zh) 一种浏览应用页面的方法及终端
CN111866885A (zh) 验证信息共享方法、装置及电子设备
US10796087B2 (en) Method and apparatus for obtaining web content
WO2018218165A1 (en) Emulated register input control adapter
WO2023030265A1 (zh) 控制方法及电子设备
CN110647827A (zh) 评论信息处理方法、装置以及电子设备、存储介质
EP3097706B1 (en) Electronic device for sharing data and method for controlling the same
CN109085982A (zh) 内容识别方法、装置及移动终端
CN106796523B (zh) 智能控制的方法、装置、电子设备以及系统
CN108601064B (zh) 一种提供及获取无线接入点相关信息的方法
CN108471635B (zh) 用于连接无线接入点的方法和设备
JP2017102847A (ja) 情報処理システム、中継装置、方法およびプログラム
CN112637407A (zh) 语音输入方法、装置及电子设备
Jenner et al. Towards the development of 1-to-n human machine interfaces for unmanned aerial vehicles
US11886325B2 (en) Network status simulation for remote device infrastructure
CN114024953B (zh) 一种文件传输方法、装置及电子设备

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
FPAY Annual fee payment

Payment date: 20181128

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191120

Year of fee payment: 5