KR20150038983A - 객체 추출 기반의 어플리케이션 검증 방법 및 그 장치 - Google Patents

객체 추출 기반의 어플리케이션 검증 방법 및 그 장치 Download PDF

Info

Publication number
KR20150038983A
KR20150038983A KR20130117433A KR20130117433A KR20150038983A KR 20150038983 A KR20150038983 A KR 20150038983A KR 20130117433 A KR20130117433 A KR 20130117433A KR 20130117433 A KR20130117433 A KR 20130117433A KR 20150038983 A KR20150038983 A KR 20150038983A
Authority
KR
South Korea
Prior art keywords
application
unit
event
search
screen
Prior art date
Application number
KR20130117433A
Other languages
English (en)
Other versions
KR101527745B1 (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 KR1020130117433A priority Critical patent/KR101527745B1/ko
Priority to PCT/KR2014/009127 priority patent/WO2015050348A1/ko
Publication of KR20150038983A publication Critical patent/KR20150038983A/ko
Application granted granted Critical
Publication of KR101527745B1 publication Critical patent/KR101527745B1/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/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing

Landscapes

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

Abstract

본 발명에 따른 객체 추출 기반의 어플리케이션 검증 장치는, 분석 대상의 앱에 대한 UI 객체 및 관련 화면들을 획득하는 정보 획득부와, 획득된 상기 UI 객체와 상기 관련 화면들에 대한 전체 화면 목록을 저장하는 정보 저장부와, 검증 대상 화면을 탐색하여 유효 UI 객체를 탐색하고, 탐색된 상기 유효 UI 객체에 대한 객체 유형을 특정하는 객체 판별부와, 특정된 상기 객체 유형에 상응하는 이벤트를 생성하여 이벤트 행위를 실행시키는 제어부를 포함할 수 있다.

Description

객체 추출 기반의 어플리케이션 검증 방법 및 그 장치{METHOD AND APPARATUS FOR VERIFYING APPLICATION BY USING OBJECT EXTRACTING}
본 발명은 단말에 탑재되어 실행되는 어플리케이션(앱)을 검증하는 기법에 관한 것으로, 더욱 상세하게는 분석하고자 하는 앱을 모바일 플랫폼에서 제공하는 에뮬레이터 상에 설치하여 가동시킨 후 UI 객체 인식 기법을 통해 객체 영역을 추출하여 관련 이벤트를 자동 생성하고 이벤트 행위를 실행시켜 앱의 실제적인 행위나 입출력 정보를 동적으로 검증(분석)하는 데 적합한 객체 추출 기반의 어플리케이션 검증 방법 및 그 장치에 관한 것이다.
일반적으로, 휴대폰, 스마트폰, 스마트패드 등과 같은 모바일 단말에는 수많은 종류의 어플리케이션(모바일 앱)들이 로딩(탑재)되는데, 이러한 어플리케이션에 대한 안정성과 무결성을 검증하는 것이 필요하다.
기존의 모바일 앱을 동적으로 분석하는 방법으로는 에뮬레이터 상에서 비교적 짧은 시간 내에 앱의 설치 및 실행과 종료 단계만을 자동으로 수행한 후 이 과정에서 앱이 자발적으로 수행하는 행위를 기록하여 결과를 산출하는 방법(종래 방법1)과 단말 장치 또는 에뮬레이터 상에서 무작위로 이벤트를 생성한 후 앱 및 시스템에 전달하여 발생하는 결과를 15~25 시간이라는 장시간에 걸쳐 모니터링한 후 최종 결과를 확인하는 방법(종래 방법2)이 있다.
종래 방법1의 경우, 동적 분석을 위한 일련의 과정들을 자동화하는 데는 효과가 있으나 앱의 행위 분석 방법 자체가 수동적이기 때문에 앱 실행 후 초기에 이루어지는 소수의 행위에만 전적으로 의존해야 한다는 치명적인 단점이 있으며, 사용자가 앱을 사용함에 따라 연관되어 발생되는 앱의 일반적인 기능 및 행위는 대부분 검증을 하지 못하는 단점을 갖는다.
종래 방법2의 경우, 임의의 좌표에 불특정한 난수 이벤트를 생성하여 무작위로 시험하는데, 이러한 방법은 앱의 유효한 행위를 이끌어내기가 어렵고, 이를 확률적으로 보완하기 위하여 상당히 긴 시험 시간을 필요로 하기 때문에 앱 분석 및 검증 방법으로 사용하기에는 매우 비효율적이며, 특정 앱이 지닌 구체적인 행위를 분석하고자 할 때에는 더욱 부적절한 방법이라 할 수 있다.
대한민국 공개특허공보 공개번호 10-2012-0081873, 공개일자 2012년 07월 20일.
본 발명은 분석 대상인 앱(또는 모바일 앱)을 해당 모바일 플랫폼에서 제공하는 에뮬레이터 상에 설치하여 기동시킨 후 이미지 객체 인식, 문자 객체 인식 등의 영상 인식 기법을 활용하여 분석 대상이 되는 모바일 앱으로부터 사용자 입력을 받을 수 있는 객체 영역을 식별하고 그 객체 영역에 사용자 이벤트를 자동으로 생성시켜 그 행위를 실행시킴으로써, 해당 앱을 사람이 직접 사용하는 것과 유사하게 동작시켜 앱의 안정성과 무결성을 효과적으로 검증(분석)할 수 있는 새로운 에뮬레이터 기반의 앱 동적 분석 기법을 제공하고자 한다.
본 발명은, 일 관점에 따라, 분석 대상의 앱으로부터 UI 객체를 획득하는 과정과, 획득된 상기 UI 객체의 객체 영역에 대한 이벤트를 자동 생성하는 과정과, 생성된 상기 이벤트의 행위를 실행시키는 과정을 포함하는 객체 추출 기반의 어플리케이션 검증 방법을 제공한다.
본 발명의 상기 UI 객체는, 상기 앱의 공통 UI 객체와 고유 UI 객체를 포함할 수 있다.
본 발명의 상기 UI 객체는, 이미지 객체 또는 문자 객체를 포함할 수 있다.
본 발명의 상기 획득하는 과정은, 획득된 UI 객체들에 대한 객체 유형을 특정하는 과정을 더 포함하고, 상기 생성하는 과정은, 객체 유형별 이벤트를 상기 이벤트로서 생성할 수 있다.
본 발명은, 다른 관점에 따라, 분석 대상의 앱에 대한 UI 객체 및 관련 화면을 획득하는 제 1 과정과, 획득된 전체 화면 목록으로부터 검증 대상 화면을 선택하는 제 2 과정과, 상기 검증 대상 화면으로부터 UI 객체를 탐색하여 기 설정된 기준 유사도 조건을 충족시키는 유효 UI 객체인지의 여부를 체크하는 제 3 과정과, 상기 유효 UI 객체일 때 해당 객체가 위치한 객체 영역을 유효 영역으로 식별하여 기 파악된 객체 유형을 특정하는 제 4 과정과, 특정된 상기 객체 유형에 상응하는 이벤트를 생성하여 이벤트 행위를 실행시키는 제 5 과정을 포함하는 객체 추출 기반의 어플리케이션 검증 방법을 제공한다.
본 발명의 상기 방법은, 상기 검증 대상 화면에 존재하는 모든 UI 객체에 대한 탐색이 완료될 때까지 상기 제 3 과정 내지 제 5 과정을 반복 수행하는 제 6 과정과, 상기 전체 화면 목록의 모든 화면에 대한 객체 탐색이 완료될 때까지 상기 제 2 과정 내지 제 6 과정을 반복 수행하는 제 7 과정을 더 포함할 수 있다.
본 발명의 상기 제 1 과정은, 상기 앱의 플랫폼으로부터 공통 UI 객체와 각 객체 유형을 획득하는 제 1-1 과정과, 상기 앱의 앱 배포 파일로부터 앱 리소스 내의 고유 UI 객체와 각 객체 유형을 획득하는 제 1-2 과정을 포함할 수 있다.
본 발명의 상기 제 1-1 과정은, 상기 플랫폼으로부터 공통 UI 객체용의 이미지 객체를 추출하는 과정과, 상기 플랫폼으로부터 공통 UI 객체용의 문자 또는 문자열 객체를 추출하는 과정과, 추출된 상기 이미지 객체와 문자 또는 문자열 객체들에 대한 각 객체 유형을 식별하는 과정을 포함할 수 있다.
본 발명의 상기 제 1-2 과정은, 상기 앱 리소스로부터 고유 UI 객체용의 이미지 객체를 추출하는 과정과, 상기 앱 리소스로부터 고유 UI 객체용의 문자 또는 문자열 객체를 추출하는 과정과, 추출된 상기 이미지 객체와 문자 또는 문자열 객체들에 대한 각 객체 유형을 식별하는 과정을 포함할 수 있다.
본 발명의 상기 방법은, 상기 이벤트 행위의 실행이 완료될 때, 화면과 객체를 기록한 탐색 경로를 생성하여 정보 저장부에 저장하는 과정을 더 포함할 수 있다.
본 발명의 상기 저장하는 과정은, 상기 이벤트 행위의 실행 결과를 상기 탐색 경로와 함께 상기 정보 저장부에 저장할 수 있다.
본 발명은, 또 다른 관점에 따라, 분석 대상의 앱에 대한 UI 객체 및 관련 화면들을 획득하는 정보 획득부와, 획득된 상기 UI 객체와 상기 관련 화면들에 대한 전체 화면 목록을 저장하는 정보 저장부와, 검증 대상 화면을 탐색하여 유효 UI 객체를 탐색하고, 탐색된 상기 유효 UI 객체에 대한 객체 유형을 특정하는 객체 판별부와, 특정된 상기 객체 유형에 상응하는 이벤트를 생성하여 이벤트 행위를 실행시키는 제어부를 포함하는 객체 추출 기반의 어플리케이션 검증 장치를 제공한다.
본 발명의 상기 정보 획득부는, 상기 앱의 플랫폼으로부터 공통 UI 객체와 각 객체 유형을 추출하는 공통 UI 추출부와, 상기 앱의 앱 배포 파일로부터 앱 리소스 내의 고유 UI 객체와 각 객체 유형을 추출하는 고유 UI 추출부와, 상기 공통 UI 객체 및 고유 UI 객체와 관련된 화면들에 대한 전체 화면 목록을 파악하고, 각 객체에 대한 탐색 경로를 추정하는 탐색 경로 추정부를 포함할 수 있다.
본 발명의 상기 탐색 경로는, UI 경로를 따라 트리 구조로 배열되는 화면 및 객체 탐색 경로를 포함할 수 있다.
본 발명의 상기 공통 UI 추출부는, 상기 플랫폼으로부터 상기 공통 UI 객체용의 이미지 객체와 문자 또는 문자열 객체 및 각 객체 유형을 추출할 수 있다.
본 발명의 상기 고유 UI 추출부는, 상기 앱 리소스로부터 고유 UI 객체용의 이미지 객체, 문자 또는 문자열 객체, 추출된 이미지 객체와 문자 또는 문자열 객체 및 각 객체 유형을 추출할 수 있다.
본 발명의 상기 객체 판별부는, 상기 분석 대상의 앱이 로딩되어 실행될 때 상기 검증 대상 화면에 대한 객체 탐색을 지령하는 탐색 제어부와, 상기 지령에 따라 상기 검증 대상 화면으로부터 상기 UI 객체를 탐색하는 객체 탐색부와, 유사도 판단을 통하여 탐색된 상기 UI 객체가 상기 유효 UI 객체인지를 검증하고, 상기 유효 UI 객체일 때 유효 영역을 식별하여 기 파악된 객체 유형을 특정하는 유효성 검증부를 포함할 수 있다.
본 발명의 상기 제어부는, 상기 객체 유형에 상응하는 이벤트를 생성하여 상기 이벤트 행위를 실행시키는 이벤트 관리부와, 상기 이벤트 행위의 실행이 완료될 때 화면과 객체를 기록한 탐색 경로를 생성하여 상기 정보 저장부에 저장하는 탐색 경로 저장부를 포함할 수 있다.
본 발명의 상기 이벤트 관리부는, 상기 이벤트 행위에 대한 실행이 완료될 때 다음 UI 객체의 탐색을 위해 그 실행 완료를 상기 객체 판별부로 통지할 수 있다.
본 발명의 상기 탐색 경로 저장부는, 상기 이벤트 행위의 실행 결과를 상기 탐색 경로와 함께 상기 정보 저장부에 저장할 수 있다.
본 발명은, 분석 대상의 앱으로부터 UI 객체를 탐색하여 객체 영역에 대한 이벤트를 자동 생성 및 실행시키는 기법을 통해, 검증 대상 앱에 유효한 사용자 인터액션과 피드백을 지속적으로 제공함으로써 해당 앱이 지닌 모든 행위(이벤트 행위)를 유발시킬 수 있으며, 이를 통해 사람이 직접 앱을 시험하고 검증하는 것과 동일하게 지능화된 동적 분석을 구현함으로써 앱이 갖는 모든 기능 및 행위에 대해 매우 정밀하고 유용하면서도 신속 처리가 가능한 동적 검증 자동화를 실현할 수 있다.
또한, 본 발명은 탐색된 화면과 객체를 기록한 탐색 경로를 생성하여 저장하고, 이를 통해 관련 화면과 객체에 대한 탐색 및 이벤트 행위가 실행되었음이 시스템적으로 인식될 수 있도록 함으로써, 동일 화면의 동일 객체에 대한 탐색 및 이벤트 행위가 중복하여 실행되는 것을 효과적으로 방지할 수 있다.
도 1은 본 발명의 실시 예에 따른 객체 추출 기반의 어플리케이션 검증 장치의 블록구성도이다.
도 2는 본 발명의 실시 예에 따라 객체 추출 기법을 이용하여 어플리케이션의 각 UI 객체별 기능 및 행위를 검증하는 주요 과정을 도시한 순서도이다.
도 3은 본 발명에 따라 앱 플랫폼으로부터 공통 UI 객체를 추출하는 주요 과정을 도시한 순서도이다.
도 4는 본 발명에 따라 앱 배포 파일로부터 고유 UI 객체를 추출하는 주요 과정을 도시한 순서도이다.
먼저, 본 발명의 장점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되는 실시 예들을 참조하면 명확해질 것이다. 여기에서, 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 발명의 범주를 명확하게 이해할 수 있도록 하기 위해 예시적으로 제공되는 것이므로, 본 발명의 기술적 범위는 청구항들에 의해 정의되어야 할 것이다.
아울러, 아래의 본 발명을 설명함에 있어서 공지 기능 또는 구성 등에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들인 것으로, 이는 사용자, 운용자 등의 의도 또는 관례 등에 따라 달라질 수 있음은 물론이다. 그러므로, 그 정의는 본 명세서의 전반에 걸쳐 기술되는 기술사상을 토대로 이루어져야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세하게 설명한다.
도 1은 본 발명의 실시 예에 따른 객체 추출 기반의 어플리케이션 검증 장치의 블록구성도이다.
도 1을 참조하면, 본 발명의 어플리케이션 검증 장치는 정보 획득부(102), 객체 판별부(104), 제어부(106), 정보 저장부(108), 검증 출력 제어부(110) 및 표시부(112) 등을 포함할 수 있다. 여기에서, 정보 획득부(102)는 공통 UI 추출부(1022), 고유 UI 추출부(1024) 및 탐색 경로 추정부(1026) 등을 포함할 수 있고, 객체 판별부(104)는 탐색 제어부(1042), 객체 탐색부(1044) 및 유효성 검증부(1046) 등을 포함할 수 있으며, 제어부(106)는 이벤트 관리부(1062) 및 탐색 경로 저장부(1064) 등을 포함할 수 있다.
먼저, 정보 획득부(102)는 모바일 플랫폼에서 제공하는 에뮬레이터 상에 분석 대상의 앱(예컨대, 모바일 앱)이 로딩(설치)되면, 해당 앱에 대한 UI 객체(공통 UI 객체 및 고유 UI 객체) 및 관련 화면들을 획득하고, 탐색 경로를 추정하는 등의 기능을 제공할 수 있는데, 이를 위해 정보 획득부(102)는 공통 UI 추출부(1022), 고유 UI 추출부(1024) 및 탐색 경로 추정부(1026) 등을 포함할 수 있다.
여기에서, 공통 UI 추출부(1022)는 공개된 앱의 플랫폼의 SDK(어플리케이션 설치 파일)로부터 공통 UI 객체를 추출, 즉 공통 UI 객체용의 이미지 객체와 문자 또는 문자열 객체를 추출하고, 추출된 각 객체에 대한 객체 유형을 파악(식별)하여 정보 저장부(108)로 저장하는 등의 기능을 제공할 수 있다. 일례로서, 공통 UI는 구글 안드로이드 플랫폼에서 공통으로 제공하는 UI, 애플의 iOS 플랫폼에서 공통으로 제공하는 UI, 삼성전자의 타이젠 플랫폼에서 공통으로 제공하는 UI 등을 의미할 수 있는데, 이러한 공통 UI 객체는 공개된 플랫폼의 SDK로부터 미리 추출되어 정보 저장부(108)에 저장되어 있을 수 있다.
그리고, 고유 UI 추출부(1024)는 분석 대상의 앱이 에뮬레이터에 로딩될 때 앱의 앱 배포 파일로부터 앱 리소스 내의 고유 UI 객체 및 각 객체 유형을 추출, 즉 앱 리소스로부터 고유 UI 객체용의 이미지 객체와 문자 또는 문자열 객체를 추출하고, 각 객체에 대한 객체 유형을 파악(식별)하여 정보 저장부(108)로 저장하는 등의 기능을 제공할 수 있다. 여기에서, 고유 UI는 해당 앱에서만 사용하는(혹은 가지고 있는) 고유의 UI를 의미하고, 고유 UI 객체의 추출 및 유형 파악은 xml 및 소스 코드의 파싱을 통해 수행될 수 있다.
또한, 탐색 경로 추정부(1026)는 공통 UI 객체용의 이미지 객체, 문자 또는 문자열 객체와 고유 UI 추출부(1024)로부터 전달되는 고유 UI 객체용의 이미지 객체, 문자 또는 문자열 객체와 관련된 화면들에 의거하여 전체 화면 목록을 파악(추출)하고, 각 객체의 탐색 경로를 추정하여 정보 저장부(108)에 저장하는 등의 기능을 제공할 수 있다. 여기에서, 탐색 경로는, 예컨대 UI 경로를 따라 트리 구조로 배열되는 화면 및 객체 탐색 경로를 의미할 수 있다. 여기에서, 관련 화면들의 추출은 전체 소스 파일들 중 화면 UI(또는 GUI)를 갖는 소스 파일만을 추림하는 방식으로 수행될 수 있다. 예컨대, 안드로이드의 경우에는 activity 파일을, 타이젠의 경우에는 form 파일만을 추림하는 방식으로 관련 화면들을 추출할 수 있다.
즉, 정보 저장부(108)에는 공통 UI 객체용의 이미지 객체와 문자 또는 문자열 객체들에 대한 정보들, 고유 UI 객체용의 이미지 객체와 문자 또는 문자열 객체, 각 객체별의 객체 유형, 관련 화면 정보들, 전체 화면 목록과 화면 및 객체 탐색 경로 정보들이 저장된다. 여기에서, UI 객체는, 예컨대 영상, 이미지, 문자 등을 의미할 수 있으며, 객체 유형은, 예컨대 버튼, 아이콘, 로고, 편집 박스 등을 의미할 수 있다. 이러한 정보 저장부(108)는, 예컨대 시스템 내부의 메모리이거나 혹은 내부의 정보 DB(데이터베이스) 등이 될 수 있다.
다음에, 객체 판별부(104)는 에뮬레이터에 로딩된 앱이 실행될 때 정보 획득부(102)를 통해 추출되어 정보 저장부(108)에 저장된 전체 화면 목록으로부터 검증 대상 화면(예컨대, 실행 중인 화면)을 선택하여 객체 탐색을 수행함으로써 유효 UI 객체를 판별하는 등의 기능을 제공할 수 있는데, 이를 위해 객체 판별부(104)는 탐색 제어부(1042), 객체 탐색부(1044) 및 유효성 검증부(1046) 등을 포함할 수 있다.
먼저, 탐색 제어부(1042)는 모바일 플랫폼에서 제공하는 에뮬레이터 상에 분석 대상의 앱이 로딩(설치)되어 실행될 때 실행 중인 화면에 대한 객체 탐색을 지령, 즉 탐색 제어신호를 발생하여 객체 탐색부(1044)로 전달하고, 제어부(106)로부터 이벤트의 실행 완료가 통지될 때 화면 내 다음 객체의 탐색을 지령하며, 분석 대상 앱(예컨대, 모바일 앱)에 대한 분석 작업이 모두 종료될 때 객체의 탐색 실행을 종료시키는 등의 기능을 제공할 수 있다.
또한, 탐색 제어부(1042)는 생성된 사용자 이벤트에 대한 행위 실행이 완료될 때마다 정보 저장부(108)의 검색을 통해 검증해야 할 전체 객체 중 어느 정도의 객체에 대한 검증이 이루어졌는지를 계산하고, 그 계산 결과를 분석 잔량 정도의 백분율로서 산출하며, 이 산출된 분석 잔량 정도가 백분율로서 표시부(112)에 표출될 수 있도록 검증 출력 제어부(110)로 전달하는 등의 기능을 제공할 수 있다.
예컨대, 앱에 대한 검증 대상의 총 객체가 200개이고, 현재까지 검증된(이벤트 행위가 실행 완료된) 객체가 180인 것이라고 가정할 때, 분석 잔량 정도가 10%임이 표시부(112)를 통해 표출될 것이다. 물론, 본 발명은 분석 잔량 정도를 표출하는 것으로 한정되는 것은 아니며, 분석 실행율에 대한 백분율(예컨대, 실행율 90%)로서 표출될 수도 있음은 물론이다.
그리고, 객체 탐색부(1044)는 실행 중인 화면으로부터 UI 객체(공통 UI 객체 또는 고유 UI 객체)를 탐색하는 등의 기능을 제공할 수 있는데, 여기에서 탐색되는 UI 객체 정보는 유효성 검증부(1046)로 전달된다.
또한, 유효성 검증부(1046)는 기 설정된 기준 유사도 조건에 의거하여 탐색된 UI 객체가 유효 UI 객체인지의 여부를 검증(판별)하고, 유효 UI 객체로 판별될 때 탐색된 객체 위치를 기반으로 유효 영역을 식별하며, 식별된 유효 영역에 대해 기파악되어 정보 저장부(108)에 저장되어 있는 객체 유형(예컨대 버튼, 아이콘, 로고, 편집 박스 등)을 인출(객체 유형의 특정)하여 제어부(106)로 전달하는 등의 기능을 제공할 수 있다. 여기에서, 하나의 이벤트 행위에 대한 실행이 완료될 때마다 분석 잔량 정도 또는 분석 실행율을 표시부(112)로 표출시켜 주는 것은 검증 작업자(또는 운용자)가 검증 작업이 실행 중인 앱에 대한 검증 작업의 진행 정도를 실시간으로 인지할 수 있도록 하기 위해서이다.
일례로서, 탐색된 UI 객체가 이미지인 경우 정보 저장부(108)에 저장되어 있는 관련 이미지 상에 대입하여 일치하는 부분이 적어도 95% 이상일 때 유효성 검증부(1046)는 탐색된 이미지 객체(UI 객체)를 유효한 이미지 객체로 판별하여 해당 이미지 위치를 기반으로 유효 영역을 식별하고, 탐색된 UI 객체가 문자(또는 문자열)인 경우 문자 객체가 정보 저장부(108)에 저장되어 있는 관련 문자(또는 문자열) 객체와 100% 일치할 때 유효성 검증부(1046)는 탐색된 문자 객체(UI 객체)를 유효한 문자 객체로 판별하여 해당 문자 위치를 기반으로 유효 영역을 식별할 수 있다.
한편, 본 발명은 객체가 탐색되면 해당 객체가 유효 UI 객체인지의 여부를 체크하기 전에 탐색된 객체가 이전에 이미 검증된 객체인지의 여부를 확인하는 절차를 수행할 수 있는데, 이러한 검증 객체인지의 여부 확인은 객체 탐색부(1044) 또는 유효성 검증부(1046)를 통해 수행될 수 있다.
다음에, 제어부(106)는 특정된 객체 유형에 맞는 이벤트를 생성하여 이벤트 행위를 실행시키고, 탐색된 화면과 객체를 기록한 탐색 경로를 생성하는 등의 기능을 제공할 수 있는데, 이를 위해 제어부(106)는 이벤트 관리부(1062) 및 탐색 경로 저장부(1064) 등을 포함할 수 있다.
먼저, 이벤트 관리부(1062)는 특정된 객체 유형(예컨대 버튼, 아이콘, 로고, 편집 박스 등)에 맞는 이벤트(또는 사용자 이벤트)를 생성, 즉 객체 유형별의 사용자 이벤트를 생성하고, 이 생성된 사용자 이벤트에 대한 행위를 실행시키는 등의 기능을 제공할 수 있다. 여기에서, 사용자 이벤트는 해당 앱이 가진 모든 행위를 유발할 수 있는 이벤트를 의미할 수 있는 것으로, 예컨대 터치, 클릭, 드래그, 텍스트 입력, 트리 구조의 서브 화면(자식 화면)으로의 전환 등을 의미할 수 있다.
또한, 이벤트 관리부(1062)는 해당 이벤트 행위에 대한 실행이 완료될 때, 해당 화면에서 다음 UI 객체를 탐색할 수 있도록, 이벤트의 실행 완료를 객체 판별부(104) 내 탐색 제어부(1042)로 통지하는 등의 기능을 제공할 수 있다.
그리고, 탐색 경로 저장부(1064)는 이벤트 실행이 완료될 때 탐색된 화면과 객체를 기록한 탐색 경로를 생성하고, 이 생성된 탐색 경로를 이벤트 행위의 실행 결과 정보와 함께 정보 저장부(108)에 저장하는 등의 기능을 제공할 수 있다. 여기에서, 사용자 이벤트는 해당 앱이 가진 모든 행위를 유발할 수 있는 이벤트를 의미할 수 있는 것으로, 예컨대 터치, 클릭, 드래그, 텍스트 입력, 트리 구조의 서브 화면(자식 화면)으로의 전환 등을 의미할 수 있다.
이때, 탐색 경로 저장부(1064)가 탐색된 화면과 객체를 기록한 탐색 경로(화면 및 객체 탐색 경로)를 생성하여 정보 저장부(108)에 저장하는 것은, 관련 화면과 객체에 대한 탐색 및 이벤트 행위가 실행되었음이 시스템적으로 인식(파악)됨으로써, 동일 화면의 동일 객체에 대한 탐색 및 이벤트 행위가 중복하여 실행되는 것을 방지하기 위해서이다.
한편, 검증 출력 제어부(110)는 분석 대상의 앱(예컨대, 모바일 앱)에 대한 분석이 모두 종료될 때 검증된 이벤트 행위의 실행 결과에 대한 검증 보고서를 생성하고, 이 생성된 검증 보고서를 표시부(112)로 전달하여 표출(디스플레이)시키는 등의 기능을 제공할 수 있다. 여기에서, 검증 보고서는, 예컨대 객체 탐색을 위한 화면 간 탐색 경로(화면 간 탐색 트리 경보) 정보와 각 이벤트별의 검증 결과 정보들을 포함할 수 있는데, 이러한 검증 보고서는 검증 결과 리스트 또는 검증 결과 그래프 등의 형태로 생성되어 표시부(112)에 표출될 수 있다.
또한, 검증 출력 제어부(110)는 도시 생략된 입력 수단(예컨대, 터치스크린, 키패드, 마우스 등)을 통해 이전에 실행되었던 앱 검증 작업의 결과에 대한 조회 또는 검사 요청 등이 입력될 때 정보 저장부(108)로부터 관련 정보들을 검색 및 인출하여 그 검증 검색 결과를 표시부(112)로 표출시키는 등의 기능을 제공할 수 있으며, 검증 검색 결과를 도시 생략된 네트워크 등을 통해 외부의 다른 서버 혹은 통신 단말(유선 통신 단말 또는 무선 통신 단말) 등으로 전송할 수도 있다.
다음에, 상술한 바와 같은 구성을 갖는 본 발명의 어플리케이션 검증 장치를 통해 객체 추출 기반이 어플리케이션 분석(검증) 서비스를 제공하는 일련의 과정들에 대하여 상세하게 설명한다.
도 2는 본 발명의 실시 예에 따라 객체 추출 기법을 이용하여 어플리케이션의 각 UI 객체별 기능 및 행위를 검증하는 주요 과정을 도시한 순서도이다.
도 2를 참조하면, 모바일 플랫폼에서 제공하는 에뮬레이터 상에 분석 대상의 앱이 로딩(설치)되어 실행되면(단계 202), 정보 획득부(102)에서는 해당 앱에 대한 UI 객체(공통 UI 객체 및 고유 UI 객체)를 획득(추출)하고 객체 유형을 파악(식별)하는데(단계 204), 이에 대해서는 도 3 및 도 4를 참조하면 보다 상세하게 설명한다.
도 3은 본 발명에 따라 앱 플랫폼으로부터 공통 UI 객체를 추출하는 주요 과정을 도시한 순서도이다.
도 3을 참조하면, 공통 UI 추출부(1022)에서는, 이 기술 분야에 잘 알려진 영상 인식 기법을 통해, 앱의 플랫폼 SDK로부터 공통 UI 객체용의 이미지 객체(또는 영상 객체)들을 추출하여 정보 저장부(108)에 저장한다(단계 302, 304).
이어서, 공통 UI 추출부(1022)에서는, 이 기술 분야에 잘 알려진 영상 인식 기법을 통해, 앱의 플랫폼 SDK로부터 공통 UI 객체용의 문자 또는 문자열 객체들을 추출하여 정보 저장부(108)에 저장한다(단계 306, 308). 여기에서, 공통 UI 객체들은 분석 대상 앱의 로딩 이전에 플랫폼으로부터 미리 추출되어 정보 저장부(108)에 저장되어 있는 정보일 수 있다.
다시, 공통 UI 추출부(1022)에서는 추출된 이미지 객체와 문자 또는 문자열 객체들에 대한 각 객체 유형을 식별(파악)하고, 그 객체 유형의 식별 결과를 정보 저장부(108)에 저장한다(단계 310, 312). 여기에서, 공통 UI 객체의 유형 파악은 xml 및 소스 코드의 파싱을 통해 수행될 수 있다.
한편, 도 3을 참조한 본 실시 예에서는 공통 UI 객체용의 이미지 객체를 먼저 추출한 후 문자 또는 문자열 객체를 추출하는 것으로 하여 설명하였으나, 본 발명이 반드시 이에 한정되는 것은 아니며, 그 순서를 바꾸어 공통 UI 객체용의 문자 또는 문자열 객체를 먼저 추출한 후 이미지 객체를 나중에 추출하도록 변경 설정할 수도 있음은 물론이다.
도 4는 본 발명에 따라 앱 배포 파일로부터 고유 UI 객체를 추출하는 주요 과정을 도시한 순서도이다.
도 4를 참조하면, 고유 UI 추출부(1024)에서는, 이 기술 분야에 잘 알려진 영상 인식 기법을 통해, 분석 대상 앱의 앱 배포 파일로부터 앱 리소스 내의 고유 UI 객체용의 이미지 객체들을 추출하여 정보 저장부(108)에 저장한다(단계 402, 404).
이어서, 고유 UI 추출부(1024)에서는, 이 기술 분야에 잘 알려진 영상 인식 기법을 통해, 분석 대상 앱의 앱 배포 파일로부터 앱 리소스 내의 고유 UI 객체용의 문자 또는 문자열 객체들을 추출하여 정보 저장부(108)에 저장한다(단계 406, 408).
다시, 고유 UI 추출부(1024)에서는 추출된 이미지 객체와 문자 또는 문자열 객체의 각 객체 유형을 식별(파악)하고, 그 객체 유형의 식별 결과를 정보 저장부(108)에 저장한다(단계 410, 412). 여기에서, 고유 UI 객체의 유형 파악은 xml 및 소스 코드의 파싱을 통해 수행될 수 있다.
한편, 도 4를 참조한 본 실시 예에서는 고유 UI 객체용의 이미지 객체를 먼저 추출한 후 문자 또는 문자열 객체를 추출하는 것으로 하여 설명하였으나, 본 발명이 반드시 이에 한정되는 것은 아니며, 그 순서를 바꾸어 고유 UI 객체용의 문자 또는 문자열 객체를 먼저 추출한 후 이미지 객체를 나중에 추출하도록 변경 설정할 수도 있음은 물론이다.
다시, 도 2를 참조하면, 탐색 경로 추정부(1026)에서는 공통 UI 객체용의 이미지 객체, 문자 또는 문자열 객체와 고유 UI 추출부(1024)로부터 전달되는 고유 UI 객체용의 이미지 객체, 문자 또는 문자열 객체와 관련된 화면들에 의거하여 전체 화면 목록을 파악(추출)하고, 탐색 경로, 예컨대 UI 경로를 따라 트리 구조로 배열되는 화면 및 객체 탐색 경로를 추정하여 정보 저장부(108)에 저장한다(단계 206).
다음에, 객체 탐색부(1044)에서는 탐색 제어부(1042)로부터의 제어 지령에 따라 실행 중인 화면(즉, 검증 대상 화면)으로부터 객체를 탐색하고(단계 208, 210), 객체가 탐색될 때 유효성 검증부(1046)에서는 기 설정된 기준 유사도 조건에 의거하여 탐색된 UI 객체가 유효 UI 객체인지의 여부를 체크한다(단계 212).
일례로서, 탐색된 UI 객체가 이미지인 경우 정보 저장부(108)에 저장되어 있는 관련 이미지 상에 대입하여 일치하는 부분이 적어도 95% 이상일 때 탐색된 이미지 객체(UI 객체)를 유효한 이미지 객체인 것으로 판단(검증)하고, 탐색된 UI 객체가 문자(또는 문자열)인 경우 해당 문자 객체가 정보 저장부(108)에 저장되어 있는 관련 문자(또는 문자열) 객체와 100% 일치할 때 해당 문자 객체(UI 객체)를 유효한 문자 객체인 것으로 판단(검증)할 수 있다.
한편, 본 실시 예에서는 상기한 단계(210)에서 객체가 탐색되면 단계(212)에서 해당 객체가 유효 UI 객체인지의 여부를 체크하는 것으로 하여 설명하였으나, 탐색된 객체가 유효 UI 객체인지를 체크하기 이전(즉, 212 단계 이전)에 탐색된 객체가 이전에 이미 검증된 객체인지의 여부를 확인하는 과정(즉, 검증의 중복을 방지하기 위한 과정)을 먼저 수행하는 것은 물론이며, 이러한 검증 객체인지의 여부 확인은 객체 탐색부(1044) 또는 유효성 검증부(1046)가 수행할 수 있다.
상기 단계(212)에서의 판단 결과, 탐색된 UI 객체가 유효하지 않은 객체인 것으로 판단되면, 처리는 전술한 단계(210)로 되돌아가 그 이후의 과정을 반복 수행하게 된다.
상기 단계(212)에서의 판단 결과, 탐색된 UI 객체가 유효 UI 객체인 것으로 판단되면, 유효성 검증부(1046)에서는 탐색된 객체 위치를 기반으로 유효 영역을 식별하고, 이 식별된 유효 영역에 대해 기파악된 객체 유형(예컨대 버튼, 아이콘, 로고, 편집 박스 등)을 정보 저장부(108)로부터 인출하여 제어부(106) 내 이벤트 관리부(1062)로 전달한다(단계 214).
이에 응답하여, 이벤트 관리부(1062)에서는 해당 객체 유형(예컨대 버튼, 아이콘, 로고, 편집 박스 등)에 맞는 이벤트(또는 사용자 이벤트)를 생성, 즉 객체 유형별의 사용자 이벤트를 생성하고, 이 생성된 사용자 이벤트에 대한 행위를 실행시킨다(단계 216). 여기에서, 이벤트는, 예컨대 터치, 클릭, 드래그, 텍스트 입력, 트리 구조의 서브 화면(자식 화면)으로의 전환 등을 의미할 수 있다.
다음에, 탐색 경로 저장부(1064)에서는 생성된 이벤트의 실행이 완료될 때 탐색된 화면과 객체를 기록한 탐색 경로를 생성하고, 이 생성된 탐색 경로를 이벤트 행위의 실행 결과 정보와 함께 정보 저장부(108)에 저장한다(단계 218). 이때, 이벤트 관리부(1062)에서는 이벤트 행위의 실행이 완료될 때, 다음 UI 객체를 탐색할 수 있도록, 이벤트의 실행 완료를 탐색 제어부(1042)로 통지할 수 있다. 여기에서, 탐색된 화면과 객체를 기록한 탐색 경로를 생성하여 저장하는 것은, 관련 화면과 객체에 대한 탐색 및 이벤트 행위가 실행되었음이 시스템적으로 인식(파악)됨으로써, 동일 화면의 동일 객체에 대한 탐색 및 이벤트 행위가 중복하여 실행되는 것을 방지하기 위해서이다.
이후, 단계(220)에서는 실행 중인 화면(검증 대상 화면)의 모든 UI 객체에 대한 탐색이 완료되었는지의 여부를 체크하는데, 검증 대상 화면의 모든 UI 객체에 대한 탐색이 완료되지 않은 것으로 판단되면, 처리는 전술한 단계(210)로 되돌아가 그 이후의 과정들을 반복 수행하게 된다. 즉, 본 실시 예에서는 단계(210) 내지 단계(220)의 과정을 반복 수행함으로써, 하나의 화면에 있는 모든 UI 객체에 대한 탐색, 유효성 검증 및 이벤트 실행을 완료하게 된다.
다시, 단계(222)에서는 전체 화면 목록에 있는 모든 화면들에 대한 객체 탐색이 완료되었는지의 여부를 체크하는데, 모든 화면에 대한 객체 탐색이 완료되지 않은 것으로 판단되면, 처리는 전술한 단계(208)로 되돌아가 그 이후의 과정들을 반복 수행하게 된다. 즉, 본 실시 예에서는 단계(208) 내지 단계(222)의 과정을 반복 수행함으로써, 전체 화면 목록에 있는 모든 화면에 대한 객체 탐색과 이벤트 생성 및 실행을 완료하게 된다.
상기 단계(222)에서의 체크 결과, 모든 화면에 객체 탐색이 완료된 것으로 판단되면, 에뮬레이터에서의 검증 모드 실행이 종료되며(단계 224), 이후 검증 출력 제어부(110)에서는 분석 대상의 앱(예컨대, 모바일 앱)에 대한 분석 결과, 즉 검증된 이벤트 행위의 실행 결과에 대한 검증 보고서(예컨대, 검증 결과 리스트 또는 검증 결과 그래프 등)를 생성하여 표시부(112)에 표출(디스플레이)시킬 수 있다.
한편, 본 발명의 실시 예에서는 모바일 플랫폼 기반의 앱 동적 분석 분야에 적용하는 것을 일례로서 설명하였으나, 본 발명이 반드시 이에 한정되는 것은 아니며, 웹 플랫폼, 스마트 TV 등과 같은 임베디드 플랫폼 등 보다 지능적이고 자동화된 테스팅을 요하는 다양한 플랫폼 기반의 어플리케이션 검증(분석) 분야에 적용될 수 있음은 물론이다.
이상의 설명은 본 발명의 기술사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 등이 가능함을 쉽게 알 수 있을 것이다. 즉, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것으로서, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
따라서, 본 발명의 보호 범위는 후술되는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
102 : 정보 획득부 104 : 객체 판별부
106 : 제어부 108 : 정보 저장부
110 : 검증 출력 제어부 112 : 표시부
1022 : 공통 UI 추출부 1024 : 고유 UI 추출부
1026 : 탐색 경로 추정부 1042 : 탐색 제어부
1044 : 객체 탐색부 1046 : 유효성 검증부
1062 : 이벤트 관리부 1064 : 탐색 경로 저장부

Claims (20)

  1. 분석 대상의 앱으로부터 UI 객체를 획득하는 과정과,
    획득된 상기 UI 객체의 객체 영역에 대한 이벤트를 자동 생성하는 과정과,
    생성된 상기 이벤트의 행위를 실행시키는 과정
    을 포함하는 객체 추출 기반의 어플리케이션 검증 방법.
  2. 제 1 항에 있어서,
    상기 UI 객체는,
    상기 앱의 공통 UI 객체와 고유 UI 객체를 포함하는
    객체 추출 기반의 어플리케이션 검증 방법.
  3. 제 2 항에 있어서,
    상기 UI 객체는,
    이미지 객체 또는 문자 객체를 포함하는
    객체 추출 기반의 어플리케이션 검증 방법.
  4. 제 1 항에 있어서,
    상기 획득하는 과정은,
    획득된 UI 객체들에 대한 객체 유형을 특정하는 과정을 더 포함하고,
    상기 생성하는 과정은,
    객체 유형별 이벤트를 상기 이벤트로서 생성하는
    객체 추출 기반의 어플리케이션 검증 방법.
  5. 분석 대상의 앱에 대한 UI 객체 및 관련 화면을 획득하는 제 1 과정과,
    획득된 전체 화면 목록으로부터 검증 대상 화면을 선택하는 제 2 과정과,
    상기 검증 대상 화면으로부터 UI 객체를 탐색하여 기 설정된 기준 유사도 조건을 충족시키는 유효 UI 객체인지의 여부를 체크하는 제 3 과정과,
    상기 유효 UI 객체일 때 해당 객체가 위치한 객체 영역을 유효 영역으로 식별하여 기 파악된 객체 유형을 특정하는 제 4 과정과,
    특정된 상기 객체 유형에 상응하는 이벤트를 생성하여 이벤트 행위를 실행시키는 제 5 과정
    을 포함하는 객체 추출 기반의 어플리케이션 검증 방법.
  6. 제 5 항에 있어서,
    상기 방법은,
    상기 검증 대상 화면에 존재하는 모든 UI 객체에 대한 탐색이 완료될 때까지 상기 제 3 과정 내지 제 5 과정을 반복 수행하는 제 6 과정과,
    상기 전체 화면 목록의 모든 화면에 대한 객체 탐색이 완료될 때까지 상기 제 2 과정 내지 제 6 과정을 반복 수행하는 제 7 과정
    을 더 포함하는 객체 추출 기반의 어플리케이션 검증 방법.
  7. 제 5 항에 있어서,
    상기 제 1 과정은,
    상기 앱의 플랫폼으로부터 공통 UI 객체와 각 객체 유형을 획득하는 제 1-1 과정과,
    상기 앱의 앱 배포 파일로부터 앱 리소스 내의 고유 UI 객체와 각 객체 유형을 획득하는 제 1-2 과정
    을 포함하는 객체 추출 기반의 어플리케이션 검증 방법.
  8. 제 7 항에 있어서,
    상기 제 1-1 과정은,
    상기 플랫폼으로부터 공통 UI 객체용의 이미지 객체를 추출하는 과정과,
    상기 플랫폼으로부터 공통 UI 객체용의 문자 또는 문자열 객체를 추출하는 과정과,
    추출된 상기 이미지 객체와 문자 또는 문자열 객체들에 대한 각 객체 유형을 식별하는 과정
    을 포함하는 객체 추출 기반의 어플리케이션 검증 방법.
  9. 제 7 항에 있어서,
    상기 제 1-2 과정은,
    상기 앱 리소스로부터 고유 UI 객체용의 이미지 객체를 추출하는 과정과,
    상기 앱 리소스로부터 고유 UI 객체용의 문자 또는 문자열 객체를 추출하는 과정과,
    추출된 상기 이미지 객체와 문자 또는 문자열 객체들에 대한 각 객체 유형을 식별하는 과정
    을 포함하는 객체 추출 기반의 어플리케이션 검증 방법.
  10. 제 5 항에 있어서,
    상기 방법은,
    상기 이벤트 행위의 실행이 완료될 때, 화면과 객체를 기록한 탐색 경로를 생성하여 정보 저장부에 저장하는 과정
    을 더 포함하는 객체 추출 기반의 어플리케이션 검증 방법.
  11. 제 10 항에 있어서,
    상기 저장하는 과정은,
    상기 이벤트 행위의 실행 결과를 상기 탐색 경로와 함께 상기 정보 저장부에 저장하는
    객체 추출 기반의 어플리케이션 검증 방법.
  12. 분석 대상의 앱에 대한 UI 객체 및 관련 화면들을 획득하는 정보 획득부와,
    획득된 상기 UI 객체와 상기 관련 화면들에 대한 전체 화면 목록을 저장하는 정보 저장부와,
    검증 대상 화면을 탐색하여 유효 UI 객체를 탐색하고, 탐색된 상기 유효 UI 객체에 대한 객체 유형을 특정하는 객체 판별부와,
    특정된 상기 객체 유형에 상응하는 이벤트를 생성하여 이벤트 행위를 실행시키는 제어부
    를 포함하는 객체 추출 기반의 어플리케이션 검증 장치.
  13. 제 12 항에 있어서,
    상기 정보 획득부는,
    상기 앱의 플랫폼으로부터 공통 UI 객체와 각 객체 유형을 추출하는 공통 UI 추출부와,
    상기 앱의 앱 배포 파일로부터 앱 리소스 내의 고유 UI 객체와 각 객체 유형을 추출하는 고유 UI 추출부와,
    상기 공통 UI 객체 및 고유 UI 객체와 관련된 화면들에 대한 전체 화면 목록을 파악하고, 각 객체에 대한 탐색 경로를 추정하는 탐색 경로 추정부
    를 포함하는 객체 추출 기반의 어플리케이션 검증 장치.
  14. 제 13 항에 있어서,
    상기 탐색 경로는,
    UI 경로를 따라 트리 구조로 배열되는 화면 및 객체 탐색 경로를 포함하는
    객체 추출 기반의 어플리케이션 검증 장치.
  15. 제 13 항에 있어서,
    상기 공통 UI 추출부는,
    상기 플랫폼으로부터 상기 공통 UI 객체용의 이미지 객체와 문자 또는 문자열 객체 및 각 객체 유형을 추출하는
    객체 추출 기반의 어플리케이션 검증 장치.
  16. 제 13 항에 있어서,
    상기 고유 UI 추출부는,
    상기 앱 리소스로부터 고유 UI 객체용의 이미지 객체, 문자 또는 문자열 객체, 추출된 이미지 객체와 문자 또는 문자열 객체 및 각 객체 유형을 추출하는
    객체 추출 기반의 어플리케이션 검증 장치.
  17. 제 12 항에 있어서,
    상기 객체 판별부는,
    상기 분석 대상의 앱이 로딩되어 실행될 때 상기 검증 대상 화면에 대한 객체 탐색을 지령하는 탐색 제어부와,
    상기 지령에 따라 상기 검증 대상 화면으로부터 상기 UI 객체를 탐색하는 객체 탐색부와,
    유사도 판단을 통하여 탐색된 상기 UI 객체가 상기 유효 UI 객체인지를 검증하고, 상기 유효 UI 객체일 때 유효 영역을 식별하여 기 파악된 객체 유형을 특정하는 유효성 검증부
    를 포함하는 객체 추출 기반의 어플리케이션 검증 장치.
  18. 제 12 항에 있어서,
    상기 제어부는,
    상기 객체 유형에 상응하는 이벤트를 생성하여 상기 이벤트 행위를 실행시키는 이벤트 관리부와,
    상기 이벤트 행위의 실행이 완료될 때 화면과 객체를 기록한 탐색 경로를 생성하여 상기 정보 저장부에 저장하는 탐색 경로 저장부
    를 포함하는 객체 추출 기반의 어플리케이션 검증 장치.
  19. 제 18 항에 있어서,
    상기 이벤트 관리부는,
    상기 이벤트 행위에 대한 실행이 완료될 때 다음 UI 객체의 탐색을 위해 그 실행 완료를 상기 객체 판별부로 통지하는
    객체 추출 기반의 어플리케이션 검증 장치.
  20. 제 18 항에 있어서,
    상기 탐색 경로 저장부는,
    상기 이벤트 행위의 실행 결과를 상기 탐색 경로와 함께 상기 정보 저장부에 저장하는
    객체 추출 기반의 어플리케이션 검증 장치.
KR1020130117433A 2013-10-01 2013-10-01 객체 추출 기반의 어플리케이션 검증 방법 및 그 장치 KR101527745B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130117433A KR101527745B1 (ko) 2013-10-01 2013-10-01 객체 추출 기반의 어플리케이션 검증 방법 및 그 장치
PCT/KR2014/009127 WO2015050348A1 (ko) 2013-10-01 2014-09-29 객체 추출 기반의 어플리케이션 검증 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130117433A KR101527745B1 (ko) 2013-10-01 2013-10-01 객체 추출 기반의 어플리케이션 검증 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20150038983A true KR20150038983A (ko) 2015-04-09
KR101527745B1 KR101527745B1 (ko) 2015-06-11

Family

ID=52778899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130117433A KR101527745B1 (ko) 2013-10-01 2013-10-01 객체 추출 기반의 어플리케이션 검증 방법 및 그 장치

Country Status (2)

Country Link
KR (1) KR101527745B1 (ko)
WO (1) WO2015050348A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190105439A (ko) * 2018-03-05 2019-09-17 어니컴 주식회사 애플리케이션 테스트 방법 및 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2621185C2 (ru) * 2015-11-10 2017-05-31 Акционерное общество "Центральный научно-исследовательский институт экономики, информатики и систем управления" (АО "ЦНИИ ЭИСУ") Система для определения отношения между первой и второй объектными сущностями данных
GB202106085D0 (en) 2021-04-28 2021-06-09 Tomtom Traffic Bv Generating closure data relating to closure of a stretch of navigable elements

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101607704B1 (ko) * 2008-04-17 2016-04-11 주식회사 알티캐스트 어플리케이션 생성 방법 및 시스템
KR101488815B1 (ko) * 2008-11-19 2015-02-04 (주)링크제니시스 메뉴 테스트용 스크립트 생성 장치, 이를 포함하는 메뉴 테스트 자동화 시스템, 및 그 방법
KR20120121950A (ko) * 2011-04-28 2012-11-07 (주)아이엔에스랩 애플리케이션 그래픽 유저인터페이스 테스트 자동화 시스템 및 그 방법
KR101383056B1 (ko) * 2012-03-05 2014-04-08 주식회사 인프라웨어 스크립트를 이용하여 메뉴를 연동시킨 웹 어플리케이션 제공 방법 및 그를 이용한 스마트 단말

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190105439A (ko) * 2018-03-05 2019-09-17 어니컴 주식회사 애플리케이션 테스트 방법 및 장치

Also Published As

Publication number Publication date
WO2015050348A1 (ko) 2015-04-09
KR101527745B1 (ko) 2015-06-11

Similar Documents

Publication Publication Date Title
CN106844217B (zh) 对应用的控件进行埋点的方法及装置、可读存储介质
CN106557424B (zh) 内存测试方法、被测终端、测试客户端及***
KR101246623B1 (ko) 악성 애플리케이션 진단 장치 및 방법
CN104598380A (zh) 一种基于控件的自动化测试方法及***
CN105335283A (zh) 终端设备中的应用测试方法及装置
KR101582601B1 (ko) 액티비티 문자열 분석에 의한 안드로이드 악성코드 검출 방법
US20160034380A1 (en) Monitor usable with continuous deployment
KR101312446B1 (ko) 사용자의 행위 로그를 이용한 모바일 어플리케이션의 사용성 분석 장치 및 방법
KR101588027B1 (ko) 소프트웨어 현지화를 위한 테스트 케이스 생성 장치 및 방법
CN107102949B (zh) 应用程序离线测试方法及工具
US10152405B2 (en) Application testing system and method
CN106407054B (zh) 一种bmc自动测试***及方法
CN110554962A (zh) 回归测试的流程覆盖方法、服务器及计算机可读存储介质
CN111654495B (zh) 用于确定流量产生来源的方法、装置、设备及存储介质
CN113448854A (zh) 一种回归测试方法和装置
CN105183658A (zh) 测试软件代码的方法及装置
CN111190573A (zh) 应用程序埋点方法、装置和电子设备
KR101527745B1 (ko) 객체 추출 기반의 어플리케이션 검증 방법 및 그 장치
KR20150025106A (ko) 애플리케이션 검증결과 모니터링 서비스를 위한 검증장치, 단말장치, 시스템, 방법 및 컴퓨터로 판독 가능한 기록 매체
CN106301975B (zh) 一种数据检测方法及其装置
CN110866205A (zh) 用于存储信息的方法和装置
KR101256468B1 (ko) 악성 파일 진단 장치 및 방법
US20140155179A1 (en) Method and apparatus for generating map data based on game log data
CN115391230A (zh) 一种测试脚本生成、渗透测试方法、装置、设备及介质
CN107430590B (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: 20180607

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190604

Year of fee payment: 5