KR102049805B1 - 기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법 - Google Patents

기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법 Download PDF

Info

Publication number
KR102049805B1
KR102049805B1 KR1020190089333A KR20190089333A KR102049805B1 KR 102049805 B1 KR102049805 B1 KR 102049805B1 KR 1020190089333 A KR1020190089333 A KR 1020190089333A KR 20190089333 A KR20190089333 A KR 20190089333A KR 102049805 B1 KR102049805 B1 KR 102049805B1
Authority
KR
South Korea
Prior art keywords
prototype
application
controller
user terminal
test method
Prior art date
Application number
KR1020190089333A
Other languages
English (en)
Other versions
KR20190089814A (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 KR1020190089333A priority Critical patent/KR102049805B1/ko
Publication of KR20190089814A publication Critical patent/KR20190089814A/ko
Application granted granted Critical
Publication of KR102049805B1 publication Critical patent/KR102049805B1/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

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)
  • Debugging And Monitoring (AREA)

Abstract

어플리케이션의 개발자의 도움을 최소화하여 상기 어플리케이션과 연동되는 프로토타입(prototype)을 테스트하는 방법이 제공된다. 본 발명의 일 실시예에 따른 프로토타입 테스트 방법은, 상기 사용자 단말이 프로토타입 컨트롤러가 포함되어 빌드 된 상기 어플리케이션을 활성화하는 단계와 상기 프로토타입 컨트롤러가 상기 어플리케이션으로부터 메시지를 수신하는 단계와 상기 프로토타입 컨트롤러가 상기 수신한 메시지에 매치되는 프로토타입이 프로토타입 영역 상에 표시되도록 상기 프로토타입을 로드하는 단계와 상기 어플리케이션에 대한 입력 이벤트가 생성되면, 상기 프로토타입 컨트롤러가 상기 입력 이벤트 중 적어도 일부를 제공받는 단계 및 상기 프로토타입 컨트롤러가 상기 제공받은 입력 이벤트를 상기 로드 된 프로토타입에 전달하는 단계를 포함한다.

Description

기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법{TESTING METHOD OF PROTOTYPES INTERLOCKING WITH LEGACY APPLICATIONS}
본 발명은 기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법 및 그 장치에 관한 것이다. 보다 자세하게는, 어플리케이션에 대한 리빌드(re-build) 없이 상기 어플리케이션과 연동되는 프로토타입(prototype)을 테스트하는, 상기 어플리케이션이 설치된 사용자 단말에 의하여 수행되는 방법 및 그 사용자 단말에 관한 것이다.
스마트 기기(Smart Device) 등의 사용자 단말에 설치되는 어플리케이션(Application)의 제작자들은 사용자의 편의성 및 직관성 증대를 위해 그래픽 사용자 인터페이스(GUI, Graphic User Interface) 디자인에 많은 노력을 기울이고 있으며, 어플리케이션을 출시하기 이전에 다양한 GUI 프로토타입(Prototype)을 제작하여 편의성 및 직관성의 테스트를 수행한다.
종래의 프로토타입 제작은 디자이너가 생각하는 그래픽 사용자 인터페이스의 디자인을 파워포인트 등과 같은 문서로 작성하여 어플리케이션 개발자에게 설명하고, 어플리케이션 개발자는 자신이 이해한 그래픽 사용자 인터페이스의 디자인을 실제로 구현하여 프로토타입을 제작하였다. 그러나 이 과정에서 디자이너의 생각이 프로그래머에게 정확히 전달되지 않는 문제가 발생했으며, 어플리케이션 개발자 역시 자신의 이해를 기초로 그래픽 사용자 인터페이스의 디자인을 구현하기 때문에 최종적으로 제작한 프로토타입이 디자이너의 생각과 상이하여 재작업을 수행해야 하는 경우가 빈번하다.
이러한 종래의 GUI 프로토타입 제작방법의 문제점을 해결하기 위한 것이 프로토타이핑 툴(Prototyping Tool)이다. 이러한 프로토타이핑 툴은, 예를 들어 그래픽 사용자 인터페이스 디자인에 적용되는 다양한 인터랙션(interaction)들을 정의하는 방식으로, 프로토타입을 제작할 수 있는 프로그램 툴로써, 디자이너나 일반 사용자들이 사용 방법만 숙지한다면 프로토타입을 빠르고 손쉽게 제작할 수 있도록 돕는다.
한편, 어플리케이션의 업데이트 또는 출시 전 일부 화면에 대한 UI 프로토타입 등의 작업에 있어서, 이미 출시 되어 사용자에 의하여 사용되고 있거나, 대부분 개발이 완료된 어플리케이션을 대상으로 일부의 화면 또는 일부의 기능만 업데이트 하는 경우, 기존 어플리케이션에 연동되는 프로토타입의 테스트가 요구된다. 예를 들어, 업데이트 대상이 아닌 화면 또는 기능과의 자연스러운 화면 전환이 이루어지는지, 기존의 GUI와 잘 어우러지는지 등을 다양한 프로토타입을 이용해가면서 테스트하는 방법의 제공이 요구된다.
그런데, 이러한 프로토타입의 테스트를 위하여 프로토타입을 교체할 때마다 연동 대상 어플리케이션의 개발자의 도움을 받는 것은 업무상 비효율을 야기한다. 따라서, 어플리케이션의 개발자의 도움을 최소화하여 상기 어플리케이션과 연동되는 프로토타입(prototype)을 테스트하는 방법의 제공이 요구된다.
한국등록특허 제1701822호 한국등록특허 제1653795호 한국등록특허 제1653797호 한국등록특허 제1640377호 한국등록특허 제1594946호
본 발명이 해결하고자 하는 기술적 과제는, 테스트 하고자 하는 프로토타입을 교체하기 위한 어플리케이션 개발자의 도움 없이 프로토타입을 테스트 할 수 있는 기존 어플리케이션에 연동되는 프로토타입 테스트 방법과 그 프로토타입 테스트 방법을 수행하는 사용자 단말을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 연동 대상 어플리케이션에 프로토타입 컨트롤러 모듈을 링크(link) 하여 상기 어플리케이션을 빌드함으로써, 사용자 조작 및 센서 입력 등의 피드백과 관련된 어플리케이션과 프로토타입 사이의 연동을 가능하게 하는 프로토타입 테스트 방법 및 그 프로토타입 테스트 방법을 수행하는 사용자 단말을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 어플리케이션의 프로토타입 영역에, 상기 어플리케이션의 상위층으로서 프로토타입을 적층하여 사용자 조작 및 센서 입력 등의 피드백과 관련된 어플리케이션과 프로토타입 사이의 연동을 가능하게 하는 프로토타입 테스트 방법 및 그 프로토타입 테스트 방법을 수행하는 사용자 단말을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상기 언급된 문제점들을 해결하기 위하여, 본 발명의 일 실시예에 따른 어플리케이션이 설치된 사용자 단말에 의하여 수행되는 프로토타입(prototype) 테스트 방법은, 상기 사용자 단말이 프로토타입 컨트롤러가 포함되어 빌드 된 상기 어플리케이션을 활성화하는 단계, 상기 프로토타입 컨트롤러가 상기 어플리케이션으로부터 메시지를 수신하는 단계, 상기 프로토타입 컨트롤러가 상기 수신한 메시지에 매치되는 프로토타입이 프로토타입 영역 상에 표시되도록 상기 프로토타입을 로드하는 단계, 상기 어플리케이션에 대한 입력 이벤트가 생성되면, 상기 프로토타입 컨트롤러가 상기 입력 이벤트 중 적어도 일부를 제공받는 단계 및 상기 프로토타입 컨트롤러가 상기 제공받은 입력 이벤트를 상기 로드 된 프로토타입에 전달하는 단계를 포함한다.
일 실시예로서, 상기 로드하는 단계는, 상기 프로토타입 컨트롤러가 상기 메시지 수신에 응답하여, 상기 메시지에 매치된 프로토타입이 존재하는지 조회하는 단계 및 상기 매치된 프로토타입이 존재하면, 상기 프로토타입 컨트롤러가 상기 매치된 프로토 타입을 로드하는 단계를 포함할 수 있다.
일 실시예로서, 상기 로드하는 단계는 상기 매치된 프로토 타입이 존재하지 않으면, 상기 프로토타입 컨트롤러가 프로토타입을 선택하기 위한 사용자 인터페이스(UI)를 출력하는 단계 및 상기 프로토타입 컨트롤러가 상기 사용자 인터페이스를 통해 선택된 프로토타입을 상기 메시지에 매치하고, 상기 선택된 프로토타입을 로드하는 단계를 포함할 수 있다.
일 실시예로서, 상기 로드하는 단계는, 상기 프로토타입 컨트롤러가 제1 프로토타입 및 제2 프로토타입을 로드하는 단계 및 상기 프로토타입 컨트롤러가 상기 제1 프로토타입을 상기 어플리케이션의 제1 상위층으로서 표시하고, 상기 제2 프로토타입을 상기 제1 상위층과 상이한 상기 어플리케이션의 제2 상위층으로서 표시하는 단계를 포함할 수 있다.
일 실시예로서, 상기 표시하는 단계는, 상기 프로토타입 컨트롤러가 상기 제1 프로토타입 및 상기 제2 프로토타입을, 우선 순위에 따라 적어도 일부 영역이 겹치도록 적층하여 표시할 수 있다.
일 실시예로서, 상기 프로토타입 컨트롤러가 상기 제1 프로토타입 및 상기 제2 프로토타입과 영역이 겹치지 않는 사이드 프로토타입을 로드하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 프로토타입 테스트 방법은, 상기 어플리케이션에 대한 리빌드(re-build)없이 상기 어플리케이션과 연동되는 프로토타입을 테스트할 수 있다.
상기 언급된 문제점들을 해결하기 위하여, 본 발명의 일 실시예에 따른 어플리케이션이 설치된 프로토타입(prototype) 테스트를 위한 사용자 단말은, 프로토타입 컨트롤러가 포함되어 빌드 된 상기 어플리케이션을 활성화하는 어플리케이션 실행부 및 상기 어플리케이션 실행부로부터 메시지를 수신하고, 상기 수신한 메시지에 매치되는 프로토타입을 로드하여 프로토타입 영역 상에 표시하는 프로토타입 컨트롤러를 포함하고, 상기 프로토타입 컨트롤러는 상기 어플리케이션에 대한 입력 이벤트가 생성되면 상기 입력 이벤트 중 적어도 일부를 최우선적으로 제공받고, 상기 제공받은 입력 이벤트를 상기 로드 된 프로토타입에 전달한다.
일 실시예로서, 상기 사용자 단말은, 상기 어플리케이션에 대한 리빌드(re-build)없이 상기 어플리케이션과 연동되는 프로토타입을 테스트할 수 있다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
도 1은 본 발명의 일 실시예에 따른 기존 어플리케이션에 연동되는 프로토타입 테스트 시스템의 구성도이다.
도 2는 본 발명의 다른 실시예에 따른 기존 어플리케이션에 연동되는 프로토타입 테스트 방법의 순서도이다.
도 3은 도 2를 참조하여 설명한 프로토타입 테스트 방법의 일부 동작을 상세하게 설명하기 위한 상세 순서도이다.
도 4는 도 2를 참조하여 설명한 프로토타입 테스트 방법의 다른 일부 동작을 상세하게 설명하기 위한 상세 순서도이다.
도 5는, 도 2의 방법에 따를 때 프로토타입과 프로토타입 컨트롤러, 프로토타입 컨트롤러와 어플리케이션 사이에 커뮤니케이션이 이루어지는 것을 설명하기 위한 개념도이다.
도 6은 도 2의 방법에서 프로토타입 컨트롤러가 복수의 프로토타입을 적층하여 테스트 하는 것을 설명하기 위한 개념도이다.
도 7은 도 2의 방법에서 프로토타입 컨트롤러가 복수의 프로토타입을 서로 다른 위치에 배치하여 테스트 하는 것을 설명하기 위한 개념도이다.
도 8은 본 발명의 또 다른 실시예에 따른 기존 어플리케이션에 연동되는 프로토타입 테스트 방법의 순서도이다.
도 9는 도 8의 방법에 따를 때 프로토타입 및 어플리케이션에서 입력 이벤트가 처리되는 방법을 설명하기 위한 개념도이다.
도 10 및 도 11은 도 8의 방법에서 프로토타입 컨트롤러가 복수의 프로토타입을 적층하여 테스트 하는 것을 설명하기 위한 개념도이다.
도 12는 도 8의 방법에서 프로토타입이 스크린샷 영역을 가지는 경우의 동작을 설명하기 위한 개념도이다.
도 13은 본 발명의 또 다른 실시예에 따른 프로토타입 테스트 기능을 수행하는 사용자 단말의 블록 구성도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.
도 1을 참조하여 본 발명의 일 실시예에 따른 프로토타입 테스트 시스템의 구성 및 동작을 설명한다. 도 1에 도시된 바와 같이, 본 실시예에 따른 프로토타입 테스트 시스템은 프로토타입 저장소(400) 및 사용자 단말(100)을 포함한다.
프로토타입 저장소(400)는 프로토타입 저작 장치(200)에 의하여 생성된 프로토타입(10)을 저장하는, 네트워크(300)에 연결된 스토리지 장치이다. 프로토타입(10)은 프로토타입 저작 장치(200)에 설치된 프로토타입 저작 툴(TOOL)에 의하여 생성되는 데이터로서, 사용자 단말(100)에 설치된 프로토타입 재생 툴 또는 사용자 단말(100)에 설치된 어플리케이션에 포함된 프로토타입 컨트롤러에 의하여 해석 될 수 있는 데이터이다.
상기 프로토타입 저작 장치(200)는, 예를 들어 태블릿, 스마트폰, PC, 노트북 등의 컴퓨팅 장치로서, 사용자 어플리케이션 또는 상기 컴퓨팅 장치의 임베디드 소프트웨어인 프로토타입 저작 툴(미도시)이 설치된 것이다.
사용자 단말(100)은, 예를 들어 태블릿, 스마트폰, 노트북, PC 등의 컴퓨팅 장치로서, 사용자 어플리케이션 소프트웨어인 프로토타입 재생 툴(미도시) 또는 테스트 대상 프로토타입과 연동될 어플리케이션(도면에는, "APP"으로 표시, 이하 동일)(30)이 설치된 것이다. 상기 프로토타입 재생 툴은 프로토타입(10)을 해석하고, 프로토타입(10)에 정의된 사용자 인터페이스를 구현하는 사용자 어플리케이션 소프트웨어이다.
상기 프로토타입 컨트롤러 역시 프로토타입(10)을 해석하고, 프로토타입(10)에 정의된 사용자 인터페이스를 구현한다. 다만, 상기 프로토타입 컨트롤러는, 상기 프로토타입 재생 툴과 달리, 어플리케이션(30)에 링크 된 어플리케이션(30) 내부 모듈이다. 즉, 어플리케이션(30)의 빌드(build) 시점에, 상기 프로토타입 컨트롤러가 어플리케이션 자체 모듈과 링크되어 컴파일 된다.
상기 프로토타입 컨트롤러는 프로토타입(10)을 로드(load) 하여 디스플레이 한다. 상기 프로토타입 컨트롤러는 어플리케이션(30)에 대한 입력 이벤트가 생성되면, 상기 입력 이벤트 중 적어도 일부를 최우선적으로 제공 받는다. 어플리케이션(30)에 대한 입력 이벤트를 최우선적으로 제공 받기 위하여, 상기 프로토타입 컨트롤러는 어플리케이션(30)의 상단에 적층 된 화면을 포함한다.
상기 프로토타입 컨트롤러는 제공 받은 입력 이벤트를 어플리케이션(30)에 그대로 전달하거나, 로드 된 프로토타입(10)에 전달한다. 예를 들어, 상기 프로토타입 컨트롤러는 프로토타입(10)의 영역에 대한 터치 입력 이벤트는 프로토타입(10)에 전달하고, 프로토타입(10)의 영역 이외의 영역에 대한 터치 입력 이벤트는 어플리케이션(30)에 그대로 전달하며, 터치 입력 이외의 입력 이벤트는 프로토타입(10) 및 어플리케이션(30) 모두에 전달할 수 있다.
상기 프로토타입 컨트롤러의 화면의 적어도 일부는 투명(transparent)하다. 상기 프로토타입 컨트롤러의 화면의 전부가 투명한 것이 바람직하다. 디자인 및 사용자 감성 등의 요소를 고려한 테스트가 수행되기 위하여, 프로토타입(10)의 화면 및 어플리케이션의 화면만 디스플레이 되는 것이 바람직하기 때문이다.
상기 프로토타입 컨트롤러의 다양한 동작은, 도 2 내지 도 7을 참조하여 추후 보다 자세히 설명한다.
본 실시예에 따른 프로토타입 테스트 시스템은 프로토타입 저장소(400)를 제외하고 구성될 수도 있다. 이 때, 프로토타입 저작 장치(200)에 의하여 생성된 프로토타입(10)은 사용자 단말(100)의 저장 수단에 저장될 수 있다. 이 때, 상기 프로토타입은 상기 저장 수단에 저장된 프로토타입(10)을 로드(load) 할 수 있다.
도 2는 본 발명의 다른 실시예에 따른 기존 어플리케이션에 연동되는 프로토타입 테스트 방법의 순서도이다.
단계 S102에서, 어플리케이션이 사용자 단말에 설치된다. 이미 설명한 바와 같이, 상기 어플리케이션은 테스트 대상 프로토타입에 연동되는 것으로서, 프로토타입 컨트롤러가 포함되어 빌드 된 것이다. 상기 '빌드'는 '컴파일'과 유사한 의미로 이해될 수 있을 것이다.
단계 S104에서, 프로토타입 저작 툴을 이용하여 프로토타입이 저작되고, 단계 S106에서, 생성된 프로토타입이 프로토타입 저장소에 저장된다(S106). 일 실시예에서, 상기 저작된 프로토타입은 어떤 사이즈의 디스플레이를 위한 것인지에 대한 정보를 포함하거나, 프로토타입이 차지하는 영역의 사이즈에 대한 정보를 포함할 수 있다.
단계 S108에서, 상기 어플리케이션이 활성화된다. 본 명세서에서 어플리케이션이 '활성화'된다는 것은, 화면에 표시되고, 사용자 단말의 입력 이벤트를 전달 받는 대상이 되는 것을 의미한다. 상기 입력 이벤트는 터치 입력 등의 사용자 입력을 포함한다. 상기 입력 이벤트는 상기 사용자 단말의 센서 측정 값, 상기 사용자 단말의 네트워크 인터페이스가 외부 장치로부터 수신한 데이터를 더 포함할 수 있다.
일 실시예에서 어플리케이션이 활성화되면, 자동으로 상기 프로토타입 컨트롤러가 활성화될 수 있다. 다른 실시예에서는, 단계 S110에서, 프로토타입 컨트롤러의 활성화가 필요한 상황인지 여부가 판정된다. 즉, 이러한 경우 어플리케이션이 활성화 될 때 항상 프로토타입 컨트롤러가 활성화 되는 것은 아니고, 특정 상황에만 프로토타입 컨트롤러가 활성화 될 수 있다. 이하, 이와 관련하여 몇몇 실시예들을 제시한다.
제1 실시예에서, 상기 프로토타입 컨트롤러가 비활성화된 상태에서 상기 어플리케이션이 활성화 되어 제1 화면을 디스플레이 하고, 상기 어플리케이션의 제2 화면을 디스플레이 하면서, 상기 프로토타입 컨트롤러를 활성화 하며, 상기 어플리케이션의 제2 화면에서 다른 화면으로 전환되면서, 상기 프로토타입 컨트롤러가 비활성화 된다. 상기 제2 화면은, 특정 탭이 선택 될 때 보여지는 화면이거나, 특정 메뉴가 선택 될 때 보여지는 화면이거나, 특정 버튼이 눌렸을 때 보여지는 화면이거나, 특정 아이콘이 선택되었을 때 보여지는 화면이거나, 특정 링크가 선택 되었을 때 보여지는 화면이거나, 특정 식별자를 가지는 화면일 수 있다. 예를 들어, 상기 어플리케이션이 모바일 메신저이고, 대화 창에서의 UI 프로토타입을 테스트하는 상황에서, 친구 목록이 표시되는 화면인 상기 제1 화면에서는 상기 프로토타입 컨트롤러가 비활성화되어 기존의 모바일 메신저의 동작과 차이가 없다가, 대화 창인 제2 화면으로 전환되면 상기 프로토타입 컨트롤러가 활성화되어 프로토타입이 로드 되고, 상기 프로토타입을 테스트 할 수 있게 된다. 이 때, 대화 창을 빠져나가면 상기 프로토타입 컨트롤러가 비활성화 된다. 상기 프로토타입 컨트롤러의 비활성화는 상기 어플리케이션의 프로그램 코드를 통하여 구현 되거나, 상기 프로토타입 컨트롤러가 화면 전환을 감지 하여 스스로 종료 함으로써 수행될 수 있다.
제2 실시예에서, 상기 프로토타입 컨트롤러가 비활성화된 상태에서 상기 어플리케이션이 활성화 되고, 상기 어플리케이션에 기 지정된 입력 이벤트가 발생되는 경우, 상기 프로토타입 컨트롤러를 활성화 하며, 상기 프로토타입 컨트롤러의 비활성화 요건 만족 시, 상기 프로토타입 컨트롤러가 비활성화된다. 즉, 본 실시예에서, 상기 어플리케이션에 특정 입력이 있을 때의 프로토타입을 테스트 하는 경우, 그 특정 입력이 있을 때 프로토타입 컨트롤러를 활성화한다. 상기 특정 입력은, 사용자 입력, 사용자 단말에 구비된 센서의 측정 값 감지, 사용자 단말에 구비된 네트워크 인터페이스를 통한 외부 장치로부터의 특정 데이터 수신 등을 포함한다. 예를 들어, 상기 어플리케이션이 모바일 메신저이고, 마이크 센서에서 소리가 입력될 때 보여지는 화면인 프로토타입을 테스트하고자 할 때, 평상 시에는 상기 프로토타입 컨트롤러를 비활성화 시켜 둠으로써 기존의 모바일 메신저의 동작과 차이가 없다가, 마이크 센서에서 소리가 입력되면 상기 프로토타입 컨트롤러가 활성화되어 소리 입력 상태 등을 디스플레이 하는 프로토타입이 로드 되고, 상기 프로토타입을 테스트 할 수 있게 된다. 상기 프로토타입 컨트롤러는 상기 입력 이벤트의 발생 이후에 바로 비활성화 될 수 있다. 즉, 이 경우 상기 프로토타입 컨트롤러의 비활성화 요건은 상기 입력 이벤트가 더 이상 발생하지 않는 것이다. 상기 프로토타입 컨트롤러는 상기 입력 이벤트의 발생 이후에 바로 비활성화되지 않고, 기 지정된 비활성화 요건을 만족하는 때 비활성화 될 수도 있다. 예를 들어, 제1 제스처의 입력이 감지 된 경우 프로토타입 컨트롤러가 활성화되고, 제2 제스처의 입력이 감지 된 경우 프로토타입 컨트롤러가 비활성화 될 수 있다. 상기 제1 제스처 및 상기 제2 제스처는 터치 입력을 통한 제스처 또는 전면 카메라 등을 통하여 감지 되는 동작 제스처일 수 있다.
제3 실시예에서, 상기 프로토타입 컨트롤러가 비활성화된 상태에서 상기 어플리케이션이 활성화 되고, 상기 어플리케이션의 상태가 기 지정된 상태에 진입하는 경우 상기 프로토타입 컨트롤러를 활성화 하며, 상기 어플리케이션의 상태가 상기 기 지정된 상태에서 다른 상태로 변경되는 경우 상기 프로토타입 컨트롤러가 비활성화된다. 상기 '어플리케이션의 상태'는, 예를 들어 어플리케이션이 전체 화면 모드인지 여부, 가로 보기 모드인지 여부, 상태 바의 유무, 백그라운드 모드인지 여부, 특정 영역의 색상, 어플리케이션에 적용된 테마, 사용자 로그인 여부, 화면 밝기 세팅, 사운드 볼륨 상태 등 어플리케이션의 UI에 영향을 미칠 수 있는 다양한 상태를 가리킨다. 예를 들어, 상기 어플리케이션이 모바일 메신저이고, 가로 모드(landscape mode)에서의 친구 목록 표시 화면에 대한 프로토타입을 테스트하고자 할 때, 세로 모드(portrait mode)에서는 상기 프로토타입 컨트롤러를 비활성화 시켜 둠으로써 기존의 모바일 메신저의 동작과 차이가 없다가, 모바일 메신저가 가로 보기 모드로 전환되면 상기 프로토타입 컨트롤러가 활성화되어 가로 보기 모드에서의 친구 목록을 디스플레이 하는 프로토타입이 로드 되고, 상기 프로토타입을 테스트 할 수 있게 된다.
제4 실시예에서, 상기 제1 실시예, 상기 제2 실시예 및 상기 제3 실시예 중 두개 이상이 논리 연산(AND, OR, NOT, XOR, NAND)을 통하여 조합된 결과인 조합 요건의 만족 여부에 따라 상기 프로토타입 컨트롤러가 활성화 될 수도 있다. 이 때, 상기 제1 실시예, 상기 제2 실시예 및 상기 제3 실시예 중 두개 이상이 논리 연산(AND, OR, NOT, XOR, NAND)을 통하여 조합된 결과인 조합 요건의 만족 여부에 따라 상기 프로토타입 컨트롤러가 비활성화 될 수도 있다.
다음으로, 도 5를 참조하여, 본 실시예에 따를 때 프로토타입과 프로토타입 컨트롤러, 프로토타입 컨트롤러와 어플리케이션 사이에 커뮤니케이션이 이루어지는 것을 설명한다. 도 5에 도시된 바와 같이, 프로토타입 컨트롤러(20)와 어플리케이션(30) 사이에 기 지정된 포맷의 메시지(50)를 송수신 할 수 있다.
예를 들어, 어플리케이션(30)이 프로토타입 컨트롤러(20) 측의 데이터 송수신 API를 호출하여 메시지(50)를 송수신 할 수 있다.
또한, 프로토타입 컨트롤러(20)와 어플리케이션(30) 사이에도 신호의 송수신이 이루어진다. 프로토타입 컨트롤러(20)는 어플리케이션(30)의 화면의 적어도 일부 영역인 프로토타입 컨트롤러 영역 위에 적층 된 화면을 가짐으로써, 어플리케이션(30)에 대한 입력 이벤트 중 상기 프로토타입 컨트롤러 영역에 대응되는 것을 최우선적으로 제공 받는다.
프로토타입 컨트롤러(20)는 상기 제공 받은 입력 이벤트를 핸들링 한다. 상기 입력 이벤트를 핸들링 한다는 것은, 프로토타입(10)으로 전달하거나, 어플리케이션(30)으로 그대로 넘겨주거나, 프로토타입(10) 및 어플리케이션(30) 양측에 모두 전달하는 것 중 어떤 것을 선택할지 결정하는 것을 의미한다. 예를 들어, 프로토타입 영역(10a)에 대한 터치 입력 이벤트(40)는 프로토타입(10)으로 전달되고, 프로토타입 영역(10a) 밖의 어플리케이션 영역의 터치 입력 이벤트(41)는 어플리케이션(30)으로 넘겨준다.
프로토타입 컨트롤러(20)는 상기 입력 이벤트를 트리거(TRIGGER)의 형태로 변환한 후, 프로토타입(10)에 제공한다. 프로토타입(10)은 객체에 대한 트리거 발생 시, 상기 객체가 보이는 리스폰스를 정의한 것인 인터랙션(interaction)들의 집합이다. 프로토타입 컨트롤러(20)가 어플리케이션(30)에 대한 입력 이벤트가 프로토타입(10)에 제공 되어야 할 것이라면, 그 입력 이벤트를 트리거 형태로 변환한 후 프로토타입(10)에 제공함으로써, 프로토타입(10)이 상기 어플리케이션에 대한 입력 이벤트에 대한 리스폰스를 출력하도록 한다. 상기 동작을 예를 들어 설명한다. 사용자 단말이 프로토타입 영역에 대한 터치 입력(TAP)을 센싱한 경우, 상기 사용자 단말의 운영 체제는 현재 활성화 되어 있는 어플리케이션(30)에 상기 터치 입력(TAP)을 제공한다. 프로토타입 컨트롤러(20)는 상기 터치 입력을 제공 받고, 상기 터치 입력이 프로토타입(10)에 제공되어야 하는 것인지 판정한다. 상기 터치 입력이 프로토타입 영역(10a) 안의 지점에 대한 것이기 때문에, 프로토타입 컨트롤러(20)는 프로토타입(10)에 상기 터치 입력을 가리키는 트리거를 제공한다. 프로토타입(10)은 상기 트리거를 제공 받아, 상기 트리거를 제공 받을 객체를 선택하고, 상기 객체의 상기 트리거에 대한 리스폰스를 출력한다.
프로토타입(10)은 프로토타입 컨트롤러(20)에 요청(60)을 제공할 수 있다. 예를 들어, 요청(60)은 프로토타입 컨트롤러(20)의 비활성화를 요청하는 것일 수 있다. 프로토타입 컨트롤러(20)는 어플리케이션(30)의 프로그램 소스를 통한 구현에서, 특정 상황이 되면 종료 될 수 있다. 그런데, 프로토타입 영역(10a)이 어플리케이션 영역과 동일한 경우, 어플리케이션에 대한 사용자 입력을 불가능할 수 있다. 이런 때에는 프로토타입(10)에 대한 조작 만으로 프로토타입 컨트롤러(20)를 비활성화 시키고 다시 기존 어플리케이션의 화면으로 이동할 수 있을 것이다.
요청(60)은 프로토타입 컨트롤러(20)의 영역에 대한 변경을 요청하는 것일 수도 있다. 즉, 프로토타입 컨트롤러(20)가 입력 이벤트를 트리거로 변환하여 프로토타입(10)에 전달한 결과, 프로토타입(10)이 프로토타입 컨트롤러(20)의 영역 변경을 요청(60)할 수 있다. 본 실시예에 따르면, 프로토타입의 위치 변경 또는 메시지를 어플리케이션으로 pass 하는 영역까지도 프로토타이핑 할 수 있도록 할 수 있다.
다시 도 2를 참조하여 본 실시예에 따른 프로토타입 테스트 방법의 다음 동작을 설명한다. 단계 S114에서, 어플리케이션의 프로토타입 컨트롤러가 프로토타입을 로드 한다(S114). 상기 프로토타입 컨트롤러가 어플리케이션으로부터 메시지를 수신하는 것에 응답하여 프로토타입을 로드하기 위한 동작이 수행 될 수 있다. 본 실시예에 대하여 도 3을 참조하여 설명한다.
단계 S1140에서, 프로토타입 컨트롤러가 어플리케이션으로부터 메시지를 수신한다. 상기 메시지는 어플리케이션의 상태, 어플리케이션의 전환 후 화면 코드 또는 어플리케이션에 대한 입력 이벤트 등을 포함한다. 프로토타입 컨트롤러는 상기 메시지 수신에 응답하여, 단계 S1141에서 상기 수신된 메시지에 매치(match) 된 프로토타입이 존재하는지 조회한다. 상기 메시지가 처음 수신 된 것이라면, 상기 수신된 메시지에 매치 된 프로토타입이 존재하지 않을 것이다(S1142). 이 때에는, 단계 S1143에서 프로토타입 컨트롤러가 프로토타입을 선택하기 위한 사용자 인터페이스(UI)를 출력한다. 상기 사용자 인터페이스를 통해 프로토타입이 선택된 경우(S1144), 상기 선택된 프로토타입을 상기 수신된 메시지에 매치하고, 선택된 프로토타입을 로드 한다(S1145). 상기 메시지가 이전에 수신 된 것이고, 그 때 특정 프로토타입이 매치 된 바 있다면, 그 매치된 프로토타입이 자동으로 로드 된다(S1142, S1146).
상기 프로토타입 컨트롤러가 로드 된 프로토타입을 표시할 프로토타입 영역을 할당한다. 상기 프로토타입 컨트롤러는 상기 프로토타입 영역을 상기 프로토타입 컨트롤러 영역과 동일하게 할당하거나, 상기 프로토타입 컨트롤러 영역의 일부를 상기 프로토타입 영역으로 할당한다. 일 실시예에서, 프로토타입 내부에 프로토타입 영역에 대한 정보가 포함될 수 있다. 상기 프로토타입 영역에 대한 정보는, 예를 들어 프로토타입 컨트롤러 영역을 기준으로 한 상대 좌표의 형태로 상기 프로토타입 영역을 정의할 수 있다. 이 경우, 프로토타입 컨트롤러는 상기 프로토타입 영역 별로 여러 개의 버전이 만들어질 필요가 없는 효과가 있다.
일 실시예에서, 상기 프로토타입 컨트롤러는 프로토타입 저장소에 저장된 복수의 프로토타입 중, 상기 사용자 단말의 디스플레이 사이즈에 매칭되는 프로토타입 중 하나 이상을 로드 할 수 있다. 예를 들어, 상기 프로토타입 컨트롤러는 상기 사용자 단말의 디스플레이 사이즈 정보를 얻고, 상기 프로토타입을 선택하기 위한 사용자 인터페이스(UI)를 통해 상기 디스플레이 사이즈에 매치되는 프로토타입만 표시하는 등의 방법을 통해, 프로토타입 저장소에 저장된 복수의 프로토타입 중 상기 사용자 단말의 디스플레이 사이즈에 매칭되는 프로토타입이 로드 되도록 할 수 있다.
일 실시예에서, 도 6에 도시된 바와 같이, 상기 프로토타입 컨트롤러가 복수의 프로토타입(10, 11)을 겹쳐서 적층 할 수도 있다. 이 때, 상기 프로토타입 컨트롤러는 프로토타입의 우선 순위를 조정할 수 있는 UI를 제공할 수 있다. 또한, 도 7에 도시된 바와 같이, 적어도 일부 영역은 겹치지 않도록한 사이드 프로토타입(12)을 추가로 로드 할 수도 있다.
다시 도 2를 참조하여 본 실시예에 따른 프로토타입 테스트 방법의 다음 동작을 설명한다.
단계 S116에서, 어플리케이션에 대한 입력 이벤트를 프로토타입 컨트롤러가 핸들링 하여 프로토타입 또는 어플리케이션으로 전달함으로써, 로드 된 프로토타입을 테스트한다.
이미 설명한 바와 같이, 상기 프로토타입 컨트롤러가 상기 입력 이벤트를 핸들링 한다는 것은, 프로토타입(10)으로 전달하거나, 어플리케이션(30)으로 그대로 넘겨주거나, 프로토타입(10) 및 어플리케이션(30) 양측에 모두 전달하는 것 중 어떤 것을 선택할지 결정하는 것을 의미한다. 예를 들어, 도 5에서 프로토타입 영역(10a)에 대한 터치 입력 이벤트(40)는 프로토타입(10)으로 전달되고, 프로토타입 영역(10a) 밖의 어플리케이션 영역의 터치 입력 이벤트(41)는 어플리케이션으로 넘겨준다. 또한, 예를 들어, 도 6에서 프로토타입 영역(10a)에 대한 터치 입력 이벤트(40)는 적층 된 모든 프로토타입(10, 11)으로 전달되고, 프로토타입 영역(10a) 밖의 어플리케이션 영역의 터치 입력 이벤트(41)는 어플리케이션(30)으로 넘겨준다. 또한, 예를 들어, 도 7에서 프로토타입 영역에 대한 터치 입력 이벤트(40)는 적층 된 모든 프로토타입(10, 11)으로 전달되고, 사이드 프로토타입 영역(12a)의 터치 입력 이벤트(42)는 사이드 프로토타입(12)으로 전달되며, 프로토타입 영역 밖의 어플리케이션 영역의 터치 입력 이벤트(41)는 어플리케이션(30)으로 넘겨준다.
일 실시예에서, 상기 프로토타입 컨트롤러가 상기 입력 이벤트를 핸들링 함에 있어서, 터치 입력 이벤트와 같이 특정 위치 좌표와 관련되지 않은 것은 로드 된 모든 프로토타입과 어플리케이션(30) 양측에 모두 전달함으로써, 그 입력 이벤트에 따른 프로토타입 및 어플리케이션의 리스폰스를 종합적으로 테스트할 수 있도록 한다. 다른 실시예에서, 상기 프로토타입 컨트롤러가 상기 입력 이벤트를 핸들링 함에 있어서, 터치 입력 이벤트와 같이 특정 위치 좌표와 관련되지 않은 것은 로드 된 프로토타입이 존재한다면 프로토타입으로 전달하고, 로드 된 프로토타입이 없는 경우에 한하여 어플리케이션(30)에 모두 전달함으로써, 프로토타입 자체의 리스폰스에 집중하여 테스트할 수 있도록 한다.
한편, 상기 프로토타입 컨트롤러가 프로토타입 로드를 가리키는 사용자 입력을 제공 받는 것에 응답하여 프로토타입을 로드하기 위한 동작이 수행 될 수 있다. 본 실시예는 특정 상황에 대한 복수의 서로 다른 프로토타입이 마련된 경우, 프로토타입을 바꾸어 가면서 UI를 테스트 하기에 유용하다. 본 실시예에 대하여 도 4를 참조하여 설명한다.
단계 S1160에서, 프로토타입 컨트롤러가 프로토타입 로드 요청을 가리키는 사용자 입력을 제공 받는다. 프로토타입 컨트롤러는 프로토타입이 로드 되기 전에는 모든 입력 이벤트를 그대로 어플리케이션에 전달할 수 있다. 따라서, 상기 프로토타입 로드를 가리키는 사용자 입력은, 상기 어플리케이션에서 입력 받지 않는 사용자 입력 중 어느 하나인 것이 바람직하다.
단계 S1162에서 프로토타입 컨트롤러가 프로토타입을 선택하기 위한 사용자 인터페이스(UI)를 출력한다. 상기 사용자 인터페이스를 통해 프로토타입이 선택된 경우, 상기 선택된 프로토타입을 상기 수신된 메시지에 매치하고, 선택된 프로토타입을 로드 하며(S1164), 기존에 로드 된 프로토타입을 언로드 한다(S1166).
다시 도 2로 돌아와서 다음 동작을 설명한다.
단계 S118에서 프로토타입 컨트롤러의 비활성화가 필요한 상황인지 판정한다. 어떤 경우가 프로토타입 컨트롤러의 비활성화가 필요한 상황인지에 대하여 단계 S110에서 이미 설명한 바 있으므로, 중복된 설명은 생략한다. 프로토타입 컨트롤러의 비활성화가 필요한 상황인 경우, 프로토타입 컨트롤러가 스스로 인스턴스를 종료하거나, 어플리케이션에 메시지를 송신하여 종료를 요청한다(S120).
도 8은 본 발명의 또 다른 실시예에 따른 기존 어플리케이션에 연동되는 프로토타입 테스트 방법의 순서도이다. 본 실시예는 도 9와 같이, 어플리케이션(30)의 상위층으로서 프로토타입(13)을 표시하는 것을 전제로 한다.
단계 S200에서, 어플리케이션이 사용자 단말에 설치된다.
단계 S202에서, 프로토타입 저작 툴을 이용하여 프로토타입이 생성된다.
단계 S204에서, 생성된 프로토타입이 저장소에 저장된다.
단계 S206에서, 어플리케이션이 활성화 된다.
단계 S208에서, 프로토타입의 적층, 즉 프로토타입 출력이 필요한 상황인지 판정한다. 본 단계의 판정 기준에 대하여, 도 2의 단계 S110의 동작에 대한 설명을 참조할 수 있다. 즉, 상기 어플리케이션이 특정 화면으로 전환되거나, 상기 어플리케이션에 특정 입력 이벤트가 발생되거나, 상기 어플리케이션의 상태가 특정 상태로 전환 되는 경우, 프로토타입의 적층이 필요한 상황인 것으로 판정할 수 있다.
단계 S210에서, 프로토타입을 어플리케이션의 상위층으로 표시한다.
단계 S212에서, 어플리케이션에 대한 입력 이벤트를 프로토타입이 핸들링 함으로써, 어플리케이션에 대한 프로토타입 테스트가 진행된다. 도 9를 참조하여 설명한다. 프로토타입(13)이 어플리케이션(30) 화면의 일부 영역에서 어플리케이션(30)의 상위층으로 적층 되어 있으므로, 프로토타입 영역에 대한 어플리케이션의 입력 이벤트(43)는 프로토타입이 제공 받고, 상기 입력 이벤트에 대응되는 리스폰스를 출력하게 될 것이다. 다만, 투과 영역(13a)에 대한 어플리케이션의 입력 이벤트(45)는 프로토타입(13)이 그대로 어플리케이션에 전달하여, 어플리케이션의 대응 영역(13b)이 입력 이벤트(45)를 전달 받도록 한다. 프로토타입 영역 밖의 입력 이벤트(44)는 어플리케이션이 제공 받는다.
한편, 도 10에 도시된 바와 같이, 복수의 프로토타입(14, 15)이 어플리케이션의 상위층으로 겹쳐서 적층 될 수도 있다. 이 때에도 투과 영역(14a, 14b)에 대한 어플리케이션의 입력 이벤트(45)는 프로토타입(13)이 그대로 어플리케이션에 전달하여, 어플리케이션의 대응 영역이 입력 이벤트(45)를 전달 받도록 한다. 이 때, 일 실시예에서, 도 11에 도시된 바와 같이, 투과 영역(15a)은 복수의 프로토타입(15, 16) 중 일부에만 형성될 수도 있다. 이 때에는 투과 영역(15a)에 대한 입력 이벤트(47)를 어플리케이션이 제공 받을 수 없다.
한편, 도 12에 도시된 바와 같이, 프로토타입(17)에 스크린샷 영역(17c)이 형성 될 수 있다. 스크린샷 영역(17c)은, 상기 프로토타입의 표시 시점의 상기 어플리케이션의 화면 중 상기 스크린샷 영역의 이미지로 채워지는 영역이다. 도 12에서 프로토타입(17)이 로드 되는 시점의 어플리케이션의 대응 영역(17d)의 이미지가, 프로토타입(17)의 스크린 샷 영역(17c)의 이미지로 렌더링 된다. 따라서, 프로토타입의 테스트 시, 스크린 샷 영역(17c)은 프로토타입이 앱을 가리지 않는 것처럼 표시하면서도, 입력 이벤트에 대한 리스폰스는 프로토타입에서 구현되도록 할 수 있다.
다시 도 8으로 돌아와서 설명한다.
단계 S214에서 프로토타입 제거가 필요한 상황인지 판단된다. 본 단계의 판정 기준에 대하여, 도 2의 단계 S118의 동작에 대한 설명을 참조할 수 있다. 즉, 상기 어플리케이션이 프로토타입 테스트 대상 화면에서 다른 화면으로 전환되거나, 상기 어플리케이션에 프로토타입 테스트 대상 이벤트가 더 이상 발생되지 않거나, 상기 어플리케이션의 상태가 프로토타입 테스트 대상 상태에서 다른 상태로 전환 되는 경우, 프로토타입 테스트가 종료 되고, 어플리케이션 본연의 기능이 실행된다.
지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.
상기 컴퓨터프로그램은 DVD-ROM, 플래시 메모리 장치 등의 기록매체에 저장된 것일 수도 있다.
이하, 본 발명의 또 다른 실시예에 따른 프로토타입 테스트 기능을 수행하는 사용자 단말의 구성 및 동작을 도 13을 참조하여 설명한다. 본 실시예에 따른 사용자 단말의 구성 및 동작에 있어서, 도 1 내지 도 12를 참조하여 설명된 방법과 관련된 실시예가 적용될 수 있음을 유의한다.
도 13에 도시된 바와 같이, 본 실시예에 따른 사용자 단말은 디스플레이(미도시), 프로토타입 컨트롤러(104) 및 어플리케이션 실행부(106)를 포함한다. 또한, 상기 사용자 단말은 프로토타입 데이터(102)를 저장할 저장 수단을 더 포함할 수 있다. 예를 들어, 상기 저장 수단은 내장 플래시 메모리일 수 있다.
프로토타입 컨트롤러(104) 및 어플리케이션 실행부(106)는 RAM(미도시)에 로드되고 프로세서(미도시)에서 실행되는 복수의 오퍼레이션(operation)일 수 있다. 또는, 프로토타입 컨트롤러(104)는, 아래 설명될 프로토타입 컨트롤러의 기능을 실행하는 제1 프로세서를 가리키고, 어플리케이션 실행부(106)는, 어플리케이션 본연의 기능을 실행하는 제2 프로세서를 가리킬 수 있다.
어플리케이션 실행부(106)는, 특정 조건의 만족 시 프로토타입 컨트롤러(104)를 활성화 한다. 상기 특정 조건은 상기 어플리케이션이 프로토타입 테스트 대상 화면으로 전환되거나, 상기 어플리케이션에 프로토타입 테스트 대상 이벤트가 발생되거나, 상기 어플리케이션의 상태가 프로토타입 테스트 대상 상태로 전환되는 경우 등일 수 있다.
어플리케이션 실행부(106)와 프로토타입 컨트롤러(104)는 API의 호출 등을 통하여 기 지정된 포맷의 메시지를 송수신한다. 상기 API는 프로토타입 컨트롤러(104)에서 제공하는 함수이거나, 어플리케이션 실행부(106)에서 제공하는 함수일 수 있다.
프로토타입 컨트롤러는, 활성화 된 후, 어플리케이션 실행부(106)에 의하여 생성되고 표시되는 화면에 상기 어플리케이션의 적어도 일부 영역에 형성된 최상단의 투명 화면을 적층한다.
프로토타입 컨트롤러(104)는 활성화 된 후, 프로토타입 데이터(102)를 이용하여 프로토타입을 로드한다. 도 13에 도시된 바와 달리, 프로토타입 컨트롤러(104)는 네트워크 인터페이스(110)를 통해 외부 장치에 저장된 프로토타입 데이터(미도시)를 수신하여, 상기 프로토타입을 로드할 수 있다. 프로토타입 컨트롤러(104)는, 상기 프로토타입을 로드 하여, 상기 어플리케이션의 화면 중 상기 프로토타입 컨트롤러에 할당된 프로토타입 컨트롤러 영역의 적어도 일부 영역인 프로토타입 영역 상에 표시될 수 있도록 세팅한다.
프로토타입 컨트롤러(104)는 상기 어플리케이션에 대한 입력 이벤트가 생성되면, 상기 프로토타입 컨트롤러가 상기 입력 이벤트 중 적어도 일부를 최우선적으로 제공 받고, 상기 프로토타입 컨트롤러가 제공 받은 입력 이벤트를 상기 어플리케이션에 그대로 전달하거나, 상기 로드된 프로토타입에 전달한다.
상기 입력 이벤트는 센서부(108)의 각종 센서에 의하여 측정된 센서 값을 이용하여 생성된 것이거나, 네트워크 인터페이스(110)를 통하여 외부 장치로부터 수신된 데이터를 이용하여 생성된 것일 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (18)

  1. 어플리케이션이 설치된 사용자 단말에 의하여 수행되는 프로토타입(prototype) 테스트 방법에 있어서,
    상기 사용자 단말이 프로토타입 컨트롤러가 포함되어 빌드 된 상기 어플리케이션을 활성화하는 단계;
    상기 프로토타입 컨트롤러가 상기 어플리케이션으로부터 메시지를 수신하는 단계;
    상기 프로토타입 컨트롤러가 상기 수신한 메시지에 매치되는 프로토타입이 프로토타입 영역 상에 표시되도록 상기 프로토타입을 로드하는 단계;
    상기 어플리케이션에 대한 입력 이벤트가 생성되면, 상기 프로토타입 컨트롤러가 상기 입력 이벤트 중 적어도 일부를 제공받는 단계; 및
    상기 프로토타입 컨트롤러가 상기 제공받은 입력 이벤트를 상기 로드 된 프로토타입에 전달하는 단계를 포함하는,
    프로토타입 테스트 방법.
  2. 제1 항에 있어서,
    상기 로드하는 단계는,
    상기 프로토타입 컨트롤러가 상기 메시지 수신에 응답하여, 상기 메시지에 매치된 프로토타입이 존재하는지 조회하는 단계; 및
    상기 매치된 프로토타입이 존재하면, 상기 프로토타입 컨트롤러가 상기 매치된 프로토 타입을 로드하는 단계를 포함하는,
    프로토타입 테스트 방법.
  3. 제2 항에 있어서,
    상기 로드하는 단계는
    상기 매치된 프로토 타입이 존재하지 않으면, 상기 프로토타입 컨트롤러가 프로토타입을 선택하기 위한 사용자 인터페이스(UI)를 출력하는 단계; 및
    상기 프로토타입 컨트롤러가 상기 사용자 인터페이스를 통해 선택된 프로토타입을 상기 메시지에 매치하고, 상기 선택된 프로토타입을 로드하는 단계를 포함하는,
    프로토타입 테스트 방법.
  4. 제1 항에 있어서,
    상기 로드하는 단계는,
    상기 프로토타입 컨트롤러가 제1 프로토타입 및 제2 프로토타입을 로드하는 단계; 및
    상기 프로토타입 컨트롤러가 상기 제1 프로토타입을 상기 어플리케이션의 제1 상위층으로서 표시하고, 상기 제2 프로토타입을 상기 제1 상위층과 상이한 상기 어플리케이션의 제2 상위층으로서 표시하는 단계를 포함하는,
    프로토타입 테스트 방법.
  5. 제4 항에 있어서,
    상기 표시하는 단계는,
    상기 프로토타입 컨트롤러가 상기 제1 프로토타입 및 상기 제2 프로토타입을, 우선 순위에 따라 적어도 일부 영역이 겹치도록 적층하여 표시하는,
    프로토타입 테스트 방법.
  6. 제4 항에 있어서,
    상기 프로토타입 컨트롤러가 상기 제1 프로토타입 및 상기 제2 프로토타입과 영역이 겹치지 않는 사이드 프로토타입을 로드하는 단계를 더 포함하는,
    프로토타입 테스트 방법.
  7. 제1 항에 있어서,
    상기 프로토타입 테스트 방법은,
    상기 어플리케이션에 대한 리빌드(re-build)없이 상기 어플리케이션과 연동되는 프로토타입을 테스트하는,
    프로토타입 테스트 방법.
  8. 어플리케이션이 설치된 프로토타입(prototype) 테스트를 위한 사용자 단말에 있어서,
    프로토타입 컨트롤러가 포함되어 빌드 된 상기 어플리케이션을 활성화하는 어플리케이션 실행부; 및
    상기 어플리케이션 실행부로부터 메시지를 수신하고, 상기 수신한 메시지에 매치되는 프로토타입을 로드하여 프로토타입 영역 상에 표시하는 프로토타입 컨트롤러를 포함하고,
    상기 프로토타입 컨트롤러는 상기 어플리케이션에 대한 입력 이벤트가 생성되면 상기 입력 이벤트 중 적어도 일부를 최우선적으로 제공받고, 상기 제공받은 입력 이벤트를 상기 로드 된 프로토타입에 전달하는,
    프로토타입 테스트를 위한 사용자 단말.
  9. 제8 항에 있어서,
    상기 사용자 단말은,
    상기 어플리케이션에 대한 리빌드(re-build)없이 상기 어플리케이션과 연동되는 프로토타입을 테스트하는,
    프로토타입 테스트를 위한 사용자 단말.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
KR1020190089333A 2019-07-24 2019-07-24 기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법 KR102049805B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190089333A KR102049805B1 (ko) 2019-07-24 2019-07-24 기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190089333A KR102049805B1 (ko) 2019-07-24 2019-07-24 기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170118048A Division KR102005288B1 (ko) 2017-09-14 2017-09-14 기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법

Publications (2)

Publication Number Publication Date
KR20190089814A KR20190089814A (ko) 2019-07-31
KR102049805B1 true KR102049805B1 (ko) 2019-11-28

Family

ID=67473792

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190089333A KR102049805B1 (ko) 2019-07-24 2019-07-24 기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법

Country Status (1)

Country Link
KR (1) KR102049805B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005018227A (ja) 2003-06-24 2005-01-20 Toshiba Corp サーバマシン及びアプリケーション開発方法
KR101009424B1 (ko) 2010-07-01 2011-01-19 주식회사 큐에이엔씨 Gui 소프트웨어 테스트 자동화 방법 및 자동화 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003804B (zh) 2014-11-21 2020-06-12 习得智交互软件开发公司 为提供原型设计工具的方法、系统及可进行非暂时性的计算机解读的记录媒介
KR101653795B1 (ko) 2015-05-22 2016-09-07 스튜디오씨드코리아 주식회사 평면 요소의 속성을 표시하는 방법 및 그 장치
KR101640377B1 (ko) 2016-01-06 2016-07-18 스튜디오씨드코리아 주식회사 그래픽 사용자 인터페이스의 프로토타입 제작 방법 및 그 시스템
KR101653797B1 (ko) 2016-04-15 2016-09-09 스튜디오씨드코리아 주식회사 프로토타입 제작 방법 및 그 장치
KR101701822B1 (ko) 2016-05-17 2017-02-02 스튜디오씨드코리아 주식회사 프로토타입 제작 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005018227A (ja) 2003-06-24 2005-01-20 Toshiba Corp サーバマシン及びアプリケーション開発方法
KR101009424B1 (ko) 2010-07-01 2011-01-19 주식회사 큐에이엔씨 Gui 소프트웨어 테스트 자동화 방법 및 자동화 장치

Also Published As

Publication number Publication date
KR20190089814A (ko) 2019-07-31

Similar Documents

Publication Publication Date Title
KR102005288B1 (ko) 기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법
CN109074276B (zh) 系统任务切换器中的选项卡
US9400585B2 (en) Display management for native user experiences
US20130067365A1 (en) Role based user interface for limited display devices
CN101479722A (zh) 特定于上下文的用户界面
CN110658971B (zh) 一种截屏方法及终端设备
TW201419114A (zh) 使用行動裝置之基本輸入輸出系統使用者介面控制
WO2014190219A1 (en) Accessibility compliance testing using code injection
JP6178421B2 (ja) コンテンツ選択および拡張コンテンツ選択のためのユーザインタフェース
EP2682854A1 (en) Method and terminal device for file processing based on user interface
KR102091509B1 (ko) 문자 입력 처리 방법 및 상기 방법이 적용되는 장치
US10853152B2 (en) Touch application programming interfaces
US20130215048A1 (en) Electronic apparatus, method for controlling the same, and computer-readable storage medium
US20140164186A1 (en) Method for providing application information and mobile terminal thereof
WO2020238357A1 (zh) 图标显示方法及终端设备
US11243679B2 (en) Remote data input framework
CA2931042A1 (en) Interactive reticle for a tactical battle management system user interface
US10416861B2 (en) Method and system for detection and resolution of frustration with a device user interface
KR102049805B1 (ko) 기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법
WO2020253282A1 (zh) 一种项目开启方法及装置、显示设备
US10970093B2 (en) Information processing apparatus for displaying a software screen on a foreground of a display based on a setting
AU2017225058B2 (en) Common declarative representation of application content and user interaction content processed by a user experience player
EP2849058A1 (en) Method and device for displaying a message associated with an application
JP2021533456A (ja) ネットワーク化された共同ワークスペースにおいてウェブ・ソケット接続を介して拡充ノート・データ・オブジェクトを伝えるための方法、装置及びコンピュータ可読媒体
KR102205842B1 (ko) 전자 장치의 아이템 표시 제어 방법 및 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right