KR101810648B1 - Apparatus and method for analyzing usability hampering elements of mobile application - Google Patents

Apparatus and method for analyzing usability hampering elements of mobile application Download PDF

Info

Publication number
KR101810648B1
KR101810648B1 KR1020160067230A KR20160067230A KR101810648B1 KR 101810648 B1 KR101810648 B1 KR 101810648B1 KR 1020160067230 A KR1020160067230 A KR 1020160067230A KR 20160067230 A KR20160067230 A KR 20160067230A KR 101810648 B1 KR101810648 B1 KR 101810648B1
Authority
KR
South Korea
Prior art keywords
user
behavior model
model
user behavior
usability
Prior art date
Application number
KR1020160067230A
Other languages
Korean (ko)
Other versions
KR20170135387A (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 KR1020160067230A priority Critical patent/KR101810648B1/en
Publication of KR20170135387A publication Critical patent/KR20170135387A/en
Application granted granted Critical
Publication of KR101810648B1 publication Critical patent/KR101810648B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 사용자 행위 로그(log)를 이용한 모바일 어플리케이션의 사용성 저해 요소를 분석하는 장치 및 방법에 관한 것으로, 모바일 어플리케이션에 대해 설계자로부터 수집된 사용 로그(log)로부터 예상 행동 모델(expected behavior model)을 추출하고, 모바일 어플리케이션에 대해 복수의 사용자들로부터 수집된 사용 로그로부터 사용자 행동 모델을 추출하고, 추출된 사용자 행동 모델에 포함된 개별 행동 간의 동치 관계를 탐색하여 하나의 사용자 행동 모델로 병합하며, 추출된 예상 행동 모델과 병합된 사용자 행동 모델을 비교하여 차이점이 발생한 항목으로부터 사용성 저해 요소를 검출한다.The present invention relates to an apparatus and method for analyzing a usability inhibition factor of a mobile application using a user activity log, and an expected behavior model is obtained from a usage log collected from a designer for a mobile application. Extracts a user behavior model from usage logs collected from a plurality of users for the mobile application, searches for an equivalence relationship between the individual behaviors included in the extracted user behavior model, merges the same into one user behavior model, The proposed behavior model is compared with the merged user behavior model, and the usability inhibition factor is detected from the items where the difference occurs.

Description

모바일 어플리케이션의 사용성 저해 요소 분석 장치 및 방법{Apparatus and method for analyzing usability hampering elements of mobile application}[0001] APPARATUS AND METHOD FOR ANALYZING HARMFUL ELEMENTS OF MOBILE APPLICATION [0002]

본 발명은 모바일 어플리케이션의 사용성을 분석하는 기술에 관한 것으로, 특히 모바일 어플리케이션을 사용하는 사용자의 행위 로그(log)를 이용하여 모바일 어플리케이션이 적정하게 설계되었는지, 사용자에게 효율적으로 서비스를 제공하고 있는지 여부를 나타내는 사용성을 저해하는 요소를 분석할 수 있는 장치, 방법 및 그 방법을 기록한 기록매체에 관한 것이다.The present invention relates to a technique for analyzing usability of a mobile application, and more particularly, to a technique for analyzing usability of a mobile application by using an action log of a user using the mobile application to determine whether the mobile application is appropriately designed, An apparatus, a method, and a recording medium on which the method can be analyzed.

스마트폰과 태블릿을 지원하는 모바일 앱은 기하급수적으로 그 숫자가 증가하고 있다. 따라서, 동일한 기능을 제공하는 다수 개의 앱 중에서 사용자들은 품질에 따라 선택하여 사용할 수 있다. 모바일 앱의 품질 요소로는 여러 가지가 있을 수 있으나 일반적으로 모바일 앱 사용자들은 특별한 매뉴얼 없이도 직관적으로 사용하기 쉬운 앱을 선호한다. 생활에서 사용되는 모바일 앱들 중에서 이러한 사용자의 요구 사항을 정확히 파악하여 많은 수의 사용자를 확보하는 앱이 있는가 하면, 그렇지 못한 사례들도 있다. 일례로 기차 좌석을 예매하는 특정 앱의 경우, 기차표 예매 시 예매하고자 하는 좌석 수를 지정하는 화면에서, 탑승할 어른과 어린이의 숫자를 화면 왼쪽의 아이콘을 오른쪽으로 밀어서 지정하도록 화면이 설계되었다. 그러나 이러한 지정 방식은 직접 숫자를 패드를 통해 입력하는 기존 앱들의 화면 설계 방식과 상이하여 실제 많은 사용자들이 사용 후기에서 불편함을 토로하고 있다. 결과적으로 이러한 불편함은 해당 앱이 사용자들에 의해 저조한 평가를 받고 있는 것과 무관하지 않다. 이와 같은 사례에서 모바일 앱의 전반적인 평가와 직결될 수 있는 모바일 앱의 화면 설계가 사용성 측면에서 문제점을 내포하고 있지 않은지를 평가하여, 이를 해소시켜 나감으로써 모바일 앱의 사용성(Usability)을 향상시켜 나가야 할 필요성을 찾아볼 수 있다.Mobile apps that support smartphones and tablets are growing exponentially. Therefore, among a plurality of apps providing the same function, users can select and use them according to their quality. There are many quality factors for mobile apps, but mobile app users generally prefer apps that are intuitive to use without special manuals. Among the mobile apps used in life, there are apps that accurately grasp the needs of these users to get a large number of users, and some cases do not. For example, in the case of a specific app for train seats, the screen is designed to specify the number of adults and children to be pushed to the right by the icon on the left side of the screen. However, this designation method differs from the screen design method of existing apps which directly input numbers through pads, so that many users actually feel inconvenience in the use of the device. As a result, these inconveniences are not unrelated to the app's poor appraisal by users. In this case, we must evaluate whether the screen design of the mobile app, which can be directly connected with the overall evaluation of the mobile app, has problems in terms of usability, and resolve it to improve the usability of the mobile app. You can find out the necessity.

비특허문헌 1을 참조하면, TAM(Technology Acceptance Model)에서는 새로운 서비스가 사용자들에게 받아들여질 때 가장 큰 영향을 미치는 요소가 사용성(Usability)이라고 한다. 하지만 비특허문헌 2를 통해 최근 닐슨 노만(Nielsen Norman) 그룹이 발표한 스마트폰 어플리케이션의 사용성 조사 보고서에 의하면 많은 스마트폰 어플리케이션이 다양한 센서를 통해 디자인 측면에서 사용자의 많은 호감을 얻고 있지만, 스마트폰의 고유한 특성을 제대로 활용하지 못한 채 어플리케이션 별로 일관성이 결여된 사용자 인터페이스를 제공함으로써 사용자의 혼란을 유발시키고 있다고 발표했다.Referring to Non-Patent Document 1, in the Technology Acceptance Model (TAM), usability is the most influential factor when a new service is accepted by users. However, according to a non-patent document 2, Nielsen Norman group's report on the usability of smartphone applications shows that many smartphone applications have gained a great deal of user-friendly design from a variety of sensors, Announced that it is causing user confusion by providing inconsistent user interface that does not utilize inherent characteristics properly.

따라서, 다양한 모바일 어플리케이션을 기획, 개발, 사용하는 일련의 과정 속에서, 해당 어플리케이션이 적정하게 설계되었는지, 해당 어플리케이션 내에 최초의 기획 의도와는 달리 사용자의 사용성을 저해할만한 요소가 존재하지는 않은지를 판단할 수 있는 객관적인 평가 및 분석 방법의 개발이 요구되고 있다.Accordingly, in a series of processes of planning, developing, and using various mobile applications, it is determined whether the corresponding application is appropriately designed and whether there is an element that may hinder the usability of the user unlike the initial planning intention in the application Development of an objective evaluation and analysis method is required.

Venkatesh, V.; Davis, F. D., "A theoretical extension of the technology acceptance model: Four longitudinal field studies", Management Science 46(2): 186-204, 2000. Venkatesh, V .; Davis, F. D., " A theoretical extension of the technology acceptance model: Four longitudinal field studies ", Management Science 46 (2): 186-204, 2000. Nielsen Norman Group Report, Usability of iPad Apps and Websites: First Research Findings, 2010. Nielsen Norman Group Report, Usability of iPad Apps and Websites: First Research Findings, 2010.

본 발명이 해결하고자 하는 기술적 과제는, 모바일 어플리케이션의 도입에 따른 중요한 판단 요소가 사용성(usability)임을 인지하고 일관성이 결여되거나 불편을 야기하는 사용자 인터페이스를 개선하고자 하는 노력이 지속되고 있음에도 불구하고, 종래의 모바일 어플리케이션의 사용성을 측정하기 위한 조사 과정에서 많은 비용과 시간이 소모되는 문제점을 해결하고, 사용성 내지 사용성 저해 요소의 측정 결과에 객관성이 결여되는 한계를 극복하고자 한다.SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances and has an object to provide a mobile communication terminal, The present invention solves the problem of consuming a lot of cost and time in the investigation process for measuring the usability of the mobile application and overcomes the limit of lack of objectivity in measurement results of usability or usability inhibition factors.

상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 적어도 하나의 프로세서(processor)를 구비하여 모바일 어플리케이션(mobile application)의 사용성 저해 요소를 분석하는 방법은, 모바일 어플리케이션에 대해 설계자로부터 수집된 사용 로그(log)로부터 예상 행동 모델(expected behavior model)을 추출하는 단계; 상기 모바일 어플리케이션에 대해 복수의 사용자들로부터 수집된 사용 로그로부터 각각 사용자 행동 모델을 추출하는 단계; 추출된 상기 사용자 행동 모델에 포함된 개별 행동 간의 동치 관계를 탐색하여 하나의 사용자 행동 모델로 병합하는 단계; 및 추출된 상기 예상 행동 모델과 병합된 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목으로부터 사용성 저해 요소를 검출하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method for analyzing a usability-impairing element of a mobile application including at least one processor according to an embodiment of the present invention, Extracting an expected behavior model from a usage log; Extracting a user behavior model from usage logs collected from a plurality of users for the mobile application; Searching for an equivalence relationship between the individual behaviors included in the extracted user behavior model and merging the same into one user behavior model; And comparing the extracted behavioral model with the user behavioral model merged to detect a usability inhibiting element from the item where the difference occurs.

일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 방법에서, 상기 예상 행동 모델 및 상기 사용자 행동 모델은, 모바일 어플리케이션의 상태를 표현하되, 사용자의 조작에 반응하여 다른 상태로 전이되는 과정을 표현하는 유한 상태 기계(finite state machine) 모델로 설정될 수 있다. 또한, 상기 유한 상태 기계 모델은, 상기 모바일 어플리케이션의 GUI(graphic user interface) 구성 요소의 식별자, 사용자 조작에 의한 입력값 및 사용자 이벤트 발생 시간을 포함할 수 있다.In a method for analyzing a usability inhibiting factor of a mobile application according to an exemplary embodiment, the predictive behavior model and the user behavior model express a state of a mobile application, and express a process of transitioning to another state in response to a user's manipulation A finite state machine model can be established. In addition, the finite state machine model may include an identifier of a graphic user interface (GUI) component of the mobile application, an input value by a user operation, and a user event occurrence time.

일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 방법에서, 상기 하나의 사용자 행동 모델로 병합하는 단계는, 추출된 상기 사용자 행동 모델을 비교하여 상기 사용자 행동 모델에 포함된 개별 행동이 서로 동치인 상태전이(transition) 부분을 검출하는 단계; 및 복수의 사용자 행동 모델로부터 검출된 상태전이 부분을 하나의 사용자 행동 모델에 순차적으로 추가하는 단계를 포함할 수 있다.In the method of analyzing the usability inhibiting factor of a mobile application according to an exemplary embodiment, merging into the one user behavior model may include comparing the extracted user behavior models so that individual behaviors included in the user behavior model are mutually equivalent Detecting a state transition portion; And sequentially adding the state transition portions detected from the plurality of user behavior models to one user behavior model.

일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 방법에서, 상기 사용성 저해 요소를 검출하는 단계는, 설계 의도를 나타내는 상기 예상 행동 모델과 실제 사용자의 행동을 나타내는 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목을 도출하는 단계; 상기 차이점이 발생한 항목이 미리 정의된 사용자 저해 이상 징후에 해당하는지 여부를 검사하는 단계; 및 검사 결과에 따라 상기 차이점 발생한 항목을 사용자 저해 요소로 선택적으로 출력하는 단계를 포함할 수 있다. 또한, 상기 미리 정의된 사용자 저해 이상 징후는, 설계자가 예상하지 못한 행동의 흐름, GUI 컨트롤에 구현되지 않은 이벤트의 발생, 반복적으로 수행되는 상태전이 및 예상 수행 시간의 초과 중 적어도 하나를 포함할 수 있다. 나아가, 상기 사용자 행동 모델에서 상기 예상 행동 모델에 포함되지 않은 행동 또는 상태전이가 발생할 경우 상기 설계자가 예상하지 못한 행동의 흐름이 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 상기 예상 행동 모델이 정의하지 않은 상태전이를 유발하는 제어 이벤트가 발생할 경우 상기 GUI 컨트롤에 구현되지 않은 이벤트가 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 동일한 이벤트가 발생하는 횟수를 계수함으로써 상기 반복적으로 수행되는 상태전이를 판단하며, 상기 예상 행동 모델과 상기 사용자 행동 모델 중 동치인 상태 간의 전이 집합에 대하여 동치 관계인 예상 행동 모델의 상태전이의 총 소요시간보다 사용자 행동 모델의 총 소요시간이 임계값 이상으로 소요되는지 여부를 검사함으로써 상기 예상 수행 시간의 초과를 판단할 수 있다.In a method for analyzing a usability inhibiting factor of a mobile application according to an exemplary embodiment, the step of detecting the usability inhibiting factor includes comparing the predictive behavior model indicating a design intention with the user behavior model indicating an actual user behavior, Deriving an occurrence of the item; Checking whether the item where the difference occurs corresponds to a predefined user disturbance abnormality; And selectively outputting the difference occurrence item as a user inhibition element according to the inspection result. In addition, the predefined user disturbance anomaly may include at least one of a flow of unexpected behavior of the designer, the occurrence of an event not implemented in the GUI control, a state transition that is repeatedly performed, and an excess of the expected execution time have. Further, when the behavior or state transition not included in the expected behavior model occurs in the user behavior model, the designer determines that a flow of an unexpected behavior has been detected. In the user behavior model, Determining that an event that is not implemented in the GUI control is detected when a control event that causes a state transition that does not occur, and determining the repetition of the state transition by counting the number of times the same event occurs in the user behavior model , Checking whether the total time required for the user behavior model to exceed the threshold value is greater than the total time required for the state transition of the expected behavior model, which is an equivalent relationship between the predictive behavior model and the transition state between the states equivalent to the user behavior model Seconds of the expected execution time The can be determined.

일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 방법은, 모바일 어플리케이션에 대해 설계자 및 복수의 사용자들의 조작에 의한 입력값과 상기 조작의 대상 객체를 매칭하여 미리 사용 로그로 저장하는 단계;를 더 포함할 수 있다. 또한, 상기 사용 로그 중 상기 조작에 의한 입력값은 터치 좌표, 시간 정보 및 제스처의 종류를 포함하고, 상기 사용 로그 중 상기 조작의 대상 객체는 GUI 식별자를 포함하는 구조 정보인 것이 바람직하다.A method for analyzing usability impeding factors of a mobile application according to an exemplary embodiment of the present invention includes matching input values by manipulation of a designer and a plurality of users with a target object of the manipulation for a mobile application and storing them in a use log in advance . Preferably, the input value by the operation includes the touch coordinates, the time information, and the type of the gesture, and the target object of the operation among the use logs is the structure information including the GUI identifier.

한편, 이하에서는 상기 기재된 모바일 어플리케이션의 사용성 저해 요소를 분석하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.Meanwhile, a computer-readable recording medium on which a program for causing a computer to execute a method for analyzing a usability-inhibiting factor of the mobile application described above is recorded.

상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 장치는, 모바일 어플리케이션(mobile application)에 대해 설계자 및 복수의 사용자들로부터 각각 사용 로그(log)를 수집하는 입력부; 모바일 어플리케이션의 사용성 저해 요소를 분석하는 프로그램을 저장하는 메모리; 및 적어도 하나의 프로세서(processor)를 구비하여 상기 사용성 저해 요소를 분석하는 프로그램을 구동하는 처리부를 포함하되, 상기 메모리에 저장된 프로그램은, 상기 설계자로부터 수집된 사용 로그(log)로부터 예상 행동 모델(expected behavior model)을 추출하고, 상기 복수의 사용자들로부터 수집된 사용 로그로부터 각각 사용자 행동 모델을 추출하고, 추출된 상기 사용자 행동 모델에 포함된 개별 행동 간의 동치 관계를 탐색하여 하나의 사용자 행동 모델로 병합하며, 추출된 상기 예상 행동 모델과 병합된 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목으로부터 사용성 저해 요소를 검출하는 명령어를 포함한다.According to an aspect of the present invention, there is provided an apparatus for analyzing a usability-inhibiting factor of a mobile application, the apparatus comprising: a usage log generator for generating a usage log for a mobile application from a designer and a plurality of users, An input unit for collecting; A memory for storing a program for analyzing usability impediments of a mobile application; And a processor for operating the program for analyzing the usability inhibiting element, the program being stored in the memory, wherein the program is configured to calculate an expected behavior model from the usage log collected from the designer, and extracts a user behavior model from the usage logs collected from the plurality of users, searches for an equivalence relationship between the individual behaviors included in the extracted user behavior model, merges the same into one user behavior model, And comparing the extracted behavioral model with the user behavioral model merged to detect a usability inhibiting element from the item in which the difference occurs.

일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 장치에서, 상기 예상 행동 모델 및 상기 사용자 행동 모델은, 모바일 어플리케이션의 상태를 표현하되, 사용자의 조작에 반응하여 다른 상태로 전이되는 과정을 표현하는 유한 상태 기계(finite state machine) 모델로 설정될 수 있다. 또한, 상기 유한 상태 기계 모델은, 상기 모바일 어플리케이션의 GUI(graphic user interface) 구성 요소의 식별자, 사용자 조작에 의한 입력값 및 사용자 이벤트 발생 시간을 포함할 수 있다.In an apparatus for analyzing a usability inhibiting factor of a mobile application according to an exemplary embodiment, the predictive behavior model and the user behavior model express a state of a mobile application, and express a process of transitioning to another state in response to a user's manipulation A finite state machine model can be established. In addition, the finite state machine model may include an identifier of a graphic user interface (GUI) component of the mobile application, an input value by a user operation, and a user event occurrence time.

일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 장치에서, 상기 메모리에 저장된 프로그램은, 추출된 상기 사용자 행동 모델을 비교하여 상기 사용자 행동 모델에 포함된 개별 행동이 서로 동치인 상태전이(transition) 부분을 검출하고, 복수의 사용자 행동 모델로부터 검출된 상태전이 부분을 하나의 사용자 행동 모델에 순차적으로 추가함으로써, 상기 하나의 사용자 행동 모델로 병합할 수 있다.In an apparatus for analyzing a usability-inhibiting element of a mobile application according to an exemplary embodiment, a program stored in the memory compares extracted user behavior models to determine whether the individual behaviors included in the user behavior model are equivalent to each other, ) Portion of the user behavior model, and merging the state transition portions detected from the plurality of user behavior models sequentially into one user behavior model, into the one user behavior model.

일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 장치에서, 상기 메모리에 저장된 프로그램은, 설계 의도를 나타내는 상기 예상 행동 모델과 실제 사용자의 행동을 나타내는 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목을 도출하고, 상기 차이점이 발생한 항목이 미리 정의된 사용자 저해 이상 징후에 해당하는지 여부를 검사하며, 검사 결과에 따라 상기 차이점 발생한 항목을 사용자 저해 요소로 선택적으로 출력함으로써, 상기 사용성 저해 요소를 검출할 수 있다. 또한, 상기 미리 정의된 사용자 저해 이상 징후는, 설계자가 예상하지 못한 행동의 흐름, GUI 컨트롤에 구현되지 않은 이벤트의 발생, 반복적으로 수행되는 상태전이 및 예상 수행 시간의 초과 중 적어도 하나를 포함할 수 있다. 나아가, 상기 사용자 행동 모델에서 상기 예상 행동 모델에 포함되지 않은 행동 또는 상태전이가 발생할 경우 상기 설계자가 예상하지 못한 행동의 흐름이 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 상기 예상 행동 모델이 정의하지 않은 상태전이를 유발하는 제어 이벤트가 발생할 경우 상기 GUI 컨트롤에 구현되지 않은 이벤트가 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 동일한 이벤트가 발생하는 횟수를 계수함으로써 상기 반복적으로 수행되는 상태전이를 판단하며, 상기 예상 행동 모델과 상기 사용자 행동 모델 중 동치인 상태 간의 전이 집합에 대하여 동치 관계인 예상 행동 모델의 상태전이의 총 소요시간보다 사용자 행동 모델의 총 소요시간이 임계값 이상으로 소요되는지 여부를 검사함으로써 상기 예상 수행 시간의 초과를 판단할 수 있다.In an apparatus for analyzing a usability-inhibiting element of a mobile application according to an exemplary embodiment, a program stored in the memory compares the predictive behavior model indicating a design intention with the user behavior model indicating an actual user's behavior, And checking whether the item in which the difference occurs corresponds to a predefined user disturbance abnormality indication and selectively outputting the difference occurrence item as a user inhibiting element in accordance with the inspection result to detect the usability inhibiting element . In addition, the predefined user disturbance anomaly may include at least one of a flow of unexpected behavior of the designer, the occurrence of an event not implemented in the GUI control, a state transition that is repeatedly performed, and an excess of the expected execution time have. Further, when the behavior or state transition not included in the expected behavior model occurs in the user behavior model, the designer determines that a flow of an unexpected behavior has been detected. In the user behavior model, Determining that an event that is not implemented in the GUI control is detected when a control event that causes a state transition that does not occur, and determining the repetition of the state transition by counting the number of times the same event occurs in the user behavior model , Checking whether the total time required for the user behavior model to exceed the threshold value is greater than the total time required for the state transition of the expected behavior model, which is an equivalent relationship between the predictive behavior model and the transition state between the states equivalent to the user behavior model Seconds of the expected execution time The can be determined.

일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 장치는, 모바일 어플리케이션에 대해 설계자 및 복수의 사용자들의 조작에 의한 입력값과 상기 조작의 대상 객체를 매칭하여 미리 사용 로그로 저장하는 저장부;를 더 포함할 수 있다. 또한, 상기 사용 로그 중 상기 조작에 의한 입력값은 터치 좌표, 시간 정보 및 제스처의 종류를 포함하고, 상기 사용 로그 중 상기 조작의 대상 객체는 GUI 식별자를 포함하는 구조 정보인 것이 바람직하다.An apparatus for analyzing a usability-inhibiting element of a mobile application according to an exemplary embodiment includes a storage unit for storing input values by an operation of a designer and a plurality of users and a target object of the manipulation for a mobile application and storing them in a use log in advance; As shown in FIG. Preferably, the input value by the operation includes the touch coordinates, the time information, and the type of the gesture, and the target object of the operation among the use logs is the structure information including the GUI identifier.

본 발명의 실시예들은, 다수의 사용자로부터 추출된 사용자 행위 모델을 병합하여 설계자의 의도가 반영된 예상 행위 모델과 비교함으로써, 체계적으로 모바일 앱의 GUI 모델상에 잠재된 사용성 저해 요소를 검출하는 것이 가능하고, 자동 검출이 가능한 모바일 앱의 사용성 저해 요소의 유형을 식별하고, 사용자 로그 분석을 통해 저해 요소들을 자동으로 검출해 냄으로써, 기존 개발자들이 사용성 오류 검출을 위해 행해왔던 반복적인 테스트 작업의 부담을 크게 감소시킬 수 있다.Embodiments of the present invention can systematically detect usability inhibiting factors on the GUI model of the mobile app by comparing the user behavior model extracted from a plurality of users with the expected behavior model reflecting the intention of the designer It identifies the types of usability impediments of mobile apps that can be automatically detected, and automatically detects the inhibiting factors through user log analysis. This greatly reduces the burden of repetitive testing tasks that existing developers have done to detect usability errors. .

도 1은 본 발명의 일 실시예에 따른 사용자 행위 로그(log)를 이용한 모바일 어플리케이션의 사용성 저해 요소 분석 방법을 도시한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 GUI 사용성 저해 요소를 검출하는 도구를 예시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 도 2의 검출 도구에서 사용성 저해 요소를 검출하는 과정을 설명하기 위한 도면이다.
도 4는 복수의 사용자 행동 모델을 병합하는 과정을 설명하기 위한 도면이다.
도 5는 이상 징후를 검출하는 의사 코드(pseudo-code)를 예시한 도면이다.
도 6a 및 도 6b는 GUI 이상 징후를 검출하는 과정을 예시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 사용자 행위 로그를 이용한 모바일 어플리케이션의 사용성 저해 요소 분석 장치를 도시한 블록도이다.
1 is a flowchart illustrating a method of analyzing a usability inhibiting factor of a mobile application using a user activity log according to an exemplary embodiment of the present invention.
Figure 2 is a block diagram illustrating a tool for detecting GUI usability elements in accordance with one embodiment of the present invention.
FIG. 3 is a diagram for explaining a process of detecting a usability inhibiting element in the detection tool of FIG. 2 according to an embodiment of the present invention.
4 is a diagram for explaining a process of merging a plurality of user behavior models.
5 is a diagram illustrating a pseudo-code for detecting an abnormal symptom.
6A and 6B are diagrams illustrating a process of detecting a GUI anomaly.
FIG. 7 is a block diagram illustrating an apparatus for analyzing usability inhibition factors of a mobile application using a user activity log according to an exemplary embodiment of the present invention. Referring to FIG.

본 발명의 실시예들을 설명하기에 앞서 본 발명의 실시예들이 구현, 활용되는 모바일 어플리케이션의 구동 환경에 대해 간략히 소개하고, 실시예들이 활용되는 환경에서 발생하고 있는 문제점을 제시하고자 한다.Before describing embodiments of the present invention, embodiments of the present invention are briefly introduced to a driving environment of a mobile application to be implemented and utilized, and a problem occurring in an environment in which embodiments are utilized is presented.

시스템의 사용성을 측정하고 향상시키기 위한 방식으로 종래에는 주로 사용자를 대상으로 설문조사를 수행하였다. 하지만 사용자 설문을 기초 자료로 사용성을 평가하는 방식은 설문 문항의 구성 방식, 응답자의 특성 등의 변수에 따라 그 결과가 상이할 수 있다는 문제점을 가지고 있다. 예를 들어, A/B 테스트는 사용자들에게 똑같은 페이지/내용을 제공하지만, 메시지의 구체적인 형식이나 디자인에 변형을 주어서 각자의 반응을 살피는 테스트 방식이다. 다양한 GUI 대안(Alternative)에 대한 사용자들의 반응을 얻기 위해서는 대안 숫자만큼의 버전으로 소프트웨어를 제작해야 되기 때문에 테스트에 소요되는 시간이 증가한다. 또한, GUI의 편리한 정도를 미학(Aesthetic)적 측면에서 평가하는 연구들도 존재한다. 즉, 화면 내 뷰(View)들의 정렬 정도, 위젯 넓이/높이 등을 측정하여 사용자가 편안하다고 느끼는 정도를 가늠할 수 있다. 그러나 다양한 이기종(Heterogeneous) 기기를 지원해야 되는 모바일 앱의 특성상 해당 측정법으로는 기기의 해상도에 따라 GUI의 배치가 달라지므로 같은 앱일지라도 메트릭 수치가 변하여 정확한 사용성 측정이 어려운 한계점이 존재한다.In order to measure and improve the usability of the system, users were surveyed in the past. However, the method of evaluating the usability as the basic data of the user questionnaire has the problem that the result may be different depending on the variables such as the constitution method of the question item and the characteristics of the respondent. For example, the A / B test provides the same page / content to users, but it is a test method that examines the response of each person by transforming the specific format or design of the message. In order to get users' responses to various GUI alternatives, the time required for testing increases because software must be produced in an alternative number of versions. There are also studies evaluating the convenience of GUI in Aesthetic aspect. That is, the user can measure the degree of comfort by measuring the degree of alignment of in-view views and widget width / height. However, due to the nature of mobile apps that must support heterogeneous devices, it is difficult to accurately measure usability because the metric values change even in the same app because the layout of the GUI changes according to the device resolution.

이하에서 기술되는 본 발명의 실시예들은 상기된 문제점을 해소하기 위하여 안출된 것으로서, 사용자들이 모바일 앱을 사용하는 행동 모델과 모바일 앱의 GUI 개발자들이 의도한 행동 모델 간의 차이점을 분석하여, 이로부터 미리 정의된 유형의 사용성 저해 요소를 자동으로 검출해 내는 기법을 제안한다. 이러한 자동화된 모바일 앱의 사용성 저해 요소 검출 도구의 적용을 통해, 기존의 사용성 측정 방식이 갖는 객관성 결여 문제와 비용을 요하는 테스팅 부담을 해결할 수 있다.Embodiments of the present invention described below are devised in order to solve the above-described problems, and it is an object of the present invention to analyze the difference between a behavior model using a mobile application and a behavior model intended by a GUI developer of a mobile application, We propose a method to automatically detect usability inhibition of a defined type. Through the application of the usability deterrent detection tool of the automated mobile app, it is possible to solve the lack of objectivity of existing usability measurement method and the cost burdening testing burden.

특히, 모바일 앱의 사용성의 문제점은 개발자가 예상한 사용자 행동 모델과 실제 사용자들의 사용 행동에서 기록된 사용자 행동 모델 간에 차이점이 발생하는 지점에 내재해 있다는 것을 인식하는 것으로부터 본 발명의 실시예들이 안출되었다. 이러한 사용성 검증을 위한 기준을 제시함으로써 객관적인 메트릭(metric)을 확보할 수 있으며, 개발자의 의도를 나타내는 모델과 사용자의 행동 모델 비교를 통한 자동화된 사용성 저해 요소 검출이 가능함에 따라, 기존 연구들의 문제점으로 지적된 자의적 해석 가능성과 고비용 문제를 완화시킬 수 있을 것으로 기대한다. Particularly, since the problem of the usability of the mobile app is recognized at the point where the difference occurs between the user behavior model expected by the developer and the recorded user behavior model in the actual usage behavior of the users, . As a result, it is possible to obtain an objective metric by presenting the criteria for usability verification, and it is possible to detect the automatic usability inhibition factor by comparing the model representing the intention of the developer and the behavior model of the user, We expect to be able to mitigate the arbitrary interpretation possibility and high cost problem pointed out.

이를 위해 본 발명의 실시예들은, 사용자 로그(log) 분석을 통한 사용성 분석 기법을 바탕으로 하되, 수집된 사용자 로그 정보로부터 유한 상태 기계(Finite State Machine) 모델 기반의 행동모델을 추출하는 방법을 도출하고 다수의 사용자들의 로그로부터 추출된 행동 모델을 병합하는 방법을 제시함으로써, 특정 모바일 어플리케이션의 대다수의 사용자가 느끼는 보편적인 사용성 측면의 문제점 분석을 자동으로 수행할 수 있는 기술적 수단을 제안한다.To this end, embodiments of the present invention derive a method for extracting a behavior model based on a finite state machine model from collected user log information based on usability analysis technique through user log analysis And suggests a method to merge the behavioral models extracted from the logs of multiple users, thereby proposing a technical means for automatically analyzing the problem of universal usability that a majority of users of a specific mobile application feel.

이하에서는, 도면을 참조하여 상기된 기술적 과제를 해결하기 위한 본 발명의 실시예들을 구체적으로 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 명칭 및 도면 부호로 나타내고 있음에 유의하여야 한다.Hereinafter, embodiments of the present invention for solving the above-mentioned technical problems will be described in detail with reference to the drawings. In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It is to be noted that the same components are denoted by the same names and reference numerals as possible throughout the drawings.

도 1은 본 발명의 일 실시예에 따른 사용자 행위 로그(log)를 이용한 모바일 어플리케이션의 사용성 저해 요소 분석 방법을 도시한 흐름도로서, 적어도 하나의 프로세서(processor)를 구비하여 모바일 어플리케이션(mobile application)의 사용성 저해 요소를 분석하는 장치를 통해 구현될 수 있다.FIG. 1 is a flowchart illustrating a method of analyzing a usability inhibiting factor of a mobile application using a user activity log according to an embodiment of the present invention. The method includes at least one processor, Can be implemented through an apparatus for analyzing usability inhibiting factors.

S110 단계에서, 사용성 저해 요소의 분석 장치는, 모바일 어플리케이션에 대해 설계자로부터 수집된 사용 로그(log)로부터 예상 행동 모델(expected behavior model)을 추출한다.In step S110, the usability inhibitor analysis device extracts an expected behavior model from the usage log collected from the designer for the mobile application.

여기서, 사용 로그란, 모바일 어플리케이션이 포함하는 기능 또는 구동 시나리오를 따라 사용자가 직접 조작하는 일련의 과정에 관한 정보를 포함한다. 예를 들어, 특정 모바일 어플리케이션에서 위치 정보에 기반하여 주위 상점을 검색하는 기능을 실행하기 위하여, 사용자가 해당 어플리케이션을 조작하는 일련의 과정(이 경우, 사용자의 터치 입력 값이나 제스처 입력 값이 포함될 수 있다)과 각 단계마다의 제어의 대상이 되는 객체들에 관한 정보를 그룹으로 묶어 기록함으로써, 이후 분석의 기초 자료로 활용할 수 있다.Here, the usage log includes information about a series of processes that the user directly operates according to the function or the driving scenario included in the mobile application. For example, in order to execute a function of searching a surrounding store based on location information in a specific mobile application, a series of processes in which a user operates the application (in this case, a user's touch input value or a gesture input value may be included ) And information about the objects to be controlled at each step are grouped and recorded as a basic data for later analysis.

이렇게 설계자의 조작에 따라 수집된 사용 로그로부터 예상 행동 모델을 추출할 수 있는데, 설계자는 해당 모바일 어플리케이션을 기획하고 제작한 당사자로서, 그의 조작은 해당 어플리케이션을 조작하는 제작자의 최초 의도가 담겨있다고 해석될 수 있다. 따라서, 설계자로부터 수집된 사용 로그로부터 추출된 행동 모델은 통상의 모델이 아니며, 다른 일반 사용자들에게 기대하는 '예상 행동 모델'로 명명되었다. 즉, 예상 행동 모델이란 일반 사용자의 조작 방식에 대한 표준적인 기대치를 나타낸다.In this way, the expected behavior model can be extracted from the collected usage logs according to the designer's manipulation. The designer is the party that planned and produced the mobile application, and the operation is interpreted as containing the original intention of the manufacturer operating the application . Therefore, the behavior model extracted from the usage log collected from the designer is not a normal model, but is named as the 'expected behavior model' which is expected to other general users. In other words, the predicted behavior model represents the standard expectations of the way the general user operates.

S120 단계에서, 상기 사용성 저해 요소의 분석 장치는, 상기 모바일 어플리케이션에 대해 복수의 사용자들로부터 수집된 사용 로그로부터 각각 사용자 행동 모델을 추출한다.In step S120, the usability-inhibiting factor analyzing apparatus extracts user behavior models from the usage logs collected from the plurality of users for the mobile application.

이 과정은 앞서 수행된 S110 단계와 유사하나, 조작의 수행 주체가 설계자가 아닌 일반 사용자이며, 그 수 또한 다수일 수 있다. 복수의 사용자들로부터 수집된 사용 로그는 각각이 개인의 특성이 반영된 조작 방식을 나타나게 되며, 이로부터 사용자의 수만큼 사용자 행동 모델이 추출될 수 있다. 이렇게 추출된 사용자 행동 모델은 이후 예상 행동 모델과의 비교를 통해 최초에 설계자에 의해 설계된 모바일 어플리케이션의 GUI가 적절하였는지 여부를 판단하는 근거로서 활용된다.This process is similar to the step S110 performed previously, but the subject of the operation is a general user, not a designer, and the number thereof may also be many. The usage logs collected from a plurality of users exhibit an operation mode reflecting the individual characteristics, from which a number of user behavior models can be extracted. The extracted user behavior model is used as a basis for judging whether or not the GUI of the mobile application originally designed by the designer is appropriate through comparison with the predicted behavior model.

S130 단계에서, 상기 사용성 저해 요소의 분석 장치는, S120 단계를 통해 추출된 상기 사용자 행동 모델에 포함된 개별 행동 간의 동치 관계를 탐색하여 하나의 사용자 행동 모델로 병합한다. S120 단계를 통해 추출된 사용자 행동 모델이 다수이므로 이들을 병합하여 하나의 사용자 행동 모델을 생성할 수 있다. 보다 구체적은 병합 방식에 대해서는 이후 도 4를 통해 설명하도록 한다.In step S130, the usability inhibiting element analyzing apparatus searches for an equivalence relationship between individual behaviors included in the user behavior model extracted through step S120, and merges the same into one user behavior model. Since there are a plurality of user behavior models extracted through step S120, a single user behavior model can be generated by merging the user behavior models. More specifically, the merging method will be described later with reference to FIG.

S140 단계에서, 상기 사용성 저해 요소의 분석 장치는, S110 단계를 통해 추출된 상기 예상 행동 모델과 S130 단계를 통해 병합된 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목으로부터 사용성 저해 요소를 검출한다. 이제, 설계자의 설계 의도가 반영된 예상 행동 모델과 실제 사용자들의 조작 방식이 반영된 사용자 행동 모델을 비교함으로써 각각의 항목 간의 차이점에 집중한다. 다만, 발견된 차이점이 모두 사용성 저해 요소라고 판단할 수 있는 것은 아니며, 사용성 저해에 대한 판단을 도와줄 수 있도록 미리 설정된 이상 징후의 조건과 일치하는지를 검사함으로써 최종적으로 해당 항목이 사용성 저해 요소에 해당하는지 여부를 결정할 수 있다. 이러한 이상 징후의 유형과 각각의 판단 기준은 이후 도 5를 통해 구체적으로 기술하도록 한다.In step S140, the usability-inhibiting factor analyzing apparatus compares the predicted behavior model extracted in step S110 with the user behavior model merged through step S130, and detects the usability-inhibiting element from the item where the difference occurs. Now, we concentrate on the differences between each item by comparing the behavioral model that reflects the design intent of the designer and the user behavioral model that reflects how the actual users operate. However, not all detected differences are judged to be usability inhibitors, and it is checked whether they are in conformity with pre-established abnormal symptom conditions to help judge usability inhibition, Can be determined. The types of the anomalous indications and the respective criteria will be described later in detail with reference to FIG.

도 2는 본 발명의 일 실시예에 따른 GUI 사용성 저해 요소를 검출하는 도구를 예시한 블록도로서, 동작중인 모바일 앱으로부터 사용자 로그를 추출하는 메커니즘 및 상기 도 1을 통해 제안된 분석 기법을 구현하는 자동화 도구를 구성하는 주요 컴포넌트들과 컴포넌트들간 의 협업을 통해 이뤄지는 모바일 앱 저해 요소 자동 검출 과정에 대한 개요를 설명하고자 한다. 도 2에 예시된 GUI 사용성 저해 요소 검출 도구는, Java로 구현되었으며, 안드로이드 플랫폼에서 동작하며, 각각의 컴포넌트 별 주요 역할은 다음과 같다.FIG. 2 is a block diagram illustrating a tool for detecting a GUI usability inhibiting element according to an embodiment of the present invention. Referring to FIG. 2, a mechanism for extracting a user log from a mobile application in operation and an analysis method This paper outlines the process of automatic detection of mobile application inhibiting factors through collaboration between major components and components that make up the automation tool. The GUI usability inhibiting element detection tool illustrated in FIG. 2 is implemented in Java, operates on the Android platform, and the main roles of each component are as follows.

(a) 프로브(Probe)(10)는 안드로이드(Android)에 내장되어 사용자로부터 발생한 터치를 입력받거나 기록하는 수단으로서, 특히 안드로이드 매크로(macro)인 멍키러너(Monkeyrunner)(11)를 이용하여 입력된 값을 (b) 터치 로그 저장소(Touch log storage)에 저장한다.(a) Probe 10 is a means for receiving or recording a touch generated by a user, which is built in Android and is used as a means for inputting or recording a touch input from a user using a monkeyrunner 11, (B) Store the value in Touch log storage.

(b) 터치 로그 저장소(Touch log storage)는 멍키러너(11)를 이용하여 사용자들의 터치 좌표, 타임스탬프, 제스처 종류를 수집한 후 프로브(10)에서 생성된 로그와 타임스탬프 기반으로 합성된 로그를 저장한다.(b) Touch log storage collects touch coordinates, timestamps, and gesture types of users by using the monkey runner 11, and then stores the log generated by the probe 10 and the log synthesized based on the time stamp / RTI >

(c) 뷰 저장소(View storage)는 검사의 대상이 될 GUI ID 정보를 획득하기 위해 안드로이드 도구인 계층 뷰어(Hierarchical viewer)(12)를 이용하여 현재 화면의 전체 GUI ID 값이 포함된 구조 정보를 XML형태로 저장한다.(c) In order to acquire GUI ID information to be inspected, the view storage uses the hierarchical viewer 12, which is an Android tool, to display the structure information including the entire GUI ID value of the current screen It is stored in XML format.

이상에서 (b) 터치 로그 저장소와 (c) 뷰 저장소는 사용 로그를 기록하는 일종의 통합 저장소(15)로서 동작하게 된다.(B) the touch log repository and (c) view repository operate as a kind of integrated repository 15 which records the usage log.

(d) 행동 모델 생성기(Behavior model generator)(31)는 (b) 터치 로그 저장소 및 (c) 뷰 저장소에서 수집한 로그를 바탕으로 사용자의 행동을 나타내는 모델을 생성한다.(d) Behavior model generator (31) creates a model that represents the user's behavior based on (b) the touch log repository and (c) the logs collected from the view repository.

(e) 이상 징후 분석기(Bad symptom analyzer)(32)는 모바일 어플리케이션의 사용성 저해 요소를 몇 가지 유형으로 정의하여 검출한다. 설계 시점에서 가정한 예측 행동 모델과 실제 사용자로부터 수집된 로그를 기반으로 생성되는 실제 행동 모델 간의 차이점을 분석하여, 사용성을 저해하는 GUI 이상 징후(Bad symptom) 유무를 판단한다.(e) Bad symptom analyzer 32 detects and identifies some types of usability impediments of mobile applications. The difference between the predicted behavioral model assumed at the design stage and the actual behavioral model generated based on the log collected from the actual user is analyzed to determine the presence or absence of a bad symptom of the GUI that hinders usability.

도 2의 GUI 사용성 저해 요소를 검출하는 도구를 앞서 기술한 도 1에 적용할 경우, 도 1의 S110 단계에 앞서, 모바일 어플리케이션에 대해 설계자 및 복수의 사용자들의 조작에 의한 입력값과 상기 조작의 대상 객체를 매칭하여 미리 사용 로그로 저장하는 단계를 더 포함할 수 있을 것이다. 여기서, 상기 사용 로그 중 상기 조작에 의한 입력값은 터치 좌표, 시간 정보 및 제스처의 종류를 포함하고, 상기 사용 로그 중 상기 조작의 대상 객체는 GUI 식별자를 포함하는 구조 정보인 것이 바람직하다.When the tool for detecting the GUI usability inhibiting element of Fig. 2 is applied to Fig. 1 described above, prior to step S110 of Fig. 1, an input value by manipulation of the designer and a plurality of users for the mobile application, And storing the object as a use log in advance. Here, it is preferable that the input value of the operation log includes the touch coordinates, the time information, and the type of the gesture, and the target object of the operation among the use logs is the structure information including the GUI identifier.

도 3은 본 발명의 일 실시예에 따른 도 2의 검출 도구에서 사용성 저해 요소를 검출하는 과정을 설명하기 위한 도면이다.FIG. 3 is a diagram for explaining a process of detecting a usability inhibiting element in the detection tool of FIG. 2 according to an embodiment of the present invention.

앞서 도 2를 통해 소개된 GUI 사용성 저해 요소를 검출하는 도구의 구성 컴포넌트들 중에서 실제 모바일 앱의 사용성 저해요소 자동 검출 기법의 구현부에 해당되는 컴포넌트는 행동 모델 생성기(31)와 이상 징후 분석기(32)이다. 행동 모델 생성기가 사용자의 터치 로그에 기록된 정보를 기반으로 사용자별 행동 모델을 생성하고 이를 병합하여 하나의 모델을 생성하면, 이상 징후 분석기는 하나로 통합된 사용자 행동 모델(User Behavior Model)과 설계자의 GUI 설계 의도를 표현한 예상 행동 모델(Expected Behavior Model)을 비교하여 상이한 점들로부터 사용성 저해요소를 검출해 낸다.Among the components of the tool for detecting the GUI usability inhibiting element introduced in Fig. 2, the component corresponding to the implementation part of the actual usability-inhibiting element automatic detection method of the mobile app is the behavior model generator 31 and the anomaly symptom analyzer 32 )to be. If the behavior model generator generates a user-specific behavior model based on the information recorded in the user's touch log, and generates a single model by merging the user behavior models, the anomaly symptom analyzer is divided into an integrated user behavior model We compare the Expected Behavior Model expressing GUI design intention and detect usability inhibition elements from different points.

본 기법에서 사용성 저해 요소 검출을 위해 비교 분석 대상이 되는 두 가지 모델인 사용자 행동 모델과 예상행동 모델을 생성하는 방식은 동일할 수 있다. 두 모델 간에 상이한 점은 모델 생성의 소스가 되는 사용자 행위 로그를 발생시키는 주체가 GUI 설계자인지 아니면 실제 사용자인지에 따라 예상 행동 모델과 사용자 행동 모델이 구분된다. GUI 설계자가 자신의 디자인 의도에 따라 예상되는 시나리오에 따라 모바일 앱을 사용하면서 발생되는 행위 로그가 실제 사용자의 모바일 앱 사용 시 감지되는 행위 로그가 일치한다는 것은 GUI 설계자가 실사용자의 요구 사항(Need)을 잘 파악하여 모바일 앱을 설계하였음을 의미한다. 반면, GUI 설계자의 행위 로그로부터 추출된 예상 행동 모델과 실제 사용자 행동 모델이 상이하다는 것은 설계자의 모바일 앱 GUI 설계가 사용자의 경험(User Experience)과는 다른 형태임을 의미한다. 이러한 두 모델 간의 상이한 부분 중에서, 우리는 몇 가지의 공통적인 패턴화 가능한 모바일 앱 사용성 저해 요소의 유형들을 식별해 낼 수 있다.In this technique, two methods of comparison analysis, user behavior model and predictive behavior model, can be used to detect usability inhibition factors. The difference between the two models is that the predictive behavior model and the user behavior model are distinguished by whether the subject generating the user behavior log, which is the source of model generation, is a GUI designer or an actual user. According to the scenario that the GUI designer uses according to his / her design intention, the behavior logs generated when using the mobile app are matched with the log of the actual user's mobile app usage, indicates that the GUI designer needs the actual user ' And designing mobile apps. On the other hand, the fact that the expected behavior model extracted from the behavior log of the GUI designer is different from the actual user behavior model means that the designer's mobile application GUI design is different from the user experience. Of the different parts of these two models, we can identify some common patternable types of mobile app usability hindrances.

이와 같이 모바일 앱 상에 존재하는 사용성 저해 요소는 도 3에 도시된 바와 같이, 크게 세 가지 단계를 거쳐 자동으로 검출 가능하다. 첫째, ① 행위 로그로부터 의미 있는 정보들을 추출하여 행위 모델을 생성하는 단계, 둘째, ② 다수의 사용자 행위 로그부터 생성된 다수의 행위 모델을 하나의 모델로 병합하는 단계, 그리고 마지막으로 ③ 병합된 사용자 모델(320)과 예상 행동 모델(310) 간의 비교를 통해 상이점을 분석하여 사용성 저해요소를 검출하는 단계이다. 이하에서는 각 단계에 대해 도면을 참조하여 보다 구체적으로 기술하도록 한다.As shown in FIG. 3, the usability inhibiting factor existing on the mobile app is automatically detected through three steps. First, (1) extracting meaningful information from the action log to generate a behavioral model, (2) merging a plurality of behavioral models generated from a plurality of user activity logs into one model, and finally (3) And analyzing the difference through comparison between the model 320 and the predicted behavior model 310 to detect usability inhibiting factors. Hereinafter, each step will be described more specifically with reference to the drawings.

(1) 터치 로그로부터 (1) From the touch log 사용자 별By user 행동 모델을 생성 Create a behavioral model

먼저, 도 3을 참조하면, ① 모바일 앱에서 발생하는 이벤트들은 플레이-앤-레코드(Play-and-Record) 방식으로 기록되어 로그로 저장된다. 이때 기록의 단위는 하나의 서비스 시나리오가 될 수 있다. 서비스 시나리오란 특정 서비스 결과물을 제공받기까지 행해지는 사용자와 모바일 앱 간의 상호행동을 시간 순으로 나열한 일련의 흐름을 의미한다.First, referring to FIG. 3, (1) events occurring in a mobile application are recorded in a play-and-record manner and stored as a log. At this time, the recording unit may be one service scenario. Service scenario refers to a sequence of interactions between users and mobile apps in chronological order, until they receive a specific service result.

이제, ①에서 저장된 로그는 개발자가 의도한 행동과 실제 사용자가 행하는 행동 간의 유사도 분석을 위한 유한 상태 다이어그램(Finite State Diagram)을 기반으로 하는 모델 형태로 전환될 수 있다.Now, the log stored in (1) can be converted into a model form based on a Finite State Diagram for analyzing the similarity between the behavior intended by the developer and the behavior performed by the actual user.

사용자와 모바일 앱 간의 상호 작용을 나타내기 위해서는 특정 모바일 앱의 상태를 표현하면서, 사용자의 조작에 반응하여 다른 상태로 어떻게 전이되는지를 표현하는 정형화된 모델이 필요하다. 이를 위해, 본 발명의 실시예들에서는 모바일 앱과 사용자 간의 상호 작용을 모델링하기 위하여 GUI 구성요소의 ID, 터치 좌표의 x, y값, 사용자 이벤트 발생 시간을 나타내는 타임스탬프, GUI 화면 이미지 바이너리 값과 같은 요소들을 추가적으로 표현할 수 있는 모델을 설계하여 AFSM(Augmented Finite State Machine)이라 명명하였다. 어떠한 특정 GUI 객체에 대해 가해지는 사용자의 제스처의 방향성 및 형태를 파악할 수 있으며, 각 이벤트 발생 시 타임스탬프를 기록함으로써 액션 간 소요시간 등을 분석하여 GUI에 잠재적으로 존재하는 문제점 파악에 도움을 줄 수 있다. In order to represent the interaction between a user and a mobile app, a formal model is needed that expresses the state of a specific mobile app and expresses how it transitions to another state in response to a user's manipulation. To this end, in the embodiments of the present invention, in order to model the interaction between the mobile application and the user, the ID of the GUI component, the x and y values of the touch coordinates, the time stamp indicating the user event occurrence time, A model that can express the same elements additionally was designed and named Augmented Finite State Machine (AFSM). It can identify the direction and form of the user's gesture applied to a specific GUI object. By recording the time stamp when each event occurs, it can analyze the time taken between actions to help identify potential problems in the GUI. have.

즉, 본 발명의 실시예들이 채택하고 있는 예상 행동 모델 및 사용자 행동 모델은, 모바일 어플리케이션의 상태를 표현하되, 사용자의 조작에 반응하여 다른 상태로 전이되는 과정을 표현하는 유한 상태 기계(finite state machine) 모델로 설정되는 것이 바람직하다. 이러한, 유한 상태 기계 모델은, 상기 모바일 어플리케이션의 GUI(graphic user interface) 구성 요소의 식별자, 사용자 조작에 의한 입력값 및 사용자 이벤트 발생 시간을 포함할 수 있다.That is, the predictive behavior model and the user behavior model adopted by the embodiments of the present invention include a finite state machine (hereinafter referred to as " finite state machine ") that expresses a state of a mobile application and expresses a process of transitioning to another state in response to a user's operation ) ≪ / RTI > model. The finite state machine model may include an identifier of a graphic user interface (GUI) component of the mobile application, an input value by a user operation, and a user event occurrence time.

도 4는 복수의 사용자 행동 모델을 병합하는 과정을 설명하기 위한 도면으로서, 상단의 두 개의 다이어그램은 서로 다른 두 명의 사용자로부터 수집된 행위로그를 기반으로 생성한 두 개의 서로 다른 AFSM 모델들(user behavior model 1, 2)을 나타내고 있다. 각 전이(Transition) 간에는 발생 이벤트의 명칭(slideup())과 해당 이벤트가 발생한 GUI 컨트롤의 ID(GObj1)등이 표시되어 있으며, 터치 좌표의 x, y값, 사용자 이벤트 발생 시간을 나타내는 타임스탬프, GUI 화면 이미지 바이너리 값 등이 추가적인 정보로 포함되어 있다.FIG. 4 is a diagram for explaining a process of merging a plurality of user behavior models. The two diagrams at the top are two different AFSM models created based on an action log collected from two different users model 1, 2). The name of the occurrence event (slideup ()) and the ID (GObj1) of the GUI control in which the event occurred are displayed between each transition. The x and y values of the touch coordinates, the time stamp indicating the user event occurrence time, GUI screen image binary values, etc. are included as additional information.

(2) 사용자 행동 모델의 병합(2) Merge user behavior model

동일하게 설계된 모바일 앱이라 하더라도 사용자의 사용 방식은 개인별로 상이하다. 따라서, 동일한 서비스 시나리오를 수행하는 사용자 행동 모델들은 행동 주체인 개인의 특성이 반영되어 모두 각기 다른 형태의 AFSM 모델로 표현된다. 이렇게 생성된 다수의 서로 다른 사용자 행동 모델은 부분적으로 서로 달라 보일지라도, 실제 포함하고 있는 행동 자체는 동치관계에 있을 수 있다. 각 사용자들이 아닌 전체 사용자들의 행동 대변하기 위해서는 예상 행동 모델과의 비교분석에 앞서 여러 개의 사용자 행동 모델을 병합하여 하나의 모델로 통합하는 작업이 필요하다. Even with the same designed mobile apps, the way users use them varies from person to person. Therefore, the user behavior models that perform the same service scenario are represented by different types of AFSM models, reflecting the characteristics of individuals as the subject of action. Although a number of different user behavior models generated in this way may partially differ from each other, the actual behavior that they contain may be in an equivalence relationship. In order to represent behaviors of all users rather than individual users, it is necessary to merge several user behavior models into a single model before comparing with the expected behavior model.

유한 상태 기계(Finite State Machine, FSM)들 간의 동치 관계를 파악하여, 여러 개의 유한 상태 기계를 하나의 유한 상태 기계로 병합하는 알고리즘으로서, 예를 들어 Gk-tail 알고리즘이 활용 가능하다. Gk-tail 알고리즘의 경우, 특정 소프트웨어 시스템에 국한되지 않고, 일반적인 유한 상태 기계 모델들을 하나로 병합 가능하다는 점에서, 본 발명의 실시예들을 통해 모바일 앱 사용자 행위 모델 표현법으로 확장시킨 AFSM의 병합에 적용 가능한 알고리즘으로 선택하였다. Gk-tail 알고리즘은 두 개의 서로 다른 유한 상태 기계(Finite State Model) 모델을 비교하여 서로 동치인 상태전이(Transition) 부분을 찾아낸 후, k 값이 지시하는 병합 모델의 마지막 상태전이를 순차적으로 유한 상태 기계에 추가해 나가면서 하나의 병합 모델을 완성해 나간다. 본 발명의 실시예들이 제안하는 AFSM 역시 기본적인 유한 상태 기계의 확장된 표현 방법이므로 Gk-tail 알고리즘 적용이 가능하다.For example, the Gk-tail algorithm can be used as an algorithm that grasps the equivalence relation between finite state machines (FSMs) and merges several finite state machines into one finite state machine. In the case of the Gk-tail algorithm, the present invention is not limited to a specific software system but can be applied to the merging of AFSM extended to the mobile app user behavior model expression method through the embodiments of the present invention in that general finite state machine models can be merged into one. Algorithm. The Gk-tail algorithm compares two different Finite State Model models and finds the equivalent transition state. Then, the final state transition of the merge model indicated by the k value is sequentially finite We add to the machine and complete a single merge model. The AFSM proposed by embodiments of the present invention is also an extended representation method of a basic finite state machine, so that the Gk-tail algorithm can be applied.

도 4는 두 명의 사용자로부터 수집된 로그를 기반으로 생성된 두 개의 사용자 행동 모델을 Gk-tail 알고리즘을 적용하여 병합해 나가는 과정을 예시하고 있다. 먼저, 두 개의 AFSM의 상태전이를 비교해 나가면서 동일한 상태전이(동일한 GUI 객체에 동일한 이벤트 발생)를 검색해 나간다.FIG. 4 illustrates a process of merging two user behavior models generated based on logs collected from two users by applying a Gk-tail algorithm. First, we compare the state transitions of two AFSMs and look for the same state transition (the same event occurs in the same GUI object).

예를 들어, 그림 3의 GOjb1.slideDown() 이벤트와 GObj2.touch() 이벤트가 두 AFSM 모델(사용자 행동 모델 1과 사용자 행동 모델 2)에서 중복되어 검출되면, 동일한 상태 전이 흐름의 첫 번째 상태(State)의 k 값을 1로 설정한다. 도 4의 사용자 행동 모델 1의 ⑧번 상태와 사용자 행동 모델 2의 ③번 상태가 각각 k 값이 1로 설정되었음을 알 수 있다. k=1로 설정된 ⑧번과 ③번 상태에서 ⑨번, ④번 상태로의 전이를 일으키는 이벤트와 이벤트가 발생되는 객체가 일치할 경우, k 값을 1씩 증가해 나가면서 다음 상태로 비교하면서 이동해 나간다. 도 4의 경우, 이러한 AFSM 모델 순회(Traverse)가 k=3까지 진행됨을 알 수 있다. k 값이 1에서 3까지 전이가 일치한 상태들(사용자 행동 모델 1의 ⑦, ⑧, ⑨ 번 상태와 사용자 행동 모델 2의 ③, ④, ⑤번 상태)은 동치 상태로 단일한 하나의 상태로 각각 병합된다.For example, if the GOjb1.slideDown () and GObj2.touch () events in Figure 3 are duplicated in both AFSM models (User Behavior Model 1 and User Behavior Model 2), the first state of the same state transition flow State) is set to 1. It can be seen that the state of the ⑧ of the user behavior model 1 of Fig. 4 and the state of ③ of the user behavior model 2 are set to 1, respectively. If the event causing the transition from ⑧ and ③ to ⑨ and ④ and the object that generates the event coincide with each other, increase k value by 1 and move to the next state I'm going. In the case of FIG. 4, it can be seen that this AFSM model traverse proceeds to k = 3. (states ⑦, ⑧, and ⑨ of User Behavior Model 1 and ③, ④, and ⑤ state of User Behavior Model 2) in which the k values transition from 1 to 3 coincide with each other Respectively.

그러나 k=3 이후의 전이는 각 모델에서 서로 다른 이벤트 발생에 의한 전이들이다. 따라서, 서로 다른 전이에 의해 도달할 수 있는 상태인 사용자 행동 모델 1의 ⑪번 상태와 사용자 행동 모델 2의 ⑥번 상태는 하나로 병합할 수 없다. 이러한 서로 다른 상태는 병합된 모델의 ⑤번 상태에서 전이 가능한 서로 다른 상태로 각각 추가되며, ⑤번 상태에서 다음 상태로 ⑥번 상태와 ⑪번 상태 중 어떤 상태로 전이가 일어날지는 발생하는 이벤트에 따라 결정된다. However, the transition after k = 3 is a transition due to different event occurrences in each model. Therefore, the states ⑪ and ⑥ of the user behavior model 1 and the behavior behavior model 2, which can be reached by different transitions, can not be merged into one state. These different states are added to different states that can be transitioned from state ⑤ of the merged model, respectively, and transition from state ⑤ to state next to state ⑥ and state ⑪, .

이와 같이 Gk-tail 알고리즘을 사용자 행동 모델 병합에 반복적으로 적용함으로써, n명의 서로 다른 사용자들로부터 추출된 n개의 행동 모델을 하나의 행동 모델로 나타낼 수 있다.By repeatedly applying the Gk-tail algorithm to the merging of user behavior models, n behavioral models extracted from n different users can be represented as one behavioral model.

요약하건대, 본 발명의 실시예들에 따른 GUI 사용성 저해 요소의 검출 방법은, 추출된 상기 사용자 행동 모델을 비교하여 상기 사용자 행동 모델에 포함된 개별 행동이 서로 동치인 상태전이(transition) 부분을 검출하고, 복수의 사용자 행동 모델로부터 검출된 상태전이 부분을 하나의 사용자 행동 모델에 순차적으로 추가함으로써, 병합된 하나의 사용자 행동 모델을 생성할 수 있다.In summary, a method for detecting a GUI usability inhibiting element according to embodiments of the present invention includes a step of comparing extracted user behavior models to detect a state transition part in which individual behaviors included in the user behavior model are equivalent to each other And a state transition portion detected from a plurality of user behavior models is sequentially added to one user behavior model to generate a merged one user behavior model.

(3) 모바일 앱 사용성을 저해하는 이상 징후 검출(3) Detection of anomalies that impair the usability of mobile apps

사용자 행동 모델들이 하나로 통합되면 개발자의 설계 의도를 포함하고 있는 예상 행동 모델과 사용자 행동 모델을 비교 분석하여 사용성 저해요소를 검출한다. 단순히 두 모델 간의 차이점이 발견된 부분을 앱 상에 존재하는 사용성 저해 요소로 판별하지는 않는다.When the user behavior models are integrated into one, the usability inhibition elements are detected by comparing and analyzing the expected behavior model and the user behavior model including the design intention of the developer. It does not simply determine the difference between the two models as a usability hurdle on the app.

본 발명의 실시예들에서는 자동 검출이 가능한 모바일 앱 사용성을 저해하는 이상 징후들의 유형을 정의하기 위하여, 오픈소스 앱의 개발자 커뮤니티에 등록된 GUI 관련 이슈들을 분석하여 그룹화하였다. 그 중에서 사용자 행동 모델과 예상 행동 모델 간의 비교 분석을 통해, 자동 검출이 가능한 4가지 유형의 사용성 저해 이상 징후들을 다음과 같이 정의하였다.Embodiments of the present invention have analyzed and grouped GUI related issues registered in the developer community of open source apps in order to define the types of anomalies that would impair mobile application usability that can be detected automatically. Four types of usability disturbance abnormalities that can be detected automatically are defined as follows, through comparison analysis between user behavior model and expected behavior model.

- 이상 징후 1: 예상치 못한 행동 흐름- Abnormal Signs 1: Unexpected Behavior Flow

- 이상 징후 2: GUI 컨트롤에 구현되지 않은 이벤트 발생 - Anomalous Signals 2: Events not implemented in the GUI control

- 이상 징후 3: 반복적으로 수행되는 상태전이- abnormal symptom 3: repetitive state transition

- 이상 징후 4: 예상 수행 시간 초과- Abnormal symptom 4: Exceeded expected execution time

이 같은 4가지 유형의 이상 징후들을 검출하기 위한 알고리즘을 의사 코드(pseudo-code)로 나타내면 도 5와 같다. An algorithm for detecting these four types of abnormal symptoms is shown in Fig. 5 by pseudo-code.

도 5를 참조하면, AFSM 모델로 표현된 설계자의 의도를 표현한 행동 모델인 예상 행동 모델(ebm)과 여러 명의 사용자로부터 추출된 AFSM 모델들을 하나로 병합한 사용자 행동 모델(ubm)을 각각 인자로 받아들여, 두 모델들 간에 존재하는 차이(diff)를 이상 징후 유형 별로 검출하기 위한 알고리즘이 각각 유형별로 표현되어 있다.Referring to FIG. 5, a predictive behavior model (ebm) representing a designer's intention expressed in an AFSM model and a user behavior model (ubm) combining a plurality of AFSM models extracted from a plurality of users into a single factor , And an algorithm for detecting a difference between two models according to anomalous symptom types are represented by types.

요약하건대, 본 발명의 실시예들에 따른 GUI 사용성 저해 요소의 검출 과정은, 설계 의도를 나타내는 상기 예상 행동 모델과 실제 사용자의 행동을 나타내는 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목을 도출하고, 상기 차이점이 발생한 항목이 미리 정의된 사용자 저해 이상 징후에 해당하는지 여부를 검사하며, 검사 결과에 따라 상기 차이점 발생한 항목을 사용자 저해 요소로 선택적으로 출력하는 것이 바람직하다. 여기서, 상기 미리 정의된 사용자 저해 이상 징후는, 설계자가 예상하지 못한 행동의 흐름, GUI 컨트롤에 구현되지 않은 이벤트의 발생, 반복적으로 수행되는 상태전이 및 예상 수행 시간의 초과 중 적어도 하나를 포함하는 것이 바람직하다.In summary, the process of detecting the GUI usability inhibiting element according to the embodiments of the present invention includes comparing the predictive behavior model indicating the design intention with the user behavior model indicating the behavior of the actual user, It is preferable to check whether or not the item where the difference occurs corresponds to a predefined user disturbance abnormality and selectively output the difference occurrence item as a user inhibiting element according to the inspection result. Here, the predefined user disturbance abnormality indication may include at least one of a flow of unexpected behavior of the designer, the occurrence of an event not implemented in the GUI control, a state transition that is repeatedly performed, and an excess of the expected execution time desirable.

이제, 앞서 정의한 4가지 유형의 모바일 앱의 사용성을 저해하는 이상 징후를 검출하기 위한 알고리즘을 간단한 예제 모바일 앱을 대상으로 설명하면, 다음과 같다. Now, let's look at a simple example mobile app for an algorithm for detecting anomalies that hinders the usability of the four types of mobile apps defined above.

도 6a 및 도 6b는 GUI 이상 징후를 검출하는 과정을 예시한 도면으로서, 오픈소스 원격 리모컨 컨트롤러 모바일 앱 중 하나인 MyRemocn을 통해 원격으로 조작 가능한 새로운 기기를 등록하고 리모콘의 설정을 수정하기까지, GUI 설계자가 예상한 행동 모델과 실제 사용자 행동 모델의 단편을 보여준다. 도 6a의 예상 행동 모델은 ProductList 컨트롤에서 slideDown 액션을 수행한 후, EditButton 컨트롤에서 touch 액션을 수행하는 형태를 지니고 있다. 도 6b의 병합된 사용자 행동 모델은 앞서 도 4를 통해 소개한 병합 과정을 거쳐서 생성된 행동 모델이다. 각 상태 간 전이는 터치 좌표, 액션 정보를 포함하고 있다. 또한 각 상태마다 기록된 타임스탬프는 사용자별 평균 타임스탬프를 기록하였다. 6A and 6B are diagrams illustrating a process of detecting a GUI anomaly. In FIG. 6A and FIG. 6B, a new device that can be operated remotely is registered through MyRemocn, which is one of open source remote controller controller mobile apps, Shows a fragment of the behavioral model that the designer expected and the actual user behavioral model. The predictive behavior model of Figure 6A has a form that performs a slideDown action on the ProductList control and then a touch action on the EditButton control. The merged user behavior model of FIG. 6B is a behavior model generated through the merge process introduced in FIG. The transition between each state includes touch coordinates and action information. Also, the recorded time stamp for each state recorded the average time stamp per user.

도 6a 및 도 6b에 예시된 예상 행동 모델과 실제 사용자 행동 모델 간의 상이점과 각각의 상이점으로부터 감지 가능한 이상 징후의 유형들은 다음과 같다.The differences between the predicted behavior models and the actual user behavior models illustrated in FIGS. 6A and 6B and the types of anomalous signs that can be detected from each of the differences are as follows.

3-1) 이상 징후 1: 예상치 못한 행동 흐름3-1) Abnormal Signs 1: Unexpected Behavior Flow

GUI 설계자가 기대한 예상 행동 모델 상에서의 행동 흐름은 상태 ①부터 ③까지 순차적으로 진행되지만, 실제 사용자들의 행동 모델을 병합한 결과 22%의 사용자 행동모델에서 상태 ① → 상태 ⑤ → 상태 ③에 이르는 예상되지 않은 행동 흐름이 감지되었고, 또 다른 47%의 사용자 역시 상태 ① → 상태 ⑧ → 상태 ③으로의 예상되지 않은 행동 흐름을 보였다. 다시 말해, 이벤트 로그 수집 대상인 전체 사용자의 69%가 도 6a에 정의된 설계자가 의도한 예상 행위 모델에는 정의되지 않은 행동 흐름을 보였다. 어느 정도의 이상 징후 발견 확률 값을 사용성 저해 요소 검출의 임계값으로 정해야 할 것인지는 논의에 의해 결정될 문제이지만, 통상적으로 50% 이상의 사용자가 설계 의도와 다른 행위를 보인다는 것은 50% 이상의 사용자가 해당 앱을 사용하는 데 있어서 불편함을 느끼고 있다는 것을 의미하므로 해결되어야 할 이슈로 판단 가능하다.The behavioral flow on the predicted behavioral model expected by the GUI designer progresses sequentially from the state ① to ③, but as a result of merging the behavioral model of the actual users, the predicted behavior from the state ① → state ⑤ → state ③ in the 22% , And another 47% of users showed unexpected behavior flow from state 1 → state 8 to state 3. In other words, 69% of all users targeted for event log collection showed an undefined behavioral flow in the predicted behavioral model intended by the designer as defined in Figure 6a. Although it is a matter to be determined by the discussion that a certain degree of abnormality detection probability value should be set as a threshold value for detection of usability inhibition factor, 50% or more users usually show different behavior from the design intention, It is possible to judge it as an issue to be solved.

3-2) 이상 징후 2: GUI 컨트롤에 구현되지 않은 이벤트 발생3-2) Anomalous Signals 2: Events not implemented in the GUI control

도 6a의 예상 행동 모델에서 정의된 이벤트는 ProductList 컨트롤에서 발생하는 slideDown() 이벤트와 EditButton 컨트롤에서 발생하는 touch() 이벤트, 두 가지이다. 그러나, 사용자 행동 모델에서는 이미 이상 징후 1에서 감지되었던 정의되지 않은 행동 흐름 상의 전이를 유발하는 ProductList.slideUp(), Zoom.touch(), 등의 GUI 모델 상에 포함되어 있지 않은 이벤트를 사용자가 발생시키고 있음을 알 수 있다. 이 같은 이상 징후 유형이 감지될 경우, 사용자 행동 모델에 포함된 이벤트에 대한 추가적인 구현을 고려해야 할 필요가 있다.The events defined in the predictive behavior model of Figure 6A are two: the slideDown () event that occurs in the ProductList control and the touch () event that occurs in the EditButton control. However, in the user behavior model, an event not included in the GUI model, such as ProductList.slideUp (), Zoom.touch (), etc., which causes the transition on the undefined behavior flow already detected in the abnormality symptom 1, . If such anomalous symptom types are detected, then additional implementations of the events included in the user behavioral model need to be considered.

3-3) 이상 징후 3: 반복적으로 수행되는 상태전이3-3) Symptom 3: Repetitive state transition

도 6a의 예제에서는 상태 ①에서 상태⑧로의 전이 후 상태⑧에서 Zoom.touch() 이벤트를 계속해서 발생시키는 사용자가 61%임을 알 수 있다. 이같이 사용자가 동일한 이벤트를 계속해서 발생시킨다는 것은 사용자가 기대하는 서비스가 모바일 앱에서 제대로 제공되고 있지 않음을 의미한다. 이와 같은 이상 징후 3의 경우, 해결을 위해 단순한 GUI 설계의 조정 외에도 실제 모바일 앱 서비스 로직 상에 오류가 없는지 검토해야 할 필요가 있다.In the example of FIG. 6A, it can be seen that the user who continuously generates the Zoom.touch () event in the state after transition from state 1 to state 8 is 61%. This means that users will continue to generate the same event, which means that the services they expect are not being served properly in mobile apps. In the case of such anomalous symptom 3, it is necessary to review not only the adjustment of the GUI design but also the error in the actual mobile app service logic.

3-4) 이상 징후 4: 예상 수행시간 초과3-4) Symptom 4: Exceeded expected execution time

예상 행동모델과 사용자 행동모델 중 동치인 상태 간의 전이 집합을 저장한다. 동치 관계인 예상 행동 모델의 상태전이의 총 소요 시간보다 사용자 행동 모델의 총 소요 시간이 임계치(예를 들어, 2배로 설정될 수 있다) 이상 소요될 경우, 네 번째 유형인 예상 수행시간 초과 이상 징후가 감지된 것으로 판단한다. 도 6a 및 도 6b의 예제 상에서는 상태 ① → 상태 ② → 상태 ③에 이르는 동치 전이 수행 시간이 예상 행동 모델의 경우 2743 ms인데 반해, 실제 사용자들이 수행한 평균수행시간은 5423.19 ms이다. n개의 서로 다른 전이흐름을 통해 도달 가능한 상태의 타임스탬프 값은 각 전이 흐름을 통한 도달시간의 평균값 n개 중 최소값을 채택한다. 상태 ③에 도달 가능한 세 가지 전이 흐름을 통한 평균 도달시간 중 최소값인 5423.19 ms는 예상 행동 모델에서의 상태 ③까지의 도달 시간인 2743 ms의 2배를 초과하는 값이므로 이상 징후 4가 감지된 것으로 판단 가능하다. 이상 징후 4의 원인은 GUI 설계가 사용자의 입장에서 이해하기 어렵게 구성되어 있기 때문일 수도 있으며, 이상 징후 3과 마찬가지로 실제 구현상의 오류로 인한 서비스 지연이 원인이 될 수 있다.It stores the transition set between the expected behavior model and the equivalent state of the user behavior model. If the total time taken by the user behavior model exceeds the threshold (for example, can be set to 2 times) than the total time required for the state transition of the expected behavior model, the fourth type of expected execution time exceeded abnormality is detected . In the examples of FIGS. 6A and 6B, the equivalent execution time from state 1 → state 2 → state 3 is 2743 ms for the predicted behavior model, while the average execution time performed by the actual users is 5423.19 ms. The timestamp value of a state reachable through n different transition flows adopts the smallest of n average values of arrival times through each transition flow. The minimum value of 5423.19 ms among the average arrival times through the three transition flows reaching the state ③ is more than twice the reaching time of 2743 ms, which is the arrival time from the expected behavior model to the state ③, so it is judged that the anomalous symptom 4 is detected It is possible. The cause of the abnormality 4 may be that the GUI design is configured to be difficult for the user to understand, and as in the case of the abnormality 3, the service delay due to the actual implementation error may be caused.

요약하건대, 본 발명의 실시예들에 따른 모바일 어플리케이션의 사용성 저해 요소 분석 방법에서, 상기 사용자 행동 모델에서 상기 예상 행동 모델에 포함되지 않은 행동 또는 상태전이가 발생할 경우 상기 설계자가 예상하지 못한 행동의 흐름이 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 상기 예상 행동 모델이 정의하지 않은 상태전이를 유발하는 제어 이벤트가 발생할 경우 상기 GUI 컨트롤에 구현되지 않은 이벤트가 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 동일한 이벤트가 발생하는 횟수를 계수함으로써 상기 반복적으로 수행되는 상태전이를 판단하며, 상기 예상 행동 모델과 상기 사용자 행동 모델 중 동치인 상태 간의 전이 집합에 대하여 동치 관계인 예상 행동 모델의 상태전이의 총 소요시간보다 사용자 행동 모델의 총 소요시간이 임계값 이상으로 소요되는지 여부를 검사함으로써 상기 예상 수행 시간의 초과를 판단할 수 있다.In summary, in a method of analyzing a usability-inhibiting element of a mobile application according to embodiments of the present invention, when a behavior or a state transition not included in the expected behavior model occurs in the user behavior model, The control unit determines that an event not implemented in the GUI control is detected when a control event causing the state transition not defined by the predictive behavior model occurs in the user behavior model, Wherein the total number of occurrences of the same event is judged by counting the number of occurrences of the same event, and the total transition time of the state transition of the predicted behavior model, which is an equivalence relation to the transition set between the predicted behavior model and the state equivalent to the user behavior model, The total number of user behavior models It is possible to determine whether the expected execution time is exceeded by checking whether the required time is longer than a threshold value.

도 7은 본 발명의 일 실시예에 따른 사용자 행위 로그를 이용한 모바일 어플리케이션의 사용성 저해 요소 분석 장치(100)를 도시한 블록도로서, 앞서 기술한 도 1의 일련의 과정에 대응하는 기능을 수행하는 구성 요소를 포함하고 있으므로, 여기서는 설명의 중복을 피하고자 장치 간의 연결 관계를 중심으로 각 구성 요소의 기능을 약술하도록 한다.FIG. 7 is a block diagram illustrating an apparatus 100 for analyzing usability elements of a mobile application using a user activity log according to an exemplary embodiment of the present invention. The apparatus 100 performs functions corresponding to the series of processes shown in FIG. 1 And therefore, the function of each component is outlined here, focusing on the connection relationship between the devices in order to avoid duplication of explanation.

입력부(10)는, 모바일 어플리케이션(mobile application)에 대해 설계자 및 복수의 사용자들로부터 각각 사용 로그(log)를 수집하는 수단이다.The input unit 10 is means for collecting usage logs from a designer and a plurality of users for a mobile application.

메모리(20)는, 모바일 어플리케이션의 사용성 저해 요소를 분석하는 프로그램을 저장하는 수단으로서, 상기 메모리에 저장된 프로그램은, 상기 설계자로부터 수집된 사용 로그(log)로부터 예상 행동 모델(expected behavior model)을 추출하고, 상기 복수의 사용자들로부터 수집된 사용 로그로부터 각각 사용자 행동 모델을 추출하고, 추출된 상기 사용자 행동 모델에 포함된 개별 행동 간의 동치 관계를 탐색하여 하나의 사용자 행동 모델로 병합하며, 추출된 상기 예상 행동 모델과 병합된 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목으로부터 사용성 저해 요소를 검출하는 일련의 명령어를 포함한다.The memory (20) stores means for storing a program for analyzing a usability-inhibiting element of the mobile application, wherein the program stored in the memory extracts an expected behavior model from a usage log collected from the designer Extracts a user behavior model from each usage log collected from the plurality of users, searches for an equivalence relationship between individual behaviors included in the extracted user behavior model, merges the same into one user behavior model, And a series of commands for comparing the predicted behavior model with the user behavior model merged to detect the usability inhibiting element from the occurrence of the difference.

여기서, 상기 예상 행동 모델 및 상기 사용자 행동 모델은, 모바일 어플리케이션의 상태를 표현하되, 사용자의 조작에 반응하여 다른 상태로 전이되는 과정을 표현하는 유한 상태 기계(finite state machine) 모델로 설정될 수 있으며, 상기 유한 상태 기계 모델은, 상기 모바일 어플리케이션의 GUI(graphic user interface) 구성 요소의 식별자, 사용자 조작에 의한 입력값 및 사용자 이벤트 발생 시간을 포함하는 것이 바람직하다.Here, the predicted behavior model and the user behavior model may be set as a finite state machine model expressing a state of a mobile application, and expressing a process of transitioning to another state in response to a user's operation , The finite state machine model may include an identifier of a graphic user interface (GUI) component of the mobile application, an input value by a user operation, and a user event occurrence time.

또한, 상기 메모리(20)에 저장된 프로그램은, 추출된 상기 사용자 행동 모델을 비교하여 상기 사용자 행동 모델에 포함된 개별 행동이 서로 동치인 상태전이(transition) 부분을 검출하고, 복수의 사용자 행동 모델로부터 검출된 상태전이 부분을 하나의 사용자 행동 모델에 순차적으로 추가함으로써, 상기 하나의 사용자 행동 모델로 병합할 수 있다.In addition, the program stored in the memory 20 may be configured to compare the extracted user behavior models to detect a state transition portion where the individual behaviors included in the user behavior model are equivalent to each other, The detected state transition portions may be sequentially added to one user behavior model to be merged into the one user behavior model.

나아가, 상기 메모리(20)에 저장된 프로그램은, 설계 의도를 나타내는 상기 예상 행동 모델과 실제 사용자의 행동을 나타내는 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목을 도출하고, 상기 차이점이 발생한 항목이 미리 정의된 사용자 저해 이상 징후에 해당하는지 여부를 검사하며, 검사 결과에 따라 상기 차이점 발생한 항목을 사용자 저해 요소로 선택적으로 출력함으로써, 상기 사용성 저해 요소를 검출할 수 있다. 특히, 상기 미리 정의된 사용자 저해 이상 징후는, 설계자가 예상하지 못한 행동의 흐름, GUI 컨트롤에 구현되지 않은 이벤트의 발생, 반복적으로 수행되는 상태전이 및 예상 수행 시간의 초과 중 적어도 하나를 포함할 수 있다. 만약, 상기 사용자 행동 모델에서 상기 예상 행동 모델에 포함되지 않은 행동 또는 상태전이가 발생할 경우 상기 설계자가 예상하지 못한 행동의 흐름이 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 상기 예상 행동 모델이 정의하지 않은 상태전이를 유발하는 제어 이벤트가 발생할 경우 상기 GUI 컨트롤에 구현되지 않은 이벤트가 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 동일한 이벤트가 발생하는 횟수를 계수함으로써 상기 반복적으로 수행되는 상태전이를 판단하며, 상기 예상 행동 모델과 상기 사용자 행동 모델 중 동치인 상태 간의 전이 집합에 대하여 동치 관계인 예상 행동 모델의 상태전이의 총 소요시간보다 사용자 행동 모델의 총 소요시간이 임계값 이상으로 소요되는지 여부를 검사함으로써 상기 예상 수행 시간의 초과를 판단할 수 있다.Further, the program stored in the memory 20 may be obtained by comparing the predictive behavior model indicating the design intention and the user behavior model indicating the behavior of the actual user to derive an item in which the difference occurs, And the usability inhibiting element can be detected by selectively outputting the difference occurrence item as a user inhibition element according to the inspection result. In particular, the predefined user disturbance anomaly may include at least one of a flow of unexpected behavior of the designer, the occurrence of an event not implemented in the GUI control, a state transition that is repeatedly performed, and an excess of the expected execution time have. If a behavior or a state transition not included in the predictive behavior model occurs in the user behavior model, the designer determines that a flow of an unexpected behavior has been detected. In the user behavior model, Determining that an event that is not implemented in the GUI control is detected when a control event that causes a state transition that does not occur, and determining the repetition of the state transition by counting the number of times the same event occurs in the user behavior model , Checking whether the total time required for the user behavior model to exceed the threshold value is greater than the total time required for the state transition of the expected behavior model, which is an equivalent relationship between the predictive behavior model and the transition state between the states equivalent to the user behavior model Exceeding the expected performance time It can be determined.

처리부(30)는, 적어도 하나의 프로세서(processor)를 구비하여 상기 메모리(20)에 저장된 사용성 저해 요소를 분석하는 프로그램을 구동하는 수단으로서, 별도의 디스플레이부(50)를 통해 분석 결과를 출력할 수 있다.The processing unit 30 includes at least one processor and is a means for driving a program for analyzing a usability inhibiting factor stored in the memory 20 and outputs an analysis result through a separate display unit 50 .

한편, 본 발명의 일 실시예에 따른 사용자 행위 로그를 이용한 모바일 어플리케이션의 사용성 저해 요소 분석 장치(100)는, 모바일 어플리케이션에 대해 설계자 및 복수의 사용자들의 조작에 의한 입력값과 상기 조작의 대상 객체를 매칭하여 미리 사용 로그로 저장하는 저장부(15)를 더 포함할 수 있다. 구현의 관점에서, 상기 사용 로그 중 상기 조작에 의한 입력값은 터치 좌표, 시간 정보 및 제스처의 종류를 포함하고, 상기 사용 로그 중 상기 조작의 대상 객체는 GUI 식별자를 포함하는 구조 정보인 것이 바람직하다.Meanwhile, an apparatus 100 for analyzing a usability-inhibiting element of a mobile application using a user activity log according to an embodiment of the present invention includes an input value by an operation of a designer and a plurality of users, And a storage unit 15 for storing the log in advance as a use log. From the viewpoint of the implementation, it is preferable that the input value by the operation among the use log includes the touch coordinates, the time information and the kind of the gesture, and the target object of the operation among the use logs is the structure information including the GUI identifier .

모바일 앱은 웹 어플리케이션과 비교하여 다양한 디바이스에 다양한 사용자 제스쳐를 통해 서비스를 제공할 수 있다는 장점을 가지고 있으나, 사용자의 의도를 정확히 파악하여 설계되지 못한 GUI는 사용자로 하여금 원하는 서비스를 제공받는 데 있어서 불편함을 초래할 수 있다. 이러한 문제를 해결하기 위하여 실제로 서비스 기능 개발 시간과 비교하여 비교적 많은 개발 인력과 시간이 GUI 사용성 테스트에 할애되고 있다. 그러나, GUI 사용성 테스트 결과에 기록된 사용성 관련 이슈들 중 상당 부분은, 몇 가지의 정형화된 검출 기법을 통해 자동 검출이 가능함에 주목하였다.Mobile apps have an advantage in that they can provide services through various user gestures to various devices as compared with web applications. However, GUIs that can not be designed by grasping the intention of the user accurately are inconvenient for users to receive desired services . In order to solve this problem, a relatively large amount of development manpower and time are actually devoted to the GUI usability test as compared with the service function development time. However, much of the usability-related issues recorded in the GUI usability test results noted that automatic detection was possible through some formal detection technique.

상기된 본 발명의 실시예들에 따르면, 사용자 행위 로그를 유한 상태 모델로 표현하고 여러 명의 사용자로부터 추출된 사용자 행위 모델을 병합하여 설계자의 의도가 반영된 예상 행위 모델과 비교함으로써, 체계적으로 모바일 앱의 GUI 모델상에 잠재된 사용성 저해 요소를 검출하는 것이 가능하다. 또한, 본 발명의 실시예들은 자동 검출이 가능한 모바일 앱의 사용성 저해 요소의 유형을 식별하고, 사용자 로그 분석을 통해 저해 요소들을 자동으로 검출해 냄으로써, 기존 개발자들이 사용성 오류 검출을 위해 행해왔던 반복적인 테스트 작업의 부담을 크게 감소시킬 수 있다.According to the embodiments of the present invention described above, a user behavior log is expressed as a finite state model, and a user behavior model extracted from a plurality of users is merged to be compared with a predictive behavior model reflecting a designer's intention, It is possible to detect potential usability inhibiting factors on the GUI model. In addition, embodiments of the present invention can identify types of usability impediments of mobile apps that are capable of automatic detection and automatically detect inhibiting factors through user log analysis, The burden of the test work can be greatly reduced.

한편, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 이 때, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.Meanwhile, the embodiments of the present invention can be embodied as computer readable codes on a computer readable recording medium. At this time, the computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.

컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily deduced by programmers skilled in the art to which the present invention belongs.

이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described above with reference to various embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

100: 모바일 어플리케이션의 사용성 저해 요소를 분석하는 장치
10: 입력부, 프로브
11: 멍키러너 12: 계층 뷰어
15: 저장부, 터치 로그 저장소 및 뷰 저장소
20: 메모리
30: 처리부
31: 행동 모델 생성기 32: 이상 증후 분석기
50: 디스플레이부
100: A device for analyzing the usability impediment of mobile applications
10: input part, probe
11: Monkey Runner 12: Layer Viewer
15: Storage, touch log storage and view storage
20: Memory
30:
31: behavioral model generator 32: abnormal symptom analyzer
50:

Claims (19)

적어도 하나의 프로세서(processor)를 구비하여 모바일 어플리케이션(mobile application)의 사용성 저해 요소를 분석하는 방법에 있어서,
모바일 어플리케이션에 대해 설계자로부터 수집된 사용 로그(log)로부터 예상 행동 모델(expected behavior model)을 추출하는 단계;
상기 모바일 어플리케이션에 대해 복수의 사용자들로부터 수집된 사용 로그로부터 각각 사용자 행동 모델을 추출하는 단계;
추출된 상기 사용자 행동 모델에 포함된 개별 행동 간의 동치 관계를 탐색하여 하나의 사용자 행동 모델로 병합하는 단계; 및
추출된 상기 예상 행동 모델과 병합된 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목으로부터 설계자가 예상하지 못한 행동의 흐름, GUI 컨트롤에 구현되지 않은 이벤트의 발생, 반복적으로 수행되는 상태전이 및 예상 수행 시간의 초과 중 적어도 하나를 포함하여 미리 정의된 사용자 저해 이상 징후를 참조함으로써 사용성 저해 요소를 검출하는 단계를 포함하며,
상기 사용성 저해 요소를 검출하는 단계는,
상기 사용자 행동 모델에서 상기 예상 행동 모델에 포함되지 않은 행동 또는 상태전이가 발생할 경우 상기 설계자가 예상하지 못한 행동의 흐름이 검출된 것으로 판단하고,
상기 사용자 행동 모델에서 상기 예상 행동 모델이 정의하지 않은 상태전이를 유발하는 제어 이벤트가 발생할 경우 상기 GUI 컨트롤에 구현되지 않은 이벤트가 검출된 것으로 판단하고,
상기 사용자 행동 모델에서 동일한 이벤트가 발생하는 횟수를 계수함으로써 상기 반복적으로 수행되는 상태전이를 판단하며,
상기 예상 행동 모델과 상기 사용자 행동 모델 중 동치인 상태 간의 전이 집합에 대하여 동치 관계인 예상 행동 모델의 상태전이의 총 소요시간보다 사용자 행동 모델의 총 소요시간이 임계값 이상으로 소요되는지 여부를 검사함으로써 상기 예상 수행 시간의 초과를 판단하는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 방법.
A method for analyzing a usability-impairment factor of a mobile application by having at least one processor,
Extracting an expected behavior model from a usage log collected from a designer for a mobile application;
Extracting a user behavior model from usage logs collected from a plurality of users for the mobile application;
Searching for an equivalence relationship between the individual behaviors included in the extracted user behavior model and merging the same into one user behavior model; And
Comparing the extracted predicted behavior model with the user behavior model that is merged to determine a flow of unexpected behavior of the designer from the item where the difference occurs, occurrence of an event not implemented in the GUI control, a state transition performed repetitively, Detecting a usability impairment element by referring to a predefined user disturbance abnormality indication including at least one of the abnormality of the user,
Wherein the step of detecting the usability inhibiting element comprises:
When the behavior or state transition not included in the expected behavior model occurs in the user behavior model, the designer determines that a flow of unexpected behavior has been detected,
When it is determined in the user behavior model that an event not implemented in the GUI control is detected when a control event causing state transition not defined by the predicted behavior model occurs,
Determining the repetitive state transition by counting the number of times the same event occurs in the user behavior model,
By examining whether or not the total time required for the user behavior model to exceed the threshold value is greater than the total time required for the state transition of the predicted behavior model, which is an equivalent relation to the transition matrix between the expected behavior model and the state equivalent to the user behavior model, And determining that the expected execution time is exceeded.
제 1 항에 있어서,
상기 예상 행동 모델 및 상기 사용자 행동 모델은,
모바일 어플리케이션의 상태를 표현하되, 사용자의 조작에 반응하여 다른 상태로 전이되는 과정을 표현하는 유한 상태 기계(finite state machine) 모델로 설정되는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 방법.
The method according to claim 1,
The predicted behavior model and the user behavior model,
A finite state machine model for representing a state of a mobile application and representing a process of transitioning to another state in response to a user's manipulation.
제 2 항에 있어서,
상기 유한 상태 기계 모델은,
상기 모바일 어플리케이션의 GUI(graphic user interface) 구성 요소의 식별자, 사용자 조작에 의한 입력값 및 사용자 이벤트 발생 시간을 포함하는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 방법.
3. The method of claim 2,
The finite state machine model may include:
An identifier of a graphical user interface (GUI) component of the mobile application, an input value by a user operation, and a user event occurrence time.
제 1 항에 있어서,
상기 하나의 사용자 행동 모델로 병합하는 단계는,
추출된 상기 사용자 행동 모델을 비교하여 상기 사용자 행동 모델에 포함된 개별 행동이 서로 동치인 상태전이(transition) 부분을 검출하는 단계; 및
복수의 사용자 행동 모델로부터 검출된 상태전이 부분을 하나의 사용자 행동 모델에 순차적으로 추가하는 단계를 포함하는 모바일 어플리케이션의 사용성 저해 요소 분석 방법.
The method according to claim 1,
Wherein merging into the one user behavior model comprises:
Comparing the extracted user behavior model to detect a state transition portion in which the individual actions included in the user behavior model are equivalent to each other; And
And sequentially adding the state transition portions detected from the plurality of user behavior models to one user behavior model.
제 1 항에 있어서,
상기 사용성 저해 요소를 검출하는 단계는,
설계 의도를 나타내는 상기 예상 행동 모델과 실제 사용자의 행동을 나타내는 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목을 도출하는 단계;
상기 차이점이 발생한 항목이 미리 정의된 사용자 저해 이상 징후에 해당하는지 여부를 검사하는 단계; 및
검사 결과에 따라 상기 차이점이 발생한 항목을 사용자 저해 요소로 선택적으로 출력하는 단계를 포함하는 모바일 어플리케이션의 사용성 저해 요소 분석 방법.
The method according to claim 1,
Wherein the step of detecting the usability inhibiting element comprises:
Comparing the predicted behavioral model representing the design intention with the user behavioral model representing behavior of the actual user to derive an item where the difference occurs;
Checking whether the item where the difference occurs corresponds to a predefined user disturbance abnormality; And
And selectively outputting, as a user inhibiting element, the item in which the difference occurs according to the inspection result.
삭제delete 삭제delete 제 1 항에 있어서,
모바일 어플리케이션에 대해 설계자 및 복수의 사용자들의 조작에 의한 입력값과 상기 조작의 대상 객체를 매칭하여 미리 사용 로그로 저장하는 단계;를 더 포함하는 모바일 어플리케이션의 사용성 저해 요소 분석 방법.
The method according to claim 1,
A method for analyzing a usability-inhibiting element of a mobile application, the method comprising the steps of: matching an input value by an operation of a designer and a plurality of users with a target object of the manipulation for a mobile application;
제 8 항에 있어서,
상기 사용 로그 중 상기 조작에 의한 입력값은 터치 좌표, 시간 정보 및 제스처의 종류를 포함하고,
상기 사용 로그 중 상기 조작의 대상 객체는 GUI 식별자를 포함하는 구조 정보인 것을 특징으로 모바일 어플리케이션의 사용성 저해 요소 분석 방법.
9. The method of claim 8,
Wherein the input value of the operation log includes a touch coordinate, a time information, and a type of a gesture,
Wherein the target object of the operation among the usage logs is structure information including a GUI identifier.
제 1 항 내지 제 5 항, 제 8 항, 제 9 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium storing a program for causing a computer to execute the method according to any one of claims 1 to 5, 8, and 9. 모바일 어플리케이션(mobile application)에 대해 설계자 및 복수의 사용자들로부터 각각 사용 로그(log)를 수집하는 입력부;
모바일 어플리케이션의 사용성 저해 요소를 분석하는 프로그램을 저장하는 메모리; 및
적어도 하나의 프로세서(processor)를 구비하여 상기 사용성 저해 요소를 분석하는 프로그램을 구동하는 처리부를 포함하되,
상기 메모리에 저장된 프로그램은,
상기 설계자로부터 수집된 사용 로그(log)로부터 예상 행동 모델(expected behavior model)을 추출하고, 상기 복수의 사용자들로부터 수집된 사용 로그로부터 각각 사용자 행동 모델을 추출하고, 추출된 상기 사용자 행동 모델에 포함된 개별 행동 간의 동치 관계를 탐색하여 하나의 사용자 행동 모델로 병합하며, 추출된 상기 예상 행동 모델과 병합된 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목으로부터 설계자가 예상하지 못한 행동의 흐름, GUI 컨트롤에 구현되지 않은 이벤트의 발생, 반복적으로 수행되는 상태전이 및 예상 수행 시간의 초과 중 적어도 하나를 포함하여 미리 정의된 사용자 저해 이상 징후를 참조함으로써 사용성 저해 요소를 검출하되,
상기 사용자 행동 모델에서 상기 예상 행동 모델에 포함되지 않은 행동 또는 상태전이가 발생할 경우 상기 설계자가 예상하지 못한 행동의 흐름이 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 상기 예상 행동 모델이 정의하지 않은 상태전이를 유발하는 제어 이벤트가 발생할 경우 상기 GUI 컨트롤에 구현되지 않은 이벤트가 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 동일한 이벤트가 발생하는 횟수를 계수함으로써 상기 반복적으로 수행되는 상태전이를 판단하며, 상기 예상 행동 모델과 상기 사용자 행동 모델 중 동치인 상태 간의 전이 집합에 대하여 동치 관계인 예상 행동 모델의 상태전이의 총 소요시간보다 사용자 행동 모델의 총 소요시간이 임계값 이상으로 소요되는지 여부를 검사함으로써 상기 예상 수행 시간의 초과를 판단하는 명령어를 포함하는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 장치.
An input unit for collecting a usage log from a designer and a plurality of users, respectively, for a mobile application;
A memory for storing a program for analyzing usability impediments of a mobile application; And
And a processor for operating a program for analyzing the usability inhibiting element by having at least one processor,
A program stored in the memory,
Extracting an expected behavior model from a use log collected from the designer, extracting a user behavior model from each usage log collected from the plurality of users, and extracting the user behavior model from the usage log And the user action model merged with the extracted predictive behavior model is compared with the user behavior model extracted from the extracted item, and the flow of the unexpected behavior of the designer, the GUI control Detecting a usability inhibiting element by referring to a predefined user disturbance abnormality including at least one of occurrence of an event that is not implemented in the system, occurrence of a repeatedly performed state transition,
Wherein the designer determines that a flow of an unexpected behavior has been detected when a behavior or a state transition not included in the predictive behavior model occurs in the user behavior model, Judges that the event which is not implemented in the GUI control is detected when a control event causing the transition is generated and judges the repetitive state transition by counting the number of times the same event occurs in the user behavior model, By examining whether the total time taken by the user behavior model is greater than the threshold value or not, than the total time taken for the state transition of the predicted behavioral model, which is an equivalent relationship to the transition matrix between the predictive behavioral model and the state equivalent to the user behavioral model, Over-performance times Usability inhibiting devices for analysis of the mobile application comprises a command to.
제 11 항에 있어서,
상기 예상 행동 모델 및 상기 사용자 행동 모델은,
모바일 어플리케이션의 상태를 표현하되, 사용자의 조작에 반응하여 다른 상태로 전이되는 과정을 표현하는 유한 상태 기계(finite state machine) 모델로 설정되는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 장치.
12. The method of claim 11,
The predicted behavior model and the user behavior model,
A finite state machine model expressing a state of a mobile application and representing a process of transitioning to another state in response to a user's operation.
제 12 항에 있어서,
상기 유한 상태 기계 모델은,
상기 모바일 어플리케이션의 GUI(graphic user interface) 구성 요소의 식별자, 사용자 조작에 의한 입력값 및 사용자 이벤트 발생 시간을 포함하는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 장치.
13. The method of claim 12,
The finite state machine model may include:
An identifier of a graphic user interface (GUI) component of the mobile application, an input value by a user operation, and a user event occurrence time.
제 11 항에 있어서,
상기 메모리에 저장된 프로그램은,
추출된 상기 사용자 행동 모델을 비교하여 상기 사용자 행동 모델에 포함된 개별 행동이 서로 동치인 상태전이(transition) 부분을 검출하고, 복수의 사용자 행동 모델로부터 검출된 상태전이 부분을 하나의 사용자 행동 모델에 순차적으로 추가함으로써, 상기 하나의 사용자 행동 모델로 병합하는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 장치.
12. The method of claim 11,
A program stored in the memory,
The extracted user behavior models are compared with each other to detect a state transition portion in which individual behaviors included in the user behavior model are equivalent to each other, and a state transition portion detected from a plurality of user behavior models is referred to as one user behavior model Wherein the one or more user behavior models are merged into the one user behavior model by sequentially adding the plurality of user behavior models to the user behavior model.
제 11 항에 있어서,
상기 메모리에 저장된 프로그램은,
설계 의도를 나타내는 상기 예상 행동 모델과 실제 사용자의 행동을 나타내는 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목을 도출하고, 상기 차이점이 발생한 항목이 미리 정의된 사용자 저해 이상 징후에 해당하는지 여부를 검사하며, 검사 결과에 따라 상기 차이점이 발생한 항목을 사용자 저해 요소로 선택적으로 출력함으로써, 상기 사용성 저해 요소를 검출하는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 장치.
12. The method of claim 11,
A program stored in the memory,
Comparing the predicted behavioral model representing the design intention with the user behavioral model representing behavior of the actual user to derive an item in which the difference occurs, and checking whether the item in which the difference occurs corresponds to a predefined user disturbance abnormality indication And the usability inhibiting element is detected by selectively outputting the item in which the difference occurs according to the inspection result as a user inhibiting element.
삭제delete 삭제delete 제 11 항에 있어서,
모바일 어플리케이션에 대해 설계자 및 복수의 사용자들의 조작에 의한 입력값과 상기 조작의 대상 객체를 매칭하여 미리 사용 로그로 저장하는 저장부;를 더 포함하는 모바일 어플리케이션의 사용성 저해 요소 분석 장치.
12. The method of claim 11,
And a storage unit for matching the input values by operation of the designer and the plurality of users with the object of the operation for the mobile application and storing the input data in advance in the usage log.
제 18 항에 있어서,
상기 사용 로그 중 상기 조작에 의한 입력값은 터치 좌표, 시간 정보 및 제스처의 종류를 포함하고,
상기 사용 로그 중 상기 조작의 대상 객체는 GUI 식별자를 포함하는 구조 정보인 것을 특징으로 모바일 어플리케이션의 사용성 저해 요소 분석 장치.
19. The method of claim 18,
Wherein the input value of the operation log includes a touch coordinate, a time information, and a type of a gesture,
Wherein the target object of the operation among the usage logs is structure information including a GUI identifier.
KR1020160067230A 2016-05-31 2016-05-31 Apparatus and method for analyzing usability hampering elements of mobile application KR101810648B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160067230A KR101810648B1 (en) 2016-05-31 2016-05-31 Apparatus and method for analyzing usability hampering elements of mobile application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160067230A KR101810648B1 (en) 2016-05-31 2016-05-31 Apparatus and method for analyzing usability hampering elements of mobile application

Publications (2)

Publication Number Publication Date
KR20170135387A KR20170135387A (en) 2017-12-08
KR101810648B1 true KR101810648B1 (en) 2018-01-25

Family

ID=60920176

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160067230A KR101810648B1 (en) 2016-05-31 2016-05-31 Apparatus and method for analyzing usability hampering elements of mobile application

Country Status (1)

Country Link
KR (1) KR101810648B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10709989B2 (en) 2018-01-11 2020-07-14 Electronics And Telecommunications Research Institute System and method for analyzing game update effect according to change of gamer action sequence

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"GUI 자가 적응을 위한 모바일 어플리케이션의 사용성 저해요소 자동 검출 기법", KCSE 2015 논문집 제17권 제1호(2015.01.30.)*

Also Published As

Publication number Publication date
KR20170135387A (en) 2017-12-08

Similar Documents

Publication Publication Date Title
US10838849B2 (en) Analyzing software test failures using natural language processing and machine learning
US8645912B2 (en) System and method for use in replaying software application events
US8612372B2 (en) Detection rule-generating facility
Gouveia et al. Using HTML5 visualizations in software fault localization
JP6066081B2 (en) Apparatus and method for generating fault tree
US20120116561A1 (en) Program testing apparatus, method of testing a program, and program testing program
EP2354948A1 (en) Device for supporting detection of failure event, method for supporting detection of failure event, and computer program
KR101312446B1 (en) Analysis apparatus and method for usability of mobile application using user bebavior log
CN102184138A (en) Method and system for automatically reproducing and positioning software error
Agarwal et al. Diagnosing mobile applications in the wild
Kang et al. Development of a Bayesian belief network model for software reliability quantification of digital protection systems in nuclear power plants
Roehm et al. Monitoring user interactions for supporting failure reproduction
US10977108B2 (en) Influence range specifying method, influence range specifying apparatus, and storage medium
KR20070080313A (en) Method and system for analyzing performance of providing services to client terminal
Vale et al. Challenges of resolving merge conflicts: A mining and survey study
Lee et al. Design of an integrated operator support system for advanced NPP MCRs: issues and perspectives
US20160162539A1 (en) Computer executable method of generating analysis data and apparatus performing the same and storage medium for the same
CN114371974A (en) Buried point data checking method and electronic equipment
Agarwal et al. There’s an app for that, but it doesn’t work. Diagnosing mobile applications in the wild
KR101810648B1 (en) Apparatus and method for analyzing usability hampering elements of mobile application
Ntoa et al. UXAmI observer: an automated user experience evaluation tool for ambient intelligence environments
JP5962367B2 (en) Fault tree generator
KR101233312B1 (en) Simulation Apparatus and Method for the Performance Evaluation of the Plant
CN115599375A (en) Data processing method and device based on RPA system
Hao et al. Test-data generation guided by static defect detection

Legal Events

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