KR101757149B1 - 권한 부여 기동장치를 이용한 스마트기기 응용프로그램의 자동 시험방법 - Google Patents

권한 부여 기동장치를 이용한 스마트기기 응용프로그램의 자동 시험방법 Download PDF

Info

Publication number
KR101757149B1
KR101757149B1 KR1020160148677A KR20160148677A KR101757149B1 KR 101757149 B1 KR101757149 B1 KR 101757149B1 KR 1020160148677 A KR1020160148677 A KR 1020160148677A KR 20160148677 A KR20160148677 A KR 20160148677A KR 101757149 B1 KR101757149 B1 KR 101757149B1
Authority
KR
South Korea
Prior art keywords
smart device
program
control program
test
application program
Prior art date
Application number
KR1020160148677A
Other languages
English (en)
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 KR1020160148677A priority Critical patent/KR101757149B1/ko
Application granted granted Critical
Publication of KR101757149B1 publication Critical patent/KR101757149B1/ko
Priority to US15/788,453 priority patent/US10310970B2/en
Priority to JP2017215711A priority patent/JP6437078B2/ja

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
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

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

Abstract

본 발명은 스마트폰 및 태블릿 등의 스마트기기(10)에 탑재되는 응용프로그램을 시험하는 방법에 관한 것으로, 스마트기기(10)에 설치된 제어프로그램에 의하여 시험 대상 응용프로그램을 자동 시험하되, 스마트기기(10)에 결합되는 기동장치(20)를 통하여 제어프로그램에 유효권한이 부여되도록 하는 것이다.
본 발명을 통하여, 응용프로그램 시험이 수행되는 스마트기기(10)의 사용자가 해당 스마트기기(10)를 직접 조작하지 않고도 시험이 자동으로 수행될 수 있으며, 다양한 조건에 대한 응용프로그램의 시험이 효율적이고 체계적으로 수행될 수 있다.

Description

권한 부여 기동장치를 이용한 스마트기기 응용프로그램의 자동 시험방법{SMART DEVICE APPLICATION AUTOTEST METHOD USING PERMISSION BOOSTER}
본 발명은 스마트폰 및 태블릿 등의 스마트기기(10)에 탑재되는 응용프로그램을 시험하는 방법에 관한 것으로, 스마트기기(10)에 설치된 제어프로그램에 의하여 시험 대상 응용프로그램을 자동 시험하되, 스마트기기(10)에 결합되는 기동장치(20)를 통하여 제어프로그램에 유효권한이 부여되도록 하는 것이다.
고성능 처리장치, 대용량 기억장치 및 고화질 터치스크린이 장착된 스마트폰 및 태블릿 등의 스마트기기(10)는 단순한 통신기기를 탈피하여, 다양한 응용프로그램을 수행하는 다기능 정보기기로 활용되고 있다.
현재 출시되는 스마트기기(10)는 디지털 정보 자체의 처리는 물론, 영상 및 음성 정보 등이 포함된 멀티미디어 정보를 비롯하여 GPS기반 위치정보 및 각종 센서를 통한 감지정보 등의 처리에 있어서 통상의 탁상용 컴퓨터에 필적하거나 상회하는 성능이 부여되고 있으며, 특유의 휴대성을 바탕으로 일상생활 및 산업 전반에 있어서의 활용도가 확대되고 있다.
이에, 스마트기기(10)의 운영체계하에서 작동하는 다양한 응용프로그램이 개발되고 있으며, 스마트기기(10) 운영체계 제작사에 의하여 응용프로그램 제작 환경이 광범위하게 개방됨에 따라, 과거 스마트기기(10) 제작사 또는 통신사 등의 전유물이었던 응용프로그램 제작이 중소 프로그램 개발사는 물론 일반 사용자로 확대되어, 스마트기기(10)용 응용프로그램의 양적, 질적 성장이 폭발적으로 이루어지고 있다.
여타의 소프트웨어와 같이, 스마트기기(10)용 응용프로그램 역시 제작의 최종 단계로서 응용프로그램의 작동상 오류, 안정성 및 호환성 등을 점검하는 시험을 거치게 되는데, 이러한 응용프로그램의 시험 방식으로는 응용프로그램의 개발자가 스마트기기(10)에 해당 응용프로그램을 설치한 후 직접 조작하는 기초적인 방식에서, 베타테스터(betatester)를 모집하여 응용프로그램을 배포하는 방식에 이르는 다양한 방식이 가능하다.
스마트기기(10)용 응용프로그램의 시험에 있어서, 개발자가 스마트기기(10)에 응용프로그램을 설치한 후 직접 조작하는 방식에서는 다양한 조건에 대한 조작을 개발자가 직접 수행하여야 할 뿐 아니라, 동일한 조작을 다양한 기종의 스마트기기(10)에 대하여 반복하여야 하는 바, 응용프로그램 시험에 장기간이 소요되고 시험결과의 신뢰성 역시 보장할 수 없는 한계가 있다.
이에, 도 1에서와 같이, USB(Universal Serial Bus) 등 스마트기기(10)의 데이터커넥터(Data Connector)(15)와 컴퓨터(19)를 물리적으로 연결한 상태에서, 컴퓨터(19)에 탑재된 테스트 프로그램이 스마트기기(10)를 제어하도록 함으로써 스마트기기(10)에 탑재된 응용프로그램을 시험하는 방식이 일반적으로 활용되고 있으며 관련 종래기술로는 공개특허 제2012-121950호 등을 들 수 있다.
이러한 시험 방식은 주로 해당 응용프로그램의 개발자에 의하여 직접 수행되는 초기 시험이나 응용프로그램 개발사 내부의 소수 인원에 의하여 수행되는 소위 알파테스트(alpha test)로서 적용되는 방식으로, 스마트기기(10)와 컴퓨터(19)를 데이터커넥터(15)를 통하여 연결하여 스마트기기(10)의 시험을 위한 조작을 자동으로 수행함으로써 개발자가 스마트기기(10)를 직접 조작하지 않고도 다양하고 체계적인 시나리오에 대한 응용프로그램의 시험을 효율적으로 수행할 수 있으나, 스마트기기(10)의 기종별로 동일한 시험을 반복하여야 할 뿐 아니라, 일반 사용자의 스마트기기(10) 사용 환경을 완벽하게 재현한 조건에서의 시험은 근본적으로 불가능한 문제점이 있다.
즉, 스마트기기(10) 기종의 차이점은 차치하더라도 사용자에 따라 사용 습관 및 조건이 상이하고, 기 설치된 프로그램과 시험 대상 응용프로그램과의 상호 작용도 예측할 수 없는 바, 동일한 기종의 스마트기기(10)라도 실상은 다양한 응용프로그램 작동 조건이 조성될 수 밖에 없는 것이다.
이에, 다수의 시험 참여자를 모집하고, 모집된 시험 참여자가 자신의 스마트기기(10)에 시험 대상 응용프로그램을 설치하여 사용하도록 함으로써, 실제 사용 환경과 최대한 근접한 조건으로 시험을 수행하는 베타테스트(beta test) 방식이 수행되고 있으며, 관련 종래기술로는 공개특허 제2016-99778호 등을 들 수 있다.
공개특허 제2016-99778호를 비롯한 베타테스트 즉, 일반 사용자 또는 전문가를 모집하여 시험 대상 응용프로그램을 실제 사용하도록 하는 방식은 해당 응용프로그램의 실제 작동 환경을 최대한 반영한 상태에서, 다양한 경우에 대한 시험이 가능하다는 점에서 일견 완벽한 시험 방식으로 보일 수 있으나, 해당 시험의 참여자 즉, 베타테스터가 시험 대상 응용프로그램을 직접 조작하여야 하는 근본적인 한계를 가진다.
즉, 종래의 베타테스트는 시험 대상 응용프로그램을 사용자가 자신의 스마트기기(10)에 직접 설치한 후, 직접 사용하고, 그 결과를 응용프로그램의 개발자에게 통지하는 방식으로 이루어지는 바, 상당한 시간을 할애하여 시험 대상 응용프로그램을 조작하여야 할 뿐 아니라, 베타테스터에게 해당 응용프로그램과 관련된 전문가 수준의 지식이 요구되는 경우가 대부분이라 할 수 있는 것이다.
따라서, 베타테스터의 모집은 물론 관리에 있어서 막대한 시간과 비용이 소요될 수 밖에 없으며, 베타테스터의 규모에도 제한이 있을 수 밖에 없어, 응용프로그램 시험의 효율성 및 신뢰성 확보에 심각한 애로점이 있었다.
본 발명은 전술한 문제점을 감안하여, 베타테스터인 사용자가 스마트기기(10)를 직접 조작하지 않고도 응용프로그램의 시험이 가능하도록 창안된 것으로, 스마트기기(10) 응용프로그램의 자동 시험방법에 있어서, 시험 대상 응용프로그램인 대상프로그램과, 스크립트를 독취하여 대상프로그램을 조작하는 제어프로그램이 스마트기기(10)에 설치되는 설치단계(S10)와, 데이터커넥터(15) 및 기억장치가 구비된 장치로서 기동프로그램이 탑재된 기동장치(20)가 스마트기기(10)의 데이터커넥터(15)와 직접 연결되는 연결단계(S20)와, 기동장치(20)의 기동프로그램이 데이터커넥터(15)를 경유하여 스마트기기(10)의 운영체계에 제어프로그램의 유효권한 부여를 요구하는 요구단계(S30)와, 스마트기기(10)의 운영체계가 제어프로그램에 유효권한을 부여하는 수락단계(S40)와, 제어프로그램이 대상프로그램을 조작하는 시험단계(S50)로 이루어짐을 특징으로 하는 권한 부여 기동장치를 이용한 스마트기기 응용프로그램의 자동 시험방법이다.
또한, 상기 스마트기기(10)의 운영체계는 안드로이드이고, 스마트기기(10)의 데이터커넥터(15) 및 기동장치(20)의 데이터커넥터(15)는 USB이며, 기동장치(20)와 스마트기기(10)에는 각각 ADB서버와 ADB데몬이 설치되어, 연결단계(S20)에서는 USB를 통한 TCP/IP 통신로가 개설되고, 요구단계(S30)에서는 기동프로그램의 제어에 따라 ADB서버가 명령어를 상기 TCP/IP 통신로를 통하여 ADB데몬에 전송하며, 수락단계(S40)에서는 ADB데몬이 명령어를 수신함에 따라 스마트기기(10)의 운영체계가 제어프로그램에 유효권한을 부여함을 특징으로 하는 권한 부여 기동장치를 이용한 스마트기기 응용프로그램의 자동 시험방법이다.
또한, 무선망(30)과 연결된 주관서버(35)가 구성되고, 설치단계(S10)는 주관서버(35)가 무선망(30)을 통하여 스마트기기(10)로 시험정보를 전송하는 통지단계(S11)와, 시험정보를 수신한 스마트기기(10)가 무선망(30)을 통하여 주관서버(35)에 접속하고, 주관서버(35)는 스마트기기(10)로 제어프로그램을 전송하며, 스마트기기(10)에 제어프로그램이 설치되는 제어프로그램 설치단계(S12)와, 시험정보를 수신한 스마트기기(10)가 무선망(30)을 통하여 주관서버(35)에 접속하고, 주관서버(35)는 스마트기기(10)로 대상프로그램을 전송하며, 스마트기기(10)에 대상프로그램이 설치되는 대상프로그램 설치단계(S13)로 이루어지며, 연결단계(S20)는 스마트기기(10)와 기동장치(20)의 연결 요청 신호를 출력하는 연결유도단계(S21)와, 스마트기기(10)의 데이터커넥터(15)와 기동장치(20)의 데이터커넥터(15)가 연결되면 기동장치(20)의 기동프로그램과 스마트기기(10)의 운영체계간 통신로가 개설되는 통신로개설단계(S22)로 이루어짐을 특징으로 하는 권한 부여 기동장치를 이용한 스마트기기 응용프로그램의 자동 시험방법이다.
본 발명을 통하여, 응용프로그램 시험이 수행되는 스마트기기(10)의 사용자가 해당 스마트기기(10)를 직접 조작하지 않고도 시험이 자동으로 수행될 수 있으며, 다양한 조건에 대한 응용프로그램의 시험이 효율적이고 체계적으로 수행될 수 있다.
본 발명의 응용프로그램 시험 자동 수행을 통하여, 전문적 지식이 부족한 일반 사용자도 응용프로그램 시험에 참여할 수 있으며, 이로써 베타테스트 형식 응용프로그램 시험의 저변을 확대하고, 시험 참여 스마트기기(10)의 규모를 비약적으로 확대할 수 있을 뿐 아니라, 시험에 소요되는 비용 역시 획기적으로 절감할 수 있다.
특히, 시험 참여 스마트기기(10)의 규모 확대를 통하여 응용프로그램 시험과정에서 다양한 작동 환경을 부여할 수 있는 바, 시험의 정확성 및 신뢰도를 확보할 수 있다.
도 1은 종래의 스마트기기 응용프로그램 시험방식 설명도
도 2는 본 발명의 기동장치 결합방식 설명도
도 3은 본 발명의 흐름도
도 4는 본 발명의 스마트기기 및 기동장치 구성도
도 5는 본 발명의 단계별 스마트기기 화면 예시도
본 발명은 다수 참여자의 스마트기기(10)를 이용하여 응용프로그램을 시험하는 방법에 관한 것으로서, 응용프로그램 시험에 참여하는 스마트기기(10)와 별도의 컴퓨터(19)를 직접 연결하거나, 시험에 참여하는 스마트기기(10) 사용자가 자신의 스마트기기(10)를 직접 조작하지 않고도, 응용프로그램의 시험이 가능하도록 한 것이다.
즉, 응용프로그램의 시험에 있어서, 통상의 알파테스트에서와 같이 스마트폰을 탁상용 컴퓨터 또는 노트북 등 별도의 컴퓨터(19)와 연결하여 제어할 필요가 없음은 물론, 통상의 베타테스트에서와 같이 사용자가 스마트폰을 직접 조작하여 시험대상 응용프로그램인 대상프로그램을 실행 및 조작할 필요도 없는 것이다.
특히, 본 발명을 통하여, 대규모의 시험 참여자를 대상으로 하는 베타테스트를 실시하면서도 스마트기기(10)에 탑재된 제어프로그램에 의한 자동 시험을 실시함으로써, 전문성이 부족한 일반 사용자를 베타테스터로 모집한 상태에서도 다양하고 세밀하면서도 체계적으로 수립된 시나리오별 이벤트에 대한 응용프로그램 시험을 실시할 수 있다.
이러한 본 발명의 스마트기기(10) 응용프로그램 시험방법은 전술한 바와 같이 스마트기기(10)에 별도의 컴퓨터(19)를 연결하지 않은 상태로 수행되는 것인 바, 실제 응용프로그램의 시험은 스마트기기(10)에 탑재된 제어프로그램에 의하여 수행되며, 이는 필요에 따라 해당 스마트기기(10)의 사용자가 인식하지 못하는 상태로 진행된다.
다만, 스마트기기(10)에 탑재되는 제어프로그램에는 시험 대상 응용프로그램 즉, 대상프로그램의 실행 및 조작을 수행할 수 있도록 운영체계상의 권한이 부여될 필요가 있으며, 이는 도 1에서와 같이, 스마트기기(10)와 데이터커넥터(15)를 통하여 물리적으로 연결되는 기동장치(20)를 통하여 수행된다.
스마트기기(10) 운영체계의 종류에 따라 차이가 있을 수 있으나, 일반적으로 스마트기기(10) 운영체계의 응용프로그램에 부여되는 권한은 크게 최상위 권한인 루트권한(root permission), 차상위 권한인 시스템권한(system permission) 및 일반 사용자 권한인 유저권한(user permission) 등으로 분류될 수 있으며, 이들 권한은 운영체계내 접근 가능 영역에 따라 세분될 수 있는데, 어떤 응용프로그램을 타 응용프로그램이 실행, 제어 내지 조작하기 위해서는 타 응용프로그램에 충분한 상위 권한인 유효권한이 부여될 필요가 있으며, 통상 이러한 유효권한은 시스템권한 이상으로 설정된다.
즉, 별도의 컴퓨터 연결 없이 스마트기기(10)에 자체 탑재된 제어프로그램이 역시 동일한 스마트기기(10)에 탑재된 타 응용프로그램인 대상프로그램을 실행, 제어 내지 조작하기 위해서는 통상 시스템권한 이상으로 설정되는 유효권한이 제어프로그램에 부여될 필요가 있는 것이다.
그러나, 스마트기기(10) 운영체계의 제작사 또는 스마트기기(10) 제조사 등은 보안확보, 응용프로그램별 부여 권한의 세분에 따른 개발비용 상승, 자사 배포 응용프로그램의 시장 확보 및 자사 운영체계 수행 기능의 경쟁사 잠식 차단을 목적으로 일반 응용프로그램에 상대적으로 하위의 권한을 부여하는 정책을 고수하고 있으며, 따라서 일반 응용프로그램의 일종인 제어프로그램 역시 유효권한을 확보하기는 지극히 어렵다.
다만, SDK(Software Development Kit)와 같이, 스마트기기(10) 응용프로그램의 개발 환경이 개방됨에 따라, 별도의 외부 컴퓨터와 스마트기기(10)를 USB 등의 물리적 데이터커넥터(15)로 연결한 상태에서 스마트기기(10)를 컴퓨터로 제어하거나 전술한 알파테스트의 예에서와 같이 특정 이벤트를 수행하는 스크립트를 입력하는 등의 작업이 가능하도록 관련 프로그램에 대한 권한 부여는 허용되고 있다.
즉, 스마트기기(10) 운영체계의 제작사가 자사 운영체계의 점유율을 확대하기 위하여 자사 운영체계의 응용프로그램 개발을 장려하고 개발자 친화적인 응용프로그램 개발 환경을 조성하기 위하여, 응용프로그램 개발환경을 상정한 컴퓨터와 스마트기기(10)간 물리적 연결에 따른 일반 응용프로그램에 대한 권한 부여를 불가피하게 허용하고 있는 것이다.
본 발명은 이러한 점에서 착안하여 스마트기기(10)에 기 탑재된 제어프로그램에 권한을 부여함에 있어서 스마트기기(10)에 데이터커넥터(15)를 통하여 물리적으로 연결되는 기동장치(20)를 활용함으로써, 스마트기기(10) 자체에 응용프로그램으로서 탑재된 제어프로그램이 유효권한을 획득하고 대상프로그램을 실행, 제어 및 조작할 수 있도록 한 것이다.
본 발명에 있어서 스마트기기(10)와 연결되는 기동장치(20)는 기억소자 즉, 기억장치가 내장된 물리적 장치 즉, 하드웨어로서, 도 1에서와 같이 USB 등의 데이터커넥터(15)를 통하여 스마트기기(10)와 물리적으로 결합, 연결되며, 후술할 기동프로그램의 원활한 작동을 위하여 기억소자와 프로세서가 동반 탑재될 수도 있다.
기동장치(20)의 연결을 통하여 일단 스마트기기(10)의 운영체계로부터 제어프로그램에 유효권한이 부여된 후에는 스마트기기(10) 운영체계가 종료되지 않는 한 제어프로그램의 유효권한이 유지되며, 따라서 제어프로그램에 유효권한이 부여된 이후에는 스마트기기(10)로부터 기동장치(20)를 분리하여도 무방하다.
이러한 본 발명의 스마트기기(10) 응용프로그램 자동 시험방법은 도 3에서와 같이, 시험 대상 응용프로그램인 대상프로그램과, 스크립트(script)를 독취하여 대상프로그램을 조작하는 제어프로그램이 스마트기기(10)에 설치되는 설치단계(S10)로 개시된다.
설치단계(S10)에서 스마트기기(10)에 탑재되는 대상프로그램 및 제어프로그램은 해당 스마트기기(10) 운영체계의 응용프로그램으로서, 스마트기기(10)의 기억장치에 설치 및 수록된다.
제어프로그램은 후술할 대상프로그램의 실제 시험 전반을 주도하는 응용프로그램으로서, 대상프로그램의 실제 사용과정을 상정한 다양한 시나리오별 이벤트에 대한 스크립트에 따라 대상프로그램을 제어 내지 조작하게 된다.
여기서 제어프로그램이 활용하는 일련의 스크립트는 제어프로그램의 모듈로서 제어프로그램 자체에 포함되거나, 제어프로그램과 분리되어 별도의 문자열 또는 데이터베이스 형식으로 스마트기기(10)의 기억장치에 수록될 수도 있으며, 시험 과정 전반에 있어서의 보안확보를 위하여 암호화될 수도 있다.
설치단계(S10)가 완료되면, 데이터커넥터(15), 프로세서 및 기억장치가 구비된 물리적 장치로서 기동프로그램이 탑재된 기동장치(20)가 스마트기기(10)의 데이터커넥터(15)와 직접 연결되는 연결단계(S20)가 수행된다.
즉, 스마트기기(10)의 사용자가 자신의 스마트기기(10)에 소지하고 있던 기동장치(20)를 결합함에 따라, 기동장치(20)와 스마트기기(10)간 통신로가 개설되는 것이다.
연결단계(S20)에서 데이터커넥터(15)를 통하여 스마트기기(10)와 물리적으로 결합되는 기동장치(20)는 스마트기기(10) 응용프로그램 시험의 주체에 의하여 제작되어 시험 참여자에게 배포되는 소형 하드웨어로서, 여기서 스마트기기(10) 응용프로그램 시험의 주체는 스마트기기(10) 제작사, 운영체계 제작사 및 응용프로그램 제작사 등 스마트기기(10)의 응용프로그램을 직접 제작하는 업체가 될 수 있을 뿐 아니라, 이들 대규모 응용프로그램 제작사 또는 중소 응용프로그램 개발사는 물론 개인 개발자가 응용프로그램의 시험을 의뢰함에 따라 베타테스터를 모집 및 관리하고 시험 과정을 주관하는 응용프로그램 시험 대행사가 될 수도 있다.
응용프로그램 제작 업체 또는 응용프로그램 시험 대행사에 의하여 본 발명이 실제 수행되는 상황을 상정하여 기동장치(20)와 제어프로그램의 제작, 배포 및 작동 방식을 설명하면, 응용프로그램 제작 업체 또는 응용프로그램 시험 대행사는 제어프로그램 및 기동장치(20)를 제작하여 모집된 베타테스터인 스마트기기(10) 사용자에게 배포하고, 해당 사용자는 배포된 제어프로그램을 자신의 스마트기기(10)에 설치하며, 기동장치(20)를 소지하게 된다.
하드웨어인 기동장치(20)는 응용프로그램 제작 업체 또는 응용프로그램 시험 대행사의 영업점에 베타테스터로 모집된 스마트기기(10) 사용자가 방문하여 수령하거나, 응용프로그램 제작 업체 또는 응용프로그램 시험 대행사가 스마트기기(10) 사용자에게 배송할 수 있다.
또한, 기동프로그램이 탑재되지 않은 상태의 범용 기동장치(20)를 전술한 응용프로그램 제작 업체, 응용프로그램 시험 대행사 또는 기타 정보기기 제작사 등에서 제작하여 시중에 유통하고, 베타테스터로 모집된 스마트기기(10) 사용자가 이를 구입하여 배포된 기동프로그램을 직접 설치하거나, 베타테스터로 모집된 스마트기기(10) 사용자가 USB 등 데이터커넥터(15)와 결합되는 소형 외장 기억장치를 구입하여 기동프로그램을 설치하는 등의 방식으로 기동장치(20)를 구성할 수도 있다.
이러한 기동장치(20)의 다양한 구성 방식에도 불구하고, 기동장치(20)에 탑재되는 기동프로그램과 스마트기기(10)에 탑재되는 제어프로그램 제작 주체는 실질적으로 동일하므로, 후술할 요구단계(S30)에서 제어프로그램의 식별정보를 기동프로그램이 송출하는 과정은 무리없이 수행될 수 있다.
연결단계(S20)가 완료되면, 기동장치(20)의 기동프로그램이 데이터커넥터(15)를 경유하여 스마트기기(10)의 운영체계에 제어프로그램의 유효권한 부여를 요구하는 요구단계(S30)가 수행된다.
요구단계(S30)에서 기동프로그램은 데이터커넥터(15)를 통하여 구축된 통신로를 통하여 스마트기기(10)의 운영체계로 유효권한의 부여 요구와 함께 상기 설치단계(S10)에서 설치된 제어프로그램의 식별정보를 전송할 수 있으며, 이에 따라 스마트기기(10)의 운영체계가 제어프로그램에 유효권한을 부여하는 수락단계(S40)가 수행됨으로써, 제어프로그램에 대상프로그램을 제어할 수 있는 유효권한이 부여된다.
수락단계(S40)가 완료되어 제어프로그램에 유효권한이 부여되면, 제어프로그램이 전술한 스크립트에 따라 대상프로그램을 실행, 제어 내지 조작하는 시험단계(S50)가 수행되며, 시험단계(S50)에서 제어프로그램은 대상프로그램의 조작 상태 및 대상프로그램의 실행 결과를 스마트기기(10)의 기억장치에 저장하게 된다.
이렇듯 시험단계(S50)가 수행됨에 따라 수집된 대상프로그램의 작동 관련 정보는 스마트기기(10)의 기억장치에 일시 또는 임시 저장된 후, 후술할 주관서버(35)등으로 전송되어, 응용프로그램 제작 업체 또는 응용프로그램 시험 대행사에 제공된다.
도 4는 전술한 본 발명이 안드로이드 운영체계가 탑재된 스마트기기(10)에서 수행되는 실시예의 스마트기기(10) 및 기동장치(20)의 구성도로서, 동 실시예의 구체적인 수행과정은 다음과 같다.
도 4에 도시된 실시예에 있어서, 스마트기기(10)의 데이터커넥터(15) 및 기동장치(20)의 데이터커넥터(15) 규격은 USB이며, 기동장치(20)와 스마트기기(10)에는 각각 ADB서버(ADB Server)와 ADB데몬(ADB Daemon)이 설치된다.
ADB서버와 ADB데몬은 ADB(Android Debug Bridge)에서 제공되는 일종의 클라이언트 서버 시스템(Client Server System) 구축 프로그램으로서, 기동장치(20)에 탑재되는 ADB서버는 서버로서 거동하고, 스마트기기(10)에 탑재되는 ADB데몬은 클라이언트이자 상주프로그램(Resident Program)으로서 거동하면서, 기동프로그램과 운영체계 또는 기동프로그램과 제어프로그램을 매개하게 된다.
이러한 도 4 실시예에 있어서, 전술한 연결단계(S20)에서는 USB 파이프를 통한 TCP/IP 통신로가 개설된다.
일단 스마트기기(10)와 기동장치(20)가 USB인 데이터커넥터(15)를 통하여 물리적으로 연결되면, 입출력버스내 논리적 통신로라 할 수 있는 파이프(pipe)가 개설되어 논리적 장치(logical device)로 표현될 수 있는 ADB서버와 ADB데몬이 상호 연결되는 것이다.
이후, 수행되는 요구단계(S30)에서는 기동프로그램의 제어에 따라 ADB서버가 명령어를 상기 TCP/IP 통신로를 통하여 ADB데몬에 전송하며, 수락단계(S40)에서는 ADB데몬이 명령어를 수신함에 따라 스마트기기(10)의 운영체계가 제어프로그램에 유효권한을 부여하게 된다.
이로써 안드로이드 운영체계의 응용프로그램인 대상프로그램을 역시 안드로이드 운영체계의 응용프로그램으로서 동등한 지위였던 제어프로그램이 제어할 수 있게 되며, 전술한 바와 같이, 기 수립된 스크립트에 따라 제어프로그램이 대상프로그램을 실행, 제어 및 조작함에 따라 대상프로그램의 시험이 진행되는 것이다.
한편, 전술한 바와 같이, 본 발명은 다수의 스마트기기(10) 사용자를 베타테스터로 모집하고, 실제 시험을 진행함에 있어서는 베타테스터의 직접 조작이 배제되는 것으로서, 제어프로그램 및 대상프로그램을 배포 및 설치하는 과정 등이 무선망(30) 기반 온라인으로 수행될 수 있으며, 동 실시예의 구체적인 과정이 도 5에 도시되어 있다.
이러한 본 발명의 무선망(30) 기반 실시예는 도 5에서와 같이, 무선망(30)과 연결된 주관서버(35)가 구성되어 수행되는데, 여기서 주관서버(35)는 전술한 응용프로그램 제작 업체 또는 응용프로그램 시험 대행사에 의하여 운용되는 서버로서, 본 발명 수행에 필요한 각종 프로그램 및 스크립트 정보 등을 배포하고 관리하는 역할을 수행한다.
또한, 본 발명에 있어서 무선망(30)이란 이동통신망 및 무선랜을 망라하는 것으로, 스마트폰인 스마트기기(10)가 이동통신망의 이동국(移動局)으로서 거동하거나, 스마트폰 또는 태블릿인 스마트기기(10)의 무선 네트워크어댑터가 무선랜에 접속함으로써, 스마트기기(10)가 인터넷을 통하여 주관서버(35)에 접속된다.
도 5에서와 같이, 본 발명의 무선망(30) 기반 실시예에 있어서 설치단계(S10)는 통지단계(S11), 제어프로그램 설치단계(S12) 및 대상프로그램 설치단계(S13)로 구성된다.
통지단계(S11)는 주관서버(35)가 무선망(30)을 통하여 스마트기기(10)로 시험정보를 전송하는 단계로서, 본 발명 적용 베타테스트의 참여자 즉, 전술한 기동장치(20)를 소지한 베타테스터에게 응용프로그램 시험 참여 의사를 타진하는 과정이라 할 수 있다.
통지단계(S11)에서는 도 5에서와 같이, 문자메시지 또는 무선망(30)을 통한 푸시 서비스(push service)를 통하여 시험정보가 스마트기기(10)로 전달되고, 스마트기기(10)의 화면에 전송된 시험정보가 출력된다.
무선망(30) 기반 푸시 서비스는 무선망(30) 연결 기기가 인터넷상의 특정 서버에 클라이언트로서 접속하여 특정 정보를 요청하는 종래의 풀(pull) 방식 통신과 대별되는 통신방식으로서, 무선망(30) 연결 기기 즉, 본 발명 스마트기기(10)의 요청 유무는 물론 정보 제공자인 인터넷상의 특정 서버에 대한 접속 여부에 관계 없이 무선망(30)과 연결된 푸시서버가 비교적 소용량의 정보를 일방적으로 전송하는 것을 의미한다.
이러한 푸시 서비스는 통상 스마트기기(10) 운영체계 제작사 또는 통신사 등에 의하여 제공되는데, 그 대표적 예로서 Android의 제작사인 구글에서 제공하는 GCM(Google Cloud Messaging)과 iOS의 제작사인 애플에서 제공하는 APNS(Apple Push Notification Service)를 들 수 있다.
이러한 무선망(30) 기반 푸시 서비스는 일종의 브로드캐스트(broadcast) 내지 멀티캐스트(multicast) 방식의 통신이라 할 수 있으므로, 스마트기기(10)의 전산자원 잠식 및 전력소모를 저감할 수 있으며, 통신료 절감에 있어서도 유리하다.
통지단계(S11)에서 유통되는 시험정보는 응용프로그램 시험과 관련된 정보로서 응용프로그램의 종류 및 제작사 등 응용프로그램 자체의 속성 정보와 해당 시험에 소요되는 시간 또는 전산자원 용량 등의 시험 특성 정보가 포함될 수 있으며, 해당 응용프로그램 및 해당 시험을 진행하는 제어프로그램을 다운로드 받을 수 있는 URL(Uniform Resource Locator) 등을 포함할 수 있다.
특히, 도 5에 예시된 바와 같이, 통지단계(S11)에서 출력되는 문자메시지 또는 푸시 서비스 메시지에 사용자의 참여 의사를 타진하는 문구와, 사용자의 동의를 확인하는 버튼 또는 링크 등의 객체(object)를 출력하고, 사용자가 해당 객체를 터치하면 해당 응용프로그램 및 제어프로그램 등이 스마트기기(10)로 다운로드되도록 구성할 수도 있다.
통지단계(S11)에서 사용자가 시험 참여를 수락하면, 시험정보를 수신한 스마트기기(10)가 무선망(30)을 통하여 주관서버(35)에 접속하고, 주관서버(35)는 스마트기기(10)로 제어프로그램을 전송하며, 스마트기기(10)에 제어프로그램이 설치되는 제어프로그램 설치단계(S12)와, 시험정보를 수신한 스마트기기(10)가 무선망(30)을 통하여 주관서버(35)에 접속하고, 주관서버(35)는 스마트기기(10)로 대상프로그램을 전송하며, 스마트기기(10)에 대상프로그램이 설치되는 대상프로그램 설치단계(S13)가 수행되는데, 여기서 제어프로그램 설치단계(S12)와 대상프로그램 설치단계(S13)는 동시에 수행되거나 역순으로 수행 즉, 대상프로그램 설치단계(S13)가 먼저 수행되고 제어프로그램 설치단계(S12)가 나중에 수행될 수도 있다.
이렇듯, 제어프로그램 설치단계(S12)와 대상프로그램 설치단계(S13)가 완료되면, 본 발명을 통한 응용프로그램 시험의 사전 준비가 모두 완료된 상태로, 후속 단계인 연결단계(S20) 내지 시험단계(S50)가 순차적으로 수행됨에 따라 스마트기기(10) 사용자의 직접 조작 없이도 스마트기기(10)에 탑재된 응용프로그램이 실행되고 조작되는 시험이 진행될 수 있다.
이러한 본 발명의 무선망(30) 기반 실시예에 있어서 연결단계(S20)는 도 5에서와 같이, 연결유도단계(S21)와 통신로개설단계(S22)로 구성되는데, 연결유도단계(S21)는 사용자로 하여금 소지하고 있는 기동장치(20)를 스마트기기(10)와 물리적으로 결합하도록 안내 내지 유도하는 과정이고, 통신로개설단계(S22)는 스마트기기(10)와 기동장치(20)간 물리적 연결을 전제로 양자간 논리적 통신로를 개설하는 과정이다.
즉, 스마트기기(10)와 기동장치(20)의 연결 요청 신호를 출력하는 연결유도단계(S21)는 전술한 설치단계(S10)가 완료된 상태에서, 설치단계(S10)에서 설치된 제어프로그램이 스마트기기(10)의 화면 및 스피커 등 출력장치를 통하여 기동장치(20)와 스마트기기(10)를 데이터커넥터(15)를 통하여 물리적으로 결합하라는 안내 문구, 영상 또는 음성을 출력하는 방식으로 수행될 수 있는 것으로, 연결유도단계(S21)에서의 안내에 따라 당해 스마트기기(10)의 사용자는 소지하고 있던 기동장치(20)의 데이터커넥터(15)를 스마트기기(10)의 데이터커넥터(15)에 연결하게 된다.
이러한 연결유도단계(S21)에 있어서의 안내 문구 또는 안내 음성의 출력은 상기와 같이 전단계에서 설치된 제어프로그램에 의하여 수행될 수도 있으나, 이 밖에도 직전단계인 제어프로그램 설치단계(S12) 또는 대상프로그램 설치단계(S13)에서 프로그램의 설치 완료 메시지의 형식으로 수행될 수도 있다.
연결유도단계(S21)의 수행 이후 스마트기기(10)의 데이터커넥터(15)와 기동장치(20)의 데이터커넥터(15)가 물리적으로 연결되면 기동장치(20)의 기동프로그램과 스마트기기(10)의 운영체계간 통신로가 개설되는 통신로개설단계(S22)가 수행되며, 이렇듯 개설된 통신로를 통하여 제어프로그램에 대한 유효권한 설정을 요구하고, 유효권한을 획득한 제어프로그램이 응용프로그램의 시험을 수행하는 요구단계(S30) 내지 시험단계(S50)가 수행됨으로써, 스마트기기(10) 응용프로그램의 자동 시험이 효율적이고 체계적으로 진행될 수 있다.
10 : 스마트기기
15 : 데이터커넥터
19 : 컴퓨터
20 : 기동장치
30 : 무선망
35 : 주관서버

Claims (3)

  1. 스마트기기(10)에 설치된 제어프로그램에 의한 스마트기기(10) 응용프로그램의 자동 시험방법에 있어서,
    시험 대상 응용프로그램인 대상프로그램과, 스크립트를 독취하여 대상프로그램을 조작하는 제어프로그램이 스마트기기(10)에 설치되는 설치단계(S10)와;
    데이터커넥터(15) 및 기억장치가 구비된 장치로서 기동프로그램이 탑재된 기동장치(20)가 스마트기기(10)의 데이터커넥터(15)와 직접 연결되는 연결단계(S20)와;
    기동장치(20)의 기동프로그램이 데이터커넥터(15)를 경유하여 스마트기기(10)의 운영체계에 제어프로그램의 식별정보를 전송하고 제어프로그램의 유효권한 부여를 요구하는 요구단계(S30)와;
    스마트기기(10)의 운영체계가 제어프로그램에 유효권한을 부여하는 수락단계(S40)와;
    제어프로그램이 대상프로그램을 조작하는 시험단계(S50)로 이루어짐을 특징으로 하는 권한 부여 기동장치를 이용한 스마트기기 응용프로그램의 자동 시험방법.
  2. 청구항 1에 있어서, 스마트기기(10)의 운영체계는 안드로이드이고, 스마트기기(10)의 데이터커넥터(15) 및 기동장치(20)의 데이터커넥터(15)는 USB이며, 기동장치(20)와 스마트기기(10)에는 각각 ADB서버와 ADB데몬이 설치되어,
    연결단계(S20)에서는 USB를 통한 TCP/IP 통신로가 개설되고;
    요구단계(S30)에서는 기동프로그램의 제어에 따라 ADB서버가 명령어를 상기 TCP/IP 통신로를 통하여 ADB데몬에 전송하며
    수락단계(S40)에서는 ADB데몬이 명령어를 수신함에 따라 스마트기기(10)의 운영체계가 제어프로그램에 유효권한을 부여함을 특징으로 하는 권한 부여 기동장치를 이용한 스마트기기 응용프로그램의 자동 시험방법.
  3. 청구항 1에 있어서, 무선망(30)과 연결된 주관서버(35)가 구성되고,
    설치단계(S10)는
    주관서버(35)가 무선망(30)을 통하여 스마트기기(10)로 시험정보를 전송하는 통지단계(S11)와;
    시험정보를 수신한 스마트기기(10)가 무선망(30)을 통하여 주관서버(35)에 접속하고, 주관서버(35)는 스마트기기(10)로 제어프로그램을 전송하며, 스마트기기(10)에 제어프로그램이 설치되는 제어프로그램 설치단계(S12)와;
    시험정보를 수신한 스마트기기(10)가 무선망(30)을 통하여 주관서버(35)에 접속하고, 주관서버(35)는 스마트기기(10)로 대상프로그램을 전송하며, 스마트기기(10)에 대상프로그램이 설치되는 대상프로그램 설치단계(S13)로 이루어지며,
    연결단계(S20)는
    스마트기기(10)와 기동장치(20)의 연결 요청 신호를 출력하는 연결유도단계(S21)와;
    스마트기기(10)의 데이터커넥터(15)와 기동장치(20)의 데이터커넥터(15)가 연결되면 기동장치(20)의 기동프로그램과 스마트기기(10)의 운영체계간 통신로가 개설되는 통신로개설단계(S22)로 이루어짐을 특징으로 하는 권한 부여 기동장치를 이용한 스마트기기 응용프로그램의 자동 시험방법.
KR1020160148677A 2016-11-09 2016-11-09 권한 부여 기동장치를 이용한 스마트기기 응용프로그램의 자동 시험방법 KR101757149B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160148677A KR101757149B1 (ko) 2016-11-09 2016-11-09 권한 부여 기동장치를 이용한 스마트기기 응용프로그램의 자동 시험방법
US15/788,453 US10310970B2 (en) 2016-11-09 2017-10-19 Method of automatically testing smart device application program using permission booster
JP2017215711A JP6437078B2 (ja) 2016-11-09 2017-11-08 権限付与起動装置を用いたスマート機器の応用プログラムの自動テスト方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160148677A KR101757149B1 (ko) 2016-11-09 2016-11-09 권한 부여 기동장치를 이용한 스마트기기 응용프로그램의 자동 시험방법

Publications (1)

Publication Number Publication Date
KR101757149B1 true KR101757149B1 (ko) 2017-07-12

Family

ID=59353076

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160148677A KR101757149B1 (ko) 2016-11-09 2016-11-09 권한 부여 기동장치를 이용한 스마트기기 응용프로그램의 자동 시험방법

Country Status (3)

Country Link
US (1) US10310970B2 (ko)
JP (1) JP6437078B2 (ko)
KR (1) KR101757149B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10708406B2 (en) * 2018-04-25 2020-07-07 Future Dial, Inc. Enhanced system and method for fully automated reverse logistics platform
CN108984389B (zh) * 2018-06-01 2021-04-09 平安科技(深圳)有限公司 一种应用程序测试方法及终端设备
TWI721689B (zh) * 2019-12-06 2021-03-11 群邁通訊股份有限公司 測試系統及方法
JP7511660B2 (ja) 2020-10-30 2024-07-05 グーグル エルエルシー コンテンツアイテムの配信をデバッグするシステムおよび方法
CN113782003A (zh) * 2021-09-14 2021-12-10 上汽通用五菱汽车股份有限公司 一种测试方法和***
CN117478721B (zh) * 2023-12-28 2024-04-12 北京华云安信息技术有限公司 控制程序的连接方法、装置、设备以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100641884B1 (ko) * 2005-07-14 2006-11-02 이재준 휴대용 저장장치의 고유번호를 이용한 사용자 구분 및어플리케이션 구동시스템 및 그 방법.
JP2007241851A (ja) 2006-03-10 2007-09-20 Net In Kyoto:Kk ネットワーク組込機器の認証及び制御方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003516578A (ja) * 1999-12-07 2003-05-13 ペース アンチ−パイラシー インコーポレイテッド 保護情報の使用を権限付与する携帯用権限付与デバイスおよび関連方法
FI115564B (fi) * 2003-02-03 2005-05-31 Nokia Corp Menetelmä ja järjestelmä testauksen suorittamiseksi laitteessa ja laite
KR100543430B1 (ko) 2003-06-03 2006-01-20 하나 마이크론(주) 컴퓨터 사용관리방법 및 이를 실행하기 위한 프로그램을기록한 유에스비 플래시 드라이브
US7721265B1 (en) * 2003-11-10 2010-05-18 Cisco Technology, Inc. Source code debugging method and apparatus for use in script testing environment
KR20080068385A (ko) 2007-01-19 2008-07-23 슈어소프트테크주식회사 소프트웨어 테스트 시스템, 방법 및 그 방법을 실행하기위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
JP2009251936A (ja) * 2008-04-07 2009-10-29 Mitsubishi Electric Corp プログラマブル表示器の画面プログラム自動試験システム
JP2014089610A (ja) * 2012-10-30 2014-05-15 Toshiba Corp 電子機器、電子機器の制御方法、電子機器の制御プログラム、第1の機器
US20140317615A1 (en) * 2013-04-19 2014-10-23 Tencent Technologies (Shenzhen) Company Limited Systems and Methods for Installing Applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100641884B1 (ko) * 2005-07-14 2006-11-02 이재준 휴대용 저장장치의 고유번호를 이용한 사용자 구분 및어플리케이션 구동시스템 및 그 방법.
JP2007241851A (ja) 2006-03-10 2007-09-20 Net In Kyoto:Kk ネットワーク組込機器の認証及び制御方法

Also Published As

Publication number Publication date
US10310970B2 (en) 2019-06-04
JP6437078B2 (ja) 2018-12-12
US20180129595A1 (en) 2018-05-10
JP2018077848A (ja) 2018-05-17

Similar Documents

Publication Publication Date Title
KR101757149B1 (ko) 권한 부여 기동장치를 이용한 스마트기기 응용프로그램의 자동 시험방법
US20120284696A1 (en) Method, Apparatuses and a System for Compilation
CA2698066A1 (en) System and method for remotely compiling multi-platform native applications for mobile devices
CN105426298A (zh) 一种基于adb的软件测试方法和***
CN107562637B (zh) 一种用于软件测试的方法、设备、***及存储介质
Huang AppACTS: Mobile app automated compatibility testing service
CN105389263A (zh) 应用软件权限监控方法、***及设备
CN109471647B (zh) 一种数据的更新方法、装置、电子设备及可读介质
CN111770174A (zh) 一种云平台部署方法、装置、设备及可读存储介质
CN109491908B (zh) 页面检测方法、装置、电子设备和存储介质
CN113709243B (zh) 设备远程控制方法及装置、电子设备和存储介质
KR20160032411A (ko) 앱 테스트를 위한 소프트웨어 개발 모델 및 그 방법
KR20120102967A (ko) 애플리케이션 검증 시스템 및 방법
CN113032224A (zh) 一种信息采集方法、装置、电子设备及可读存储介质
Krainyk et al. Internet-of-Things Device Set Configuration for Connection to Wireless Local Area Network.
CN109947659B (zh) 用于测试应用的***、方法和装置
CN111984268A (zh) 应用发布方法和应用发布平台
CN111427710A (zh) 应用程序中组件的通信方法、装置、设备及存储介质
US10176062B2 (en) Cloud servers and methods for handling dysfunctional cloud services
CN105141586A (zh) 一种对用户进行验证的方法和***
CN113079085B (zh) 商服交互方法、装置、设备及存储介质
CN111708568B (zh) 一种组件化开发解耦方法及终端
CN114547521A (zh) 基于权限的交互式接口发布方法、装置及电子设备
CN114677138A (zh) 一种数据处理方法、设备以及计算机可读存储介质
TWM468695U (zh) 加工設備之雲端連結監控系統

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant