KR101027971B1 - 애플리케이션 검사 가능한 이동통신 단말기 및 그 검사 방법 - Google Patents
애플리케이션 검사 가능한 이동통신 단말기 및 그 검사 방법 Download PDFInfo
- Publication number
- KR101027971B1 KR101027971B1 KR1020100126419A KR20100126419A KR101027971B1 KR 101027971 B1 KR101027971 B1 KR 101027971B1 KR 1020100126419 A KR1020100126419 A KR 1020100126419A KR 20100126419 A KR20100126419 A KR 20100126419A KR 101027971 B1 KR101027971 B1 KR 101027971B1
- Authority
- KR
- South Korea
- Prior art keywords
- event
- application
- inspection
- command
- events
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
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)
- Debugging And Monitoring (AREA)
Abstract
애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며 애플리케이션 상호 간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 이동통신 단말기의 애플리케이션 계층에서 동작하는 검사 에이전트의 애플리케이션 검사 방법이 개시된다. 이 검사 에이전트의 애플리케이션 검사 방법은 검사 장치로부터 검사 대상 애플리케이션을 검사하기 위한 명령을 전달받는 단계, 전달된 명령에 대응하는 이벤트를 생성하는 단계, 및 생성된 이벤트를 검사 대상 애플리케이션으로 전달하기 위해 프레임워크 계층에 위치하는 윈도우 매니저에 등록하는 단계를 포함한다. 이에 의해 안드로이드 플랫폼과 같이 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며 애플리케이션 상호 간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 이동통신 단말기의 애플리케이션을 검사하는 것이 가능하다.
Description
호스트(예를 들어 PC)에서 디바이스(예를 들어, 스마트폰)의 상태를 확인하거나 제어하기 위한 기술에 관한 것이다.
안드로이드 플랫폼은 구글(Google)사가 주도하는 OHA(Open Handset Alliance)에서 공개한 소프트웨어 스택으로, 리눅스(Linux) 커널, 가상 머신(virtual machine, VM), 프레임워크(framework), 애플리케이션(application)을 모두 포함하는 소프트웨어 패키지를 의미한다. 안드로이드 플랫폼은 주로 해상도 800×400의 WVGA(wide VGA)급의 큰 화면의 디스플레이와 터치스크린 입력을 제공하는 고사양의 스마트 단말에만 적용이 가능하다. 안드로이드 애플리케이션을 실행시키기 위해서는 스마트 단말에 안드로이드 전체 소프트웨어 스택을 적용해야 한다. 안드로이드 소프트웨어 스택은 리눅스 커널을 포함하고, 있으며, 시스템 데몬과 같은 기본 서비스를 다수 포함하고 있기 때문에, 고사양의 하이-엔드(high-end) 스마트폰에 적합한 플랫폼이다.
한편, 현재 안드로이드 스마트폰에서는 일반적으로 애플리케이션 계층(Application Layer)에 상주하는 하나의 애플리케이션이 그와 동등한 위상을 가지는 다른 애플리케이션을 제어하거나 동작 상태를 확인할 수 있는 방법이 없다. 왜냐하면, 안드로이드 플랫폼은 애플리케이션 계층 상에 존재하는 각각의 애플리케이션들이 서로 다른 애플리케이션과 독립적으로 동작하도록 설계되어 있기 때문이다. 따라서, 기본적으로 애플리케이션 개발자가 특별히 자신이 개발한 애플리케이션 간의 정보교환을 위해 별도의 인터페이스를 만드는 설계를 하지 않는 한, 하나의 애플리케이션은 다른 애플리케이션의 동작을 감시하거나 제어할 수 없다.
이러한 안드로이드 플랫폼 구조는 다양하고 수많은 안드로이드 애플리케이션의 정상 동작 여부를 검사하고 평가 검사 프로그램을 개발하는 데 있어서 결정적인 장애요소가 된다. 더욱이, 안드로이드 스마트폰에 설치되는 응용 소프트웨어들이 서로 다른 개발자들로부터 자유롭게 개발되고 그 수가 기하급수적으로 늘어남에 따라, 응용 소프트웨어 품질의 신뢰성 확보에 대한 문제 의식과 관리 방안이 강력하게 요구되고 있는 실정이다.
본 발명은 애플리케이션 계층에 위치하는 애플리케이션들이 서로 독립적으로 동작하며 서로에게 직접적으로 어떠한 명령을 주거나 받을 수 없도록 설계된 플랫폼이 탑재된 스마트폰의 애플리케이션 동작 상태를 검사할 수 있는 기술적 방안을 제공함을 목적으로 한다.
전술한 기술적 과제를 달성하기 위한 본 발명의 일 양상에 따른 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며 애플리케이션 상호 간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 이동통신 단말기의 애플리케이션 계층에서 동작하는 검사 에이전트의 애플리케이션 검사 방법은, 검사 에이전트의 애플리케이션 검사 방법은 검사 장치로부터 검사 대상 애플리케이션을 검사하기 위한 명령을 전달받는 단계, 전달된 명령에 대응하는 이벤트를 생성하는 단계, 및 생성된 이벤트를 검사 대상 애플리케이션으로 전달하기 위해 프레임워크 계층에 위치하는 윈도우 매니저에 등록하는 단계를 포함한다. 여기서 명령을 전달받는 단계는 ADB(Android Debug Bridge)를 통해 명령을 전달받는다.
나아가 검사 에이전트의 애플리케이션 검사 방법은 라이브러리 계층에 위치하는 이벤트 드라이버에 직접 접근하여 이벤트들을 획득하는 단계, 획득한 이벤트들을 분석하여 분류하는 단계, 분류된 이벤트들 중 검사 대상 애플리케이션에 해당하는 이벤트만을 추출하는 단계, 및 추출된 이벤트를 검사 장치로 전달하는 단계를 포함한다. 여기서 전달하는 단계는 추출된 이벤트를 ADB(Android Debug Bridge)를 통해 검사 장치로 전달한다.
전술한 기술적 과제를 달성하기 위한 본 발명의 다른 양상에 따른 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며 애플리케이션 상호 간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 이동통신 단말기의 애플리케이션 계층에서 동작하는 검사 에이전트의 애플리케이션 검사 방법은, 라이브러리 계층에 위치하는 이벤트 드라이버에 직접 접근하여 이벤트들을 획득하는 단계, 획득한 이벤트들을 분석하여 분류하는 단계, 분류된 이벤트들 중 검사 대상 애플리케이션에 해당하는 이벤트만을 추출하는 단계, 및 추출된 이벤트를 검사 장치로 전달하는 단계를 더 포함한다.
한편, 전술한 기술적 과제를 달성하기 위한 본 발명의 일 양상에 따른 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며 애플리케이션 상호 간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 애플리케이션 검사 가능한 이동통신 단말기는 애플리케이션 동작 검사를 위한 검사 장치와의 통신을 위한 통신부, 및 검사 장치로부터 통신부를 통해 전달된 검사 대상 애플리케이션을 검사하기 위한 명령을 분석하는 명령 분석부와 분석된 명령에 대응하는 이벤트를 생성하는 이벤트 생성부 및 생성된 이벤트를 검사 대상 애플리케이션으로 전달하기 위해 애플리케이션 프레임워크 계층의 윈도우 매니저에 등록하는 이벤트 등록부를 포함하는 제어부를 포함한다.
나아가 제어부는 라이브러리 계층에 위치하는 이벤트 드라이버에 직접 접근하여 이벤트들을 획득하는 이벤트 획득부, 획득된 이벤트들을 분석하는 이벤트 분석부, 및 분석 결과에 따라 검사 대상 애플리케이션에 해당하는 이벤트만을 추출하여 검사 장치로 전달하는 이벤트 추출부를 더 포함한다.
본 발명은 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며 애플리케이션 상호 간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼(예를 들어, 안드로이드 플랫폼)이 탑재된 이동통신 단말기의 애플리케이션에 대한 검사를 가능하게 한다. 또한 본 발명에 따른 검사 에이전트는 애플리케이션으로 만들어지기 때문에, 필요한 경우 스마트폰에 설치해서 사용하고, 사용이 끝나면 제거(uninstall) 할 수 있는 장점이 있다. 따라서 평소에는 검사 에이전트를 스마트폰에 설치할 필요가 없기 때문에, 검사 에이전트의 오동작이나 해킹 등에 악용될 소지를 원천 차단할 수 있다. 이에 반해 기존의 테스트 프로그램은 스마트폰 출하시 탑재되어야 하는 불편함이 있으며, 필요에 따라 설치하고 제거할 수 있는 것이 아니므로 해킹 등에 악용될 소지가 있다.
도 1은 본 발명의 일 실시예에 따른 스마트폰과 스마트폰의 애플리케이션 검사을 위한 검사 장비와의 연결 구조도.
도 2는 본 발명의 일 실시예에 따른 검사 대상 애플리케이션 검사을 위한 스마트폰 블록도.
도 3은 본 발명의 일 실시예에 따른 검사 대상 애플리케이션 제어를 설명하기 위한 참조도.
도 4는 도 3에 따른 검사 대상 애플리케이션 제어를 표현한 순서도.
도 5는 본 발명의 일 실시예에 따른 검사 대상 애플리케이션으로 전달되는 이벤트를 검사 장비로 전달하는 방법을 설명하기 위한 참조도.
도 6은 도 5에 따른 이벤트 전달을 표현한 순서도.
도 2는 본 발명의 일 실시예에 따른 검사 대상 애플리케이션 검사을 위한 스마트폰 블록도.
도 3은 본 발명의 일 실시예에 따른 검사 대상 애플리케이션 제어를 설명하기 위한 참조도.
도 4는 도 3에 따른 검사 대상 애플리케이션 제어를 표현한 순서도.
도 5는 본 발명의 일 실시예에 따른 검사 대상 애플리케이션으로 전달되는 이벤트를 검사 장비로 전달하는 방법을 설명하기 위한 참조도.
도 6은 도 5에 따른 이벤트 전달을 표현한 순서도.
전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면을 참조하여 설명되는 바람직한 실시예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명을 이러한 실시예를 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 이동통신 단말기와 이동통신 단말기의 애플리케이션 검사를 위한 PC와의 연결 구조도이다.
이동통신 단말기(110)는 스마트폰일 수 있다. 그러나 이에 한정되지 않는다. PC(120)는 스마트폰(110)의 애플리케이션 검사를 위한 검사 장치로서, PC 외에 다른 장치가 될 수도 있다. 스마트폰(110)은 PC(120)와 유선 연결된다. 예로써, 유선 연결로는 시리얼 케이블이나 USB 케이블 등이 이용될 수 있다. 그러나 유선 연결 방식은 스마트폰(110)과 PC(120)가 같은 공간에서 물리적으로 연결되어야 하는 환경적인 제약을 갖는다. 따라서 스마트폰(110)과 PC(120)는 무선 연결 방식을 통해 연결될 수도 있다. 예로써, 무선 연결 방식으로는 3G나 와이파이(WiFi) 등이 채택될 수 있다. 스마트폰(110)과 PC(120)간의 통신 방식에 있어서, 물리적으로는 시리얼이나 USB 등이 이용될 수 있고, 논리적으로는 ADB(Android Debug Bridge), TCP(Transmission Control Protocol) 등이 이용될 수 있다.
도 2는 본 발명의 일 실시예에 따른 애플리케이션 검사를 위한 스마트폰 블록도이다.
스마트폰(110)은 통신부(210)와 제어부(220)를 포함한다. 통신부(210)는 유선 통신 인터페이스와 무선 통신 인터페이스 중 적어도 하나를 지원한다. 유선 통신 인터페이스로는 시리얼 인터페이스나 USB 인터페이스를 예로 들 수 있으며, 무선 통신 인터페이스로는 3G나 와이파이 통신 규격에 따른 인터페이스를 예로 들 수 있다. 스마트폰(110)은 통신부(210)를 통해 스마트폰(110)의 애플리케이션을 검사하기 위한 PC(120)와 통신 연결된다. 제어부(220)는 스마트폰(110)을 제어하기 위한 컨트롤러로서, 애플리케이션 검사를 위한 프로그램인 검사 에이전트(AATAgent)(230)를 로딩하여 실행함으로써 애플리케이션 검사 기능을 활성화한다. 제어부(220)는 검사 에이전트(230) 실행에 따라 애플리케이션 검사를 위한 명령 분석부(231), 이벤트 생성부(232), 및 이벤트 등록부(233)를 포함한다. 명령 분석부(231)는 통신부(210)를 통해 전달된 검사 대상 애플리케이션에 대한 명령을 분석한다. 명령 분석부(231)에 의해 명령이 검사 대상 애플리케이션에 대한 어떤 이벤트인지 확인되면, 이벤트 생성부(232)는 해당 이벤트를 생성한다. 이벤트 생성부(232)에 의해 이벤트가 생성되면, 이벤트 등록부(233)는 애플리케이션 프레임워크 계층(Application Framework Layer)의 윈도우 매니저(Window Manager)에 이벤트를 등록한다. 윈도우 매니저에 등록된 이벤트는 검사 대상 애플리케이션으로 전달되며, 이에 따라 검사 대상 애플리케이션은 전달된 이벤트를 정상적으로 받아들여야 할 이벤트로 인식하여 그에 대한 일련의 결과(반응)를 출력한다.
한편, 제어부(220)는 이벤트 획득부(234)와 이벤트 분석부(235) 및 이벤트 추출부(236)를 더 포함한다. 이벤트 획득부(234)는 리눅스 커널(Linux Kernel)의 이벤트 드라이버(Event Driver)에 직접 접근하여 이벤트들을 가져온다. 여기서 이벤트들이라 함은 사용자가 HID(Human Interface Device)를 통해 입력한 키 데이터와 터치 데이터 및 스마트폰 내부적으로 발생한 이벤트 모두를 포함한다. 이벤트 분석부(235)는 이벤트 획득부(234)에 의해 획득된 이벤트들을 분석한다. 일 실시예에 있어서, 이벤트 분석부(235)는 이벤트들의 유형(type)을 분석하여 키 이벤트인지 터치 이벤트인지 아니면 내부적으로 발생한 이벤트인지 분류한다. 여기서 키 이벤트와 터치 이벤트는 현재 실행중인 검사 대상 애플리케이션에 대한 사용자의 조작을 의미하므로, 이 키 이벤트와 터치 이벤트가 검사 대상 애플리케이션에 해당하는 이벤트가 된다. 이벤트 추출부(236)는 이벤트 분석부(235)에 의해 분석된 이벤트들 중 검사 대상 애플리케이션에 해당하는 이벤트 혹은 그 이벤트의 내용만을 추출하고, 추출된 이벤트 혹은 이벤트를 구성하는 코드에 포함된 내용만을 통신부(210)를 통해 PC(120)로 전달한다. 여기서 이벤트 내용이라 함은 사용자가 검사 대상 애플리케이션에 대해 특정한 명령을 가하기 위해 입력된 구체적인 키 데이터/터치 데이터를 의미한다.
도 3은 본 발명의 일 실시예에 따른 검사 대상 애플리케이션 제어하기 위한 방법을 설명하기 위한 참조도이다.
도 3에 도시된 플랫폼은 안드로이드 플랫폼이다. 안드로이드 플랫폼의 애플리케이션 계층(Application Layer)(310)에 위치하는 애플리케이션들은 서로 독립적으로 구동되며, 서로에게 직접적으로 어떠한 명령을 주거나 받을 수 없다. 따라서 애플리케이션의 동작상태를 검사하기가 어렵다. 이러한 기술적 제약을 극복하기 위하여, 애플리케이션 프레임워크 계층(320)에 위치한 윈도우 매니저(321)를 이용하여 검사 대상 애플리케이션(User Application)(311)에 명령을 전달할 수 있는 검사 에이전트(AATAgent)(230)를 애플리케이션 계층(310)에 구현한다. PC 사용자가 검사 대상 애플리케이션(311)의 동작상태를 검사하기 위해서 PC(120)를 통해 명령을 내리면, 이 명령은 ADB(Android Bebug Bridge)(330)를 통해 검사 에이전트(230)로 전달된다. 검사 에이전트(230)는 PC(120)로부터의 명령을 분석하여 분석된 명령에 대응하는 이벤트를 확인하고, 윈도우 매니저(321)가 검사 대상 애플리케이션(311)으로 이벤트를 주는 것과 동일한 형식의 이벤트를 생성한 후, 생성된 이벤트를 윈도우 매니저(321)에 등록한다. 윈도우 매니저(321)에 등록되어 검사 대상 애플리케이션(311)에 해당 이벤트가 전달되면, 검사 대상 애플리케이션(311)은 이를 정상적으로 받아들여야 할 이벤트로 인식하여 이벤트에 대응하는 일련의 결과(반응)를 출력한다.
도 4는 도 3에 따른 검사 대상 애플리케이션 제어를 표현한 순서도이다.
PC(120)로부터 명령이 전달되면, 이 명령은 ADB(330)를 통해 검사 에이전트(230)로 전달된다. 검사 에이전트(230)의 명령 분석부(231)는 ADB(330)를 통해 전달된 명령을 분석한다. 이벤트 생성부(232)는 명령 분석부(231)에 의해 분석된 명령에 따른 검사 대상 애플리케이션(311)의 동작을 위한 이벤트를 생성한다. 여기서 이벤트 생성부(232)는 윈도우 매니저(321)가 이벤트 드라이버(341)로부터 전달되어 검사 대상 애플리케이션(311)으로 주는 이벤트와 동일한 형식의 이벤트를 생성해야 한다. 이벤트 생성부(232)에 의해 이벤트가 생성되면, 이벤트 등록부(233)는 생성된 이벤트를 윈도우 매니저(321)에 등록한다. 이에 윈도우 매니저(321)는 등록된 이벤트를 검사 대상 애플리케이션(311)으로 전달하고, 검사 대상 애플리케이션(311)은 전달된 이벤트에 대응하는 결과를 출력한다.
도 5는 본 발명의 일 실시예에 따른 검사 대상 애플리케이션이 받는 이벤트를 검사 장치로 전달하는 방법을 설명하기 위한 참조도이다.
일반적으로 안드로이드 스마트폰을 조작하거나 안드로이드 스마트폰 내부의 동작에 따라 발생하는 어떠한 이벤트가 해당 애플리케이션에 전달되기 위해서는 안드로이드 스마트폰 내부 및 외부에서 발생한 모든 이벤트들이 수집되는 리눅스 라이브러리(350)의 이벤트 드라이버(351)에서부터 안드로이드 애플리케이션 프레임워크(320)를 거쳐 전달되는 과정이 요구된다. 이때 같은 애플리케이션 계층(310)에서 동작하는 검사 에이전트(230)가 검사 대상 애플리케이션(311)으로 전달되는 이벤트들을 가로채거나 이벤트의 내용을 알 수 있는 일반적인 방법은 없다. 이는 모든 애플리케이션들이 서로 영향을 주거나 받지 않고 완전히 독립적으로 작동하게 되는 OS 구조와 관련이 있다.
이러한 문제 해결을 위해, 본 발명은 안드로이드 플랫폼 구조가 애플리케이션 계층(310)에 위치하는 프로그램이 리눅스 라이브러리(350)의 이벤트 드라이버(351)에 직접 접근하는 것을 일부 허용하는 점을 이용한다. 검사 에이전트(230)는 리눅스 라이브러리(350)의 이벤트 드라이버(351)에 직접 접근하여 이벤트들을 모두 가져온다. 검사 에이전트(230)는 이벤트 드라이버(351)로부터 가져온 이벤트들을 분석하여 이벤트를 유형별로 분류한다. 그 다음, 검사 에이전트(230)는 분류에 따라 확인되는 검사 대상 애플리케이션(311)에 해당하는 이벤트 혹은 그 이벤트의 내용만을 추출하여 ADB(330)를 통해 PC(120)로 전달한다. 이 같은 방식에 따라 스마트폰 내외부에서 발생한 모든 이벤트들 중 검사 대상 애플리케이션(311)에 해당되는 이벤트를 획득하여 PC(120)로 전달하는 것이 가능하다.
도 6은 도 5에 따른 이벤트 전달을 표현한 순서도이다.
사용자는 검사 대상 애플리케이션(311)으로 명령을 전달하기 위해 HID(410)를 통해 터치나 키 버튼을 입력한다. 검사 에이전트(230)의 이벤트 획득부(234)는 HID(410)로부터 전달된 이벤트들과 스마트폰 내부에서 발생한 모든 이벤트들이 집적되어 있는 이벤트 드라이버(341)에 직접 접근하여 집적되어 있는 모든 이벤트들을 가져온다. 이벤트 분석부(235)는 이벤트 획득부(234)가 획득된 모든 이벤트들의 유형을 분석하고 유형에 따라 분류한다. 유형 분류에 따라 터치 이벤트와 키 이벤트가 확인된다. 이 터치 이벤트와 키 이벤트가 검사 대상 애플리케이션(321)에 전달되는 이벤트가 된다. 이벤트 추출부(236)는 모든 이벤트들 중에서 유형 분류에 따라 확인된 터치 이벤트와 키 이벤트만을 추출하거나 확인된 터치 이벤트와 키 이벤트의 내용만을 추출하여 ADB(330)를 통해 PC(120)로 전달한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
110 : 스마트폰 120 : PC
210 : 통신부 220 : 제어부
230 : 검사 에이전트 231 : 명령 분석부
232 : 이벤트 생성부 233 : 이벤트 등록부
234 : 이벤트 획득부 235 : 이벤트 분석부
236 : 이벤트 추출부 310 : 애플리케이션 계층
311 : 검사 대상 애플리케이션 320 : 애플리케이션 프레임워크 계층
321 : 윈도우 매니저 330 : ADB(Android Debug Bridge)
340 : 리눅스 커널 계층 341 : 이벤트 드라이버
350 : 라이브러리 410 : HID(Human Interface Device)
210 : 통신부 220 : 제어부
230 : 검사 에이전트 231 : 명령 분석부
232 : 이벤트 생성부 233 : 이벤트 등록부
234 : 이벤트 획득부 235 : 이벤트 분석부
236 : 이벤트 추출부 310 : 애플리케이션 계층
311 : 검사 대상 애플리케이션 320 : 애플리케이션 프레임워크 계층
321 : 윈도우 매니저 330 : ADB(Android Debug Bridge)
340 : 리눅스 커널 계층 341 : 이벤트 드라이버
350 : 라이브러리 410 : HID(Human Interface Device)
Claims (12)
- 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며, 애플리케이션 상호간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 이동통신 단말기의 상기 애플리케이션 계층에서 동작하는 검사 에이전트의 애플리케이션 검사 방법에 있어서,
검사 장치로부터 검사 대상 애플리케이션을 검사하기 위한 명령을 전달받는 단계;
상기 전달된 명령에 대응하는 이벤트를 생성하는 단계; 및
상기 생성된 이벤트를 상기 검사 대상 애플리케이션으로 전달하기 위해 프레임워크 계층에 위치하는 윈도우 매니저에 등록하는 단계;
를 포함하는 것을 특징으로 하는 검사 에이전트의 애플리케이션 검사 방법. - 제1항에 있어서,
상기 명령을 전달받는 단계는 ADB(Android Debug Bridge)를 통해 명령을 전달받는 것임을 특징으로 하는 검사 에이전트의 애플리케이션 검사 방법. - 제1항에 있어서,
라이브러리 계층에 위치하는 이벤트 드라이버에 직접 접근하여 이벤트들을 획득하는 단계;
상기 획득한 이벤트들을 분석하여 분류하는 단계;
상기 분류된 이벤트들 중 상기 검사 대상 애플리케이션에 해당하는 이벤트만을 추출하는 단계; 및
상기 추출된 이벤트를 상기 검사 장치로 전달하는 단계;
를 더 포함하는 것을 특징으로 하는 검사 에이전트의 애플리케이션 검사 방법. - 제3항에 있어서,
상기 추출하는 단계는 상기 검사 대상 애플리케이션에 해당하는 이벤트에서 이벤트 내용만을 추출함을 특징으로 하는 검사 에이전트의 애플리케이션 검사 방법. - 제3항에 있어서,
상기 전달하는 단계는 상기 추출된 이벤트를 ADB(Android Debug Bridge)를 통해 상기 검사 장치로 전달함을 특징으로 하는 검사 에이전트의 애플리케이션 검사 방법. - 제1항 내지 제5항 중 어느 한 항에 있어서,
상기 플랫폼은 안드로이드 플랫폼임을 특징으로 하는 검사 에이전트의 애플리케이션 검사 방법. - 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며, 애플리케이션 상호간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 이동통신 단말기의 상기 애플리케이션 계층에서 동작하는 검사 에이전트의 애플리케이션 검사 방법에 있어서,
라이브러리 계층에 위치하는 이벤트 드라이버에 직접 접근하여 이벤트들을 획득하는 단계;
상기 획득한 이벤트들을 분석하여 분류하는 단계;
상기 분류된 이벤트들 중 상기 검사 대상 애플리케이션에 해당하는 이벤트만을 추출하는 단계; 및
상기 추출된 이벤트를 검사 장치로 전달하는 단계;
를 더 포함하는 것을 특징으로 하는 검사 에이전트의 애플리케이션 검사 방법. - 제7항에 있어서,
상기 추출하는 단계는 상기 검사 대상 애플리케이션에 해당하는 이벤트에서 이벤트 내용만을 추출함을 특징으로 하는 검사 에이전트의 애플리케이션 검사 방법. - 제7항 또는 제8항에 있어서,
상기 플랫폼은 안드로이드 플랫폼임을 특징으로 하는 검사 에이전트의 애플리케이션 검사 방법. - 애플리케이션 계층의 애플리케이션들이 독립적으로 동작하며, 애플리케이션 상호간에 직접적인 명령 전달이 불가하도록 설계된 플랫폼이 탑재된 애플리케이션 검사 가능한 이동통신 단말기에 있어서,
애플리케이션 동작 검사를 위한 검사 장치와의 통신을 위한 통신부; 및
상기 검사 장치로부터 상기 통신부를 통해 전달된 검사 대상 애플리케이션을 검사하기 위한 명령을 분석하는 명령 분석부, 분석된 명령에 대응하는 이벤트를 생성하는 이벤트 생성부, 및 생성된 이벤트를 상기 검사 대상 애플리케이션으로 전달하기 위해 애플리케이션 프레임워크 계층의 윈도우 매니저에 등록하는 이벤트 등록부를 포함하는 제어부;
를 포함하는 것을 특징으로 하는 애플리케이션 검사 가능한 이동통신 단말기. - 제10항에 있어서, 상기 제어부는 :
라이브러리 계층에 위치하는 이벤트 드라이버에 직접 접근하여 이벤트들을 획득하는 이벤트 획득부;
상기 획득된 이벤트들을 분석하는 이벤트 분석부; 및
상기 분석 결과에 따라 상기 검사 대상 애플리케이션에 해당하는 이벤트만을 추출하여 상기 검사 장치로 전달하는 이벤트 추출부;
를 더 포함하는 것을 특징으로 하는 애플리케이션 검사 가능한 이동통신 단말기. - 제10항 또는 제11항에 있어서,
상기 플랫폼은 안드로이드 플랫폼임을 특징으로 하는 애플리케이션 검사 가능한 이동통신 단말기.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100126419A KR101027971B1 (ko) | 2010-12-10 | 2010-12-10 | 애플리케이션 검사 가능한 이동통신 단말기 및 그 검사 방법 |
US13/243,239 US8732529B2 (en) | 2010-12-10 | 2011-09-23 | Mobile communication terminal capable of testing application and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100126419A KR101027971B1 (ko) | 2010-12-10 | 2010-12-10 | 애플리케이션 검사 가능한 이동통신 단말기 및 그 검사 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101027971B1 true KR101027971B1 (ko) | 2011-04-13 |
Family
ID=44049837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100126419A KR101027971B1 (ko) | 2010-12-10 | 2010-12-10 | 애플리케이션 검사 가능한 이동통신 단말기 및 그 검사 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8732529B2 (ko) |
KR (1) | KR101027971B1 (ko) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013042802A1 (ko) * | 2011-09-20 | 2013-03-28 | 주식회사 인프라웨어테크놀러지 | 안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 |
KR101251439B1 (ko) * | 2010-12-23 | 2013-04-05 | 주식회사 이노와이어리스 | 에이디비 인터페이스를 이용한 스마트폰의 성능 측정 시스템 및 방법 |
KR101325954B1 (ko) | 2012-09-13 | 2013-11-20 | 주식회사 인프라웨어테크놀러지 | 코드분석과 화면분석을 이용한 안드로이드 어플의 자동실행 방법, 및 이를 위한 안드로이드 어플 자동실행 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 |
DE102012104835A1 (de) * | 2012-06-04 | 2013-12-05 | Can Davutoglu | Testen eines Kommunikationsdiensts |
KR101352866B1 (ko) * | 2011-11-22 | 2014-01-21 | 인크로스 주식회사 | 원격 단말 제어를 위한 시스템, 제어방법 및 기록 매체 |
KR101422184B1 (ko) * | 2014-01-23 | 2014-07-22 | 주식회사 비디 | 컴퓨터 실행 가능한 사용 패턴 모니터링 방법, 이를 수행하는 모니터링 서버 및 이를 저장하는 기록매체 |
WO2014137014A1 (ko) * | 2013-03-08 | 2014-09-12 | (주)인프라웨어테크놀러지 | 단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법 |
CN108874677A (zh) * | 2018-06-27 | 2018-11-23 | 万达百汇科技(深圳)有限公司 | 一种安卓终端及其测试方法和系统 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246587B (zh) * | 2013-04-19 | 2014-12-10 | 福州瑞芯微电子有限公司 | android平台上利用SD卡进行ADB调试的方法 |
CN103268439A (zh) * | 2013-04-19 | 2013-08-28 | 北京网秦天下科技有限公司 | 在移动终端外部执行的检测移动终端安全性的方法及设备 |
CN103269292B (zh) * | 2013-04-19 | 2015-10-21 | 福州瑞芯微电子有限公司 | 利用短距离微波通信设备进行调试工具adb调试的方法 |
CN103246586B (zh) * | 2013-04-19 | 2014-12-10 | 福州瑞芯微电子有限公司 | android平台上利用USB存储设备进行ADB调试的方法 |
CN103269291B (zh) * | 2013-04-19 | 2016-02-24 | 福州瑞芯微电子股份有限公司 | android平台上利用点对点射频设备进行ADB调试的方法 |
US20140331209A1 (en) * | 2013-05-02 | 2014-11-06 | Amazon Technologies, Inc. | Program Testing Service |
CN103440467B (zh) * | 2013-08-30 | 2016-06-15 | 广东欧珀移动通信有限公司 | 利用adb连接控制移动终端的方法 |
CN104657259B (zh) * | 2013-11-22 | 2018-05-18 | 中国银联股份有限公司 | 一种测试Android应用程序的方法和装置 |
CN105204884A (zh) * | 2014-06-27 | 2015-12-30 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN104182366B (zh) * | 2014-08-25 | 2018-02-27 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN104268112A (zh) * | 2014-09-19 | 2015-01-07 | 福州瑞芯微电子有限公司 | 一种连接adb设备的方法和装置 |
US10528449B2 (en) | 2014-12-04 | 2020-01-07 | Micro Focus Llc | Grouping event reports |
CN106201858A (zh) * | 2015-05-07 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 移动终端中应用程序的测试系统及其控制方法和装置 |
CN104881362A (zh) * | 2015-06-18 | 2015-09-02 | 广东欧珀移动通信有限公司 | 第三方应用待机电流测试的方法及装置 |
CN105120009A (zh) * | 2015-09-14 | 2015-12-02 | 百度在线网络技术(北京)有限公司 | 终端互联方法及装置 |
CN105868098A (zh) * | 2015-11-06 | 2016-08-17 | 乐视移动智能信息技术(北京)有限公司 | 安卓调试桥的启动方法、装置及终端 |
CN105512538B (zh) * | 2015-12-11 | 2019-04-26 | 北京元心科技有限公司 | 智能移动操作系统的调试方法和系统 |
CN105701373B (zh) * | 2015-12-28 | 2019-08-30 | 东软集团股份有限公司 | 打开adb接口的方法和装置 |
CN107026764B (zh) * | 2016-02-02 | 2020-01-14 | 腾讯科技(深圳)有限公司 | 一种远程调试方法、设备、服务器及系统 |
US11023363B2 (en) * | 2016-03-11 | 2021-06-01 | Spirent Communications, Inc. | Performance test application sequence script |
CN107305511A (zh) * | 2016-04-18 | 2017-10-31 | 展讯通信(上海)有限公司 | 共享终端测试仪表的移动终端测试方法及系统 |
CN108243284B (zh) * | 2016-12-26 | 2021-09-14 | 中国移动通信有限公司研究院 | 一种拨测方法及装置 |
CN106897045B (zh) * | 2017-02-28 | 2019-08-16 | Oppo广东移动通信有限公司 | 音频播放方法、装置和计算机设备 |
WO2019061049A1 (zh) * | 2017-09-27 | 2019-04-04 | 深圳传音通讯有限公司 | 一种液晶显示模组驱动调试系统和调试方法 |
CN108304326B (zh) * | 2018-01-30 | 2021-11-19 | 广东天波信息技术股份有限公司 | 安卓智能终端自动化测试系统和方法 |
US11928050B2 (en) * | 2021-08-19 | 2024-03-12 | Capital One Services, Llc | Methods and systems for mobile browser code testing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6002872A (en) | 1998-03-31 | 1999-12-14 | International Machines Corporation | Method and apparatus for structured profiling of data processing systems and applications |
KR20020029918A (ko) * | 2000-06-14 | 2002-04-20 | 구사마 사부로 | 자동 평가 방법 및 자동 평가 시스템 및 자동 평가프로그램을 기억한 기억 매체 |
KR20090047152A (ko) * | 2007-11-07 | 2009-05-12 | 에스케이 텔레콤주식회사 | 이벤트 충돌을 막기 위한 무선 인터넷 플랫폼 기반의모바일 단말기 및 그를 이용한 이벤트 처리 방법 |
US7603715B2 (en) | 2004-07-21 | 2009-10-13 | Microsoft Corporation | Containment of worms |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6434364B1 (en) * | 1998-12-24 | 2002-08-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Wireless communication system that supports mobile test software agents |
US7143310B2 (en) * | 2003-01-22 | 2006-11-28 | Sun Microsystems Inc. | Generating standalone MIDlets from a testing harness |
US7296190B2 (en) * | 2003-01-29 | 2007-11-13 | Sun Microsystems, Inc. | Parallel text execution on low-end emulators and devices |
US7287190B2 (en) * | 2004-01-29 | 2007-10-23 | Sun Microsystems, Inc. | Simultaneous execution of test suites on different platforms |
US7165191B1 (en) * | 2004-01-29 | 2007-01-16 | Sun Microsystems, Inc. | Automated verification of user interface tests on low-end emulators and devices |
US20060039538A1 (en) * | 2004-08-23 | 2006-02-23 | Minnis John A | "Software only" tool for testing networks under high-capacity, real-world conditions |
KR101106651B1 (ko) * | 2004-12-30 | 2012-01-18 | 텔레콤 이탈리아 소시에떼 퍼 아찌오니 | 통신 네트워크에서 서비스 품질을 모니터하기 위한 시스템 |
US7627312B2 (en) * | 2005-02-03 | 2009-12-01 | Satyam Computer Services Ltd. | System and method for self-testing of mobile wireless devices |
US7979532B2 (en) * | 2006-09-15 | 2011-07-12 | Oracle America, Inc. | Systems and methods for using an access point for testing multiple devices and using several consoles |
DE502007005833D1 (de) * | 2007-03-30 | 2011-01-13 | Communology Gmbh | Steuerung mobiler Endgeräte |
KR101005498B1 (ko) * | 2008-05-26 | 2011-01-04 | 대진대학교 산학협력단 | 테스트 라이브러리를 이용하는 휴대폰 어플리케이션 검증시스템 및 그 방법 |
US20090307763A1 (en) * | 2008-06-05 | 2009-12-10 | Fiberlink Communications Corporation | Automated Test Management System and Method |
KR20100041447A (ko) * | 2008-10-14 | 2010-04-22 | 삼성전자주식회사 | 테스트 자동화 장치 및 테스트 자동화 방법 |
US20110202934A1 (en) * | 2010-02-12 | 2011-08-18 | Ludwig Lester F | Window manger input focus control for high dimensional touchpad (htpd), advanced mice, and other multidimensional user interfaces |
CN103229156B (zh) * | 2010-10-01 | 2016-08-10 | Flex Electronics ID Co.,Ltd. | 多操作系统环境中的对接系统的自动配置 |
-
2010
- 2010-12-10 KR KR1020100126419A patent/KR101027971B1/ko active IP Right Grant
-
2011
- 2011-09-23 US US13/243,239 patent/US8732529B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6002872A (en) | 1998-03-31 | 1999-12-14 | International Machines Corporation | Method and apparatus for structured profiling of data processing systems and applications |
KR20020029918A (ko) * | 2000-06-14 | 2002-04-20 | 구사마 사부로 | 자동 평가 방법 및 자동 평가 시스템 및 자동 평가프로그램을 기억한 기억 매체 |
US7603715B2 (en) | 2004-07-21 | 2009-10-13 | Microsoft Corporation | Containment of worms |
KR20090047152A (ko) * | 2007-11-07 | 2009-05-12 | 에스케이 텔레콤주식회사 | 이벤트 충돌을 막기 위한 무선 인터넷 플랫폼 기반의모바일 단말기 및 그를 이용한 이벤트 처리 방법 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101251439B1 (ko) * | 2010-12-23 | 2013-04-05 | 주식회사 이노와이어리스 | 에이디비 인터페이스를 이용한 스마트폰의 성능 측정 시스템 및 방법 |
WO2013042802A1 (ko) * | 2011-09-20 | 2013-03-28 | 주식회사 인프라웨어테크놀러지 | 안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 |
KR101290565B1 (ko) | 2011-09-20 | 2013-07-31 | 주식회사 인프라웨어테크놀러지 | 안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 |
KR101352866B1 (ko) * | 2011-11-22 | 2014-01-21 | 인크로스 주식회사 | 원격 단말 제어를 위한 시스템, 제어방법 및 기록 매체 |
DE102012104835A1 (de) * | 2012-06-04 | 2013-12-05 | Can Davutoglu | Testen eines Kommunikationsdiensts |
KR101325954B1 (ko) | 2012-09-13 | 2013-11-20 | 주식회사 인프라웨어테크놀러지 | 코드분석과 화면분석을 이용한 안드로이드 어플의 자동실행 방법, 및 이를 위한 안드로이드 어플 자동실행 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 |
WO2014137014A1 (ko) * | 2013-03-08 | 2014-09-12 | (주)인프라웨어테크놀러지 | 단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법 |
KR101422184B1 (ko) * | 2014-01-23 | 2014-07-22 | 주식회사 비디 | 컴퓨터 실행 가능한 사용 패턴 모니터링 방법, 이를 수행하는 모니터링 서버 및 이를 저장하는 기록매체 |
CN108874677A (zh) * | 2018-06-27 | 2018-11-23 | 万达百汇科技(深圳)有限公司 | 一种安卓终端及其测试方法和系统 |
CN108874677B (zh) * | 2018-06-27 | 2021-12-14 | 万达百汇科技(深圳)有限公司 | 一种安卓终端及其测试方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US8732529B2 (en) | 2014-05-20 |
US20120151269A1 (en) | 2012-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101027971B1 (ko) | 애플리케이션 검사 가능한 이동통신 단말기 및 그 검사 방법 | |
KR101666176B1 (ko) | 안드로이드 플랫폼 기반의 어플리케이션 모니터링 장치 및 방법 | |
CN108959068B (zh) | 软件界面测试方法、设备及存储介质 | |
US9720799B1 (en) | Validating applications using object level hierarchy analysis | |
US20180275986A1 (en) | Application management platform | |
US9268670B1 (en) | System for module selection in software application testing including generating a test executable based on an availability of root access | |
US20220107882A1 (en) | Rendering engine component abstraction system | |
US20110191787A1 (en) | System and method for providing sensor data from embedded device to software development environment | |
US20130263090A1 (en) | System and method for automated testing | |
CN105074671A (zh) | 用于在内核模块和设备驱动程序中检测并发编程错误的方法和系统 | |
WO2014035463A1 (en) | System and methods for generating and managing a virtual device | |
CN105426298A (zh) | 一种基于adb的软件测试方法和系统 | |
CN110135168B (zh) | 应用程序的检测方法、装置、系统、终端设备及存储介质 | |
CN111831538A (zh) | 调试方法、装置以及存储介质 | |
CN103377120A (zh) | 一种应用程序测试方法及装置 | |
KR20150128256A (ko) | 실제 스마트기기의 디바이스에서 발생하는 이벤트에 따라 응용프로그램을 실행하는 가상 안드로이드 장치를 구비한 서버 시스템 | |
CN109308241A (zh) | 监听应用程序启动流程方法、装置、终端设备和存储介质 | |
CN102981949A (zh) | 一种在线自动测试服务器的方法 | |
KR20200125159A (ko) | 전자 장치 및 이의 제어 방법 | |
KR20170096260A (ko) | Usb로 연결된 외부 장치 기반의 악성코드 분석 장치 및 이를 이용한 방법 | |
CN105453033A (zh) | 程序测试服务 | |
CN113360379B (zh) | 程序测试环境创建方法和程序测试环境创建装置 | |
CN109491908B (zh) | 页面检测方法、装置、电子设备和存储介质 | |
US7873498B2 (en) | Remote hardware inspection system and method | |
EP3321808A1 (en) | Verification system and verification method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160405 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190430 Year of fee payment: 9 |