KR20170135387A - 모바일 어플리케이션의 사용성 저해 요소 분석 장치 및 방법 - Google Patents

모바일 어플리케이션의 사용성 저해 요소 분석 장치 및 방법 Download PDF

Info

Publication number
KR20170135387A
KR20170135387A KR1020160067230A KR20160067230A KR20170135387A KR 20170135387 A KR20170135387 A KR 20170135387A KR 1020160067230 A KR1020160067230 A KR 1020160067230A KR 20160067230 A KR20160067230 A KR 20160067230A KR 20170135387 A KR20170135387 A KR 20170135387A
Authority
KR
South Korea
Prior art keywords
user
behavior model
model
user behavior
usability
Prior art date
Application number
KR1020160067230A
Other languages
English (en)
Other versions
KR101810648B1 (ko
Inventor
박수진
마경욱
Original Assignee
서강대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서강대학교산학협력단 filed Critical 서강대학교산학협력단
Priority to KR1020160067230A priority Critical patent/KR101810648B1/ko
Publication of KR20170135387A publication Critical patent/KR20170135387A/ko
Application granted granted Critical
Publication of KR101810648B1 publication Critical patent/KR101810648B1/ko

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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 사용자 행위 로그(log)를 이용한 모바일 어플리케이션의 사용성 저해 요소를 분석하는 장치 및 방법에 관한 것으로, 모바일 어플리케이션에 대해 설계자로부터 수집된 사용 로그(log)로부터 예상 행동 모델(expected behavior model)을 추출하고, 모바일 어플리케이션에 대해 복수의 사용자들로부터 수집된 사용 로그로부터 사용자 행동 모델을 추출하고, 추출된 사용자 행동 모델에 포함된 개별 행동 간의 동치 관계를 탐색하여 하나의 사용자 행동 모델로 병합하며, 추출된 예상 행동 모델과 병합된 사용자 행동 모델을 비교하여 차이점이 발생한 항목으로부터 사용성 저해 요소를 검출한다.

Description

모바일 어플리케이션의 사용성 저해 요소 분석 장치 및 방법{Apparatus and method for analyzing usability hampering elements of mobile application}
본 발명은 모바일 어플리케이션의 사용성을 분석하는 기술에 관한 것으로, 특히 모바일 어플리케이션을 사용하는 사용자의 행위 로그(log)를 이용하여 모바일 어플리케이션이 적정하게 설계되었는지, 사용자에게 효율적으로 서비스를 제공하고 있는지 여부를 나타내는 사용성을 저해하는 요소를 분석할 수 있는 장치, 방법 및 그 방법을 기록한 기록매체에 관한 것이다.
스마트폰과 태블릿을 지원하는 모바일 앱은 기하급수적으로 그 숫자가 증가하고 있다. 따라서, 동일한 기능을 제공하는 다수 개의 앱 중에서 사용자들은 품질에 따라 선택하여 사용할 수 있다. 모바일 앱의 품질 요소로는 여러 가지가 있을 수 있으나 일반적으로 모바일 앱 사용자들은 특별한 매뉴얼 없이도 직관적으로 사용하기 쉬운 앱을 선호한다. 생활에서 사용되는 모바일 앱들 중에서 이러한 사용자의 요구 사항을 정확히 파악하여 많은 수의 사용자를 확보하는 앱이 있는가 하면, 그렇지 못한 사례들도 있다. 일례로 기차 좌석을 예매하는 특정 앱의 경우, 기차표 예매 시 예매하고자 하는 좌석 수를 지정하는 화면에서, 탑승할 어른과 어린이의 숫자를 화면 왼쪽의 아이콘을 오른쪽으로 밀어서 지정하도록 화면이 설계되었다. 그러나 이러한 지정 방식은 직접 숫자를 패드를 통해 입력하는 기존 앱들의 화면 설계 방식과 상이하여 실제 많은 사용자들이 사용 후기에서 불편함을 토로하고 있다. 결과적으로 이러한 불편함은 해당 앱이 사용자들에 의해 저조한 평가를 받고 있는 것과 무관하지 않다. 이와 같은 사례에서 모바일 앱의 전반적인 평가와 직결될 수 있는 모바일 앱의 화면 설계가 사용성 측면에서 문제점을 내포하고 있지 않은지를 평가하여, 이를 해소시켜 나감으로써 모바일 앱의 사용성(Usability)을 향상시켜 나가야 할 필요성을 찾아볼 수 있다.
비특허문헌 1을 참조하면, TAM(Technology Acceptance Model)에서는 새로운 서비스가 사용자들에게 받아들여질 때 가장 큰 영향을 미치는 요소가 사용성(Usability)이라고 한다. 하지만 비특허문헌 2를 통해 최근 닐슨 노만(Nielsen Norman) 그룹이 발표한 스마트폰 어플리케이션의 사용성 조사 보고서에 의하면 많은 스마트폰 어플리케이션이 다양한 센서를 통해 디자인 측면에서 사용자의 많은 호감을 얻고 있지만, 스마트폰의 고유한 특성을 제대로 활용하지 못한 채 어플리케이션 별로 일관성이 결여된 사용자 인터페이스를 제공함으로써 사용자의 혼란을 유발시키고 있다고 발표했다.
따라서, 다양한 모바일 어플리케이션을 기획, 개발, 사용하는 일련의 과정 속에서, 해당 어플리케이션이 적정하게 설계되었는지, 해당 어플리케이션 내에 최초의 기획 의도와는 달리 사용자의 사용성을 저해할만한 요소가 존재하지는 않은지를 판단할 수 있는 객관적인 평가 및 분석 방법의 개발이 요구되고 있다.
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.
본 발명이 해결하고자 하는 기술적 과제는, 모바일 어플리케이션의 도입에 따른 중요한 판단 요소가 사용성(usability)임을 인지하고 일관성이 결여되거나 불편을 야기하는 사용자 인터페이스를 개선하고자 하는 노력이 지속되고 있음에도 불구하고, 종래의 모바일 어플리케이션의 사용성을 측정하기 위한 조사 과정에서 많은 비용과 시간이 소모되는 문제점을 해결하고, 사용성 내지 사용성 저해 요소의 측정 결과에 객관성이 결여되는 한계를 극복하고자 한다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 적어도 하나의 프로세서(processor)를 구비하여 모바일 어플리케이션(mobile application)의 사용성 저해 요소를 분석하는 방법은, 모바일 어플리케이션에 대해 설계자로부터 수집된 사용 로그(log)로부터 예상 행동 모델(expected behavior model)을 추출하는 단계; 상기 모바일 어플리케이션에 대해 복수의 사용자들로부터 수집된 사용 로그로부터 각각 사용자 행동 모델을 추출하는 단계; 추출된 상기 사용자 행동 모델에 포함된 개별 행동 간의 동치 관계를 탐색하여 하나의 사용자 행동 모델로 병합하는 단계; 및 추출된 상기 예상 행동 모델과 병합된 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목으로부터 사용성 저해 요소를 검출하는 단계를 포함한다.
일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 방법에서, 상기 예상 행동 모델 및 상기 사용자 행동 모델은, 모바일 어플리케이션의 상태를 표현하되, 사용자의 조작에 반응하여 다른 상태로 전이되는 과정을 표현하는 유한 상태 기계(finite state machine) 모델로 설정될 수 있다. 또한, 상기 유한 상태 기계 모델은, 상기 모바일 어플리케이션의 GUI(graphic user interface) 구성 요소의 식별자, 사용자 조작에 의한 입력값 및 사용자 이벤트 발생 시간을 포함할 수 있다.
일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 방법에서, 상기 하나의 사용자 행동 모델로 병합하는 단계는, 추출된 상기 사용자 행동 모델을 비교하여 상기 사용자 행동 모델에 포함된 개별 행동이 서로 동치인 상태전이(transition) 부분을 검출하는 단계; 및 복수의 사용자 행동 모델로부터 검출된 상태전이 부분을 하나의 사용자 행동 모델에 순차적으로 추가하는 단계를 포함할 수 있다.
일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 방법에서, 상기 사용성 저해 요소를 검출하는 단계는, 설계 의도를 나타내는 상기 예상 행동 모델과 실제 사용자의 행동을 나타내는 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목을 도출하는 단계; 상기 차이점이 발생한 항목이 미리 정의된 사용자 저해 이상 징후에 해당하는지 여부를 검사하는 단계; 및 검사 결과에 따라 상기 차이점 발생한 항목을 사용자 저해 요소로 선택적으로 출력하는 단계를 포함할 수 있다. 또한, 상기 미리 정의된 사용자 저해 이상 징후는, 설계자가 예상하지 못한 행동의 흐름, GUI 컨트롤에 구현되지 않은 이벤트의 발생, 반복적으로 수행되는 상태전이 및 예상 수행 시간의 초과 중 적어도 하나를 포함할 수 있다. 나아가, 상기 사용자 행동 모델에서 상기 예상 행동 모델에 포함되지 않은 행동 또는 상태전이가 발생할 경우 상기 설계자가 예상하지 못한 행동의 흐름이 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 상기 예상 행동 모델이 정의하지 않은 상태전이를 유발하는 제어 이벤트가 발생할 경우 상기 GUI 컨트롤에 구현되지 않은 이벤트가 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 동일한 이벤트가 발생하는 횟수를 계수함으로써 상기 반복적으로 수행되는 상태전이를 판단하며, 상기 예상 행동 모델과 상기 사용자 행동 모델 중 동치인 상태 간의 전이 집합에 대하여 동치 관계인 예상 행동 모델의 상태전이의 총 소요시간보다 사용자 행동 모델의 총 소요시간이 임계값 이상으로 소요되는지 여부를 검사함으로써 상기 예상 수행 시간의 초과를 판단할 수 있다.
일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 방법은, 모바일 어플리케이션에 대해 설계자 및 복수의 사용자들의 조작에 의한 입력값과 상기 조작의 대상 객체를 매칭하여 미리 사용 로그로 저장하는 단계;를 더 포함할 수 있다. 또한, 상기 사용 로그 중 상기 조작에 의한 입력값은 터치 좌표, 시간 정보 및 제스처의 종류를 포함하고, 상기 사용 로그 중 상기 조작의 대상 객체는 GUI 식별자를 포함하는 구조 정보인 것이 바람직하다.
한편, 이하에서는 상기 기재된 모바일 어플리케이션의 사용성 저해 요소를 분석하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 장치는, 모바일 어플리케이션(mobile application)에 대해 설계자 및 복수의 사용자들로부터 각각 사용 로그(log)를 수집하는 입력부; 모바일 어플리케이션의 사용성 저해 요소를 분석하는 프로그램을 저장하는 메모리; 및 적어도 하나의 프로세서(processor)를 구비하여 상기 사용성 저해 요소를 분석하는 프로그램을 구동하는 처리부를 포함하되, 상기 메모리에 저장된 프로그램은, 상기 설계자로부터 수집된 사용 로그(log)로부터 예상 행동 모델(expected behavior model)을 추출하고, 상기 복수의 사용자들로부터 수집된 사용 로그로부터 각각 사용자 행동 모델을 추출하고, 추출된 상기 사용자 행동 모델에 포함된 개별 행동 간의 동치 관계를 탐색하여 하나의 사용자 행동 모델로 병합하며, 추출된 상기 예상 행동 모델과 병합된 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목으로부터 사용성 저해 요소를 검출하는 명령어를 포함한다.
일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 장치에서, 상기 예상 행동 모델 및 상기 사용자 행동 모델은, 모바일 어플리케이션의 상태를 표현하되, 사용자의 조작에 반응하여 다른 상태로 전이되는 과정을 표현하는 유한 상태 기계(finite state machine) 모델로 설정될 수 있다. 또한, 상기 유한 상태 기계 모델은, 상기 모바일 어플리케이션의 GUI(graphic user interface) 구성 요소의 식별자, 사용자 조작에 의한 입력값 및 사용자 이벤트 발생 시간을 포함할 수 있다.
일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 장치에서, 상기 메모리에 저장된 프로그램은, 추출된 상기 사용자 행동 모델을 비교하여 상기 사용자 행동 모델에 포함된 개별 행동이 서로 동치인 상태전이(transition) 부분을 검출하고, 복수의 사용자 행동 모델로부터 검출된 상태전이 부분을 하나의 사용자 행동 모델에 순차적으로 추가함으로써, 상기 하나의 사용자 행동 모델로 병합할 수 있다.
일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 장치에서, 상기 메모리에 저장된 프로그램은, 설계 의도를 나타내는 상기 예상 행동 모델과 실제 사용자의 행동을 나타내는 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목을 도출하고, 상기 차이점이 발생한 항목이 미리 정의된 사용자 저해 이상 징후에 해당하는지 여부를 검사하며, 검사 결과에 따라 상기 차이점 발생한 항목을 사용자 저해 요소로 선택적으로 출력함으로써, 상기 사용성 저해 요소를 검출할 수 있다. 또한, 상기 미리 정의된 사용자 저해 이상 징후는, 설계자가 예상하지 못한 행동의 흐름, GUI 컨트롤에 구현되지 않은 이벤트의 발생, 반복적으로 수행되는 상태전이 및 예상 수행 시간의 초과 중 적어도 하나를 포함할 수 있다. 나아가, 상기 사용자 행동 모델에서 상기 예상 행동 모델에 포함되지 않은 행동 또는 상태전이가 발생할 경우 상기 설계자가 예상하지 못한 행동의 흐름이 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 상기 예상 행동 모델이 정의하지 않은 상태전이를 유발하는 제어 이벤트가 발생할 경우 상기 GUI 컨트롤에 구현되지 않은 이벤트가 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 동일한 이벤트가 발생하는 횟수를 계수함으로써 상기 반복적으로 수행되는 상태전이를 판단하며, 상기 예상 행동 모델과 상기 사용자 행동 모델 중 동치인 상태 간의 전이 집합에 대하여 동치 관계인 예상 행동 모델의 상태전이의 총 소요시간보다 사용자 행동 모델의 총 소요시간이 임계값 이상으로 소요되는지 여부를 검사함으로써 상기 예상 수행 시간의 초과를 판단할 수 있다.
일 실시예에 따른 모바일 어플리케이션의 사용성 저해 요소를 분석하는 장치는, 모바일 어플리케이션에 대해 설계자 및 복수의 사용자들의 조작에 의한 입력값과 상기 조작의 대상 객체를 매칭하여 미리 사용 로그로 저장하는 저장부;를 더 포함할 수 있다. 또한, 상기 사용 로그 중 상기 조작에 의한 입력값은 터치 좌표, 시간 정보 및 제스처의 종류를 포함하고, 상기 사용 로그 중 상기 조작의 대상 객체는 GUI 식별자를 포함하는 구조 정보인 것이 바람직하다.
본 발명의 실시예들은, 다수의 사용자로부터 추출된 사용자 행위 모델을 병합하여 설계자의 의도가 반영된 예상 행위 모델과 비교함으로써, 체계적으로 모바일 앱의 GUI 모델상에 잠재된 사용성 저해 요소를 검출하는 것이 가능하고, 자동 검출이 가능한 모바일 앱의 사용성 저해 요소의 유형을 식별하고, 사용자 로그 분석을 통해 저해 요소들을 자동으로 검출해 냄으로써, 기존 개발자들이 사용성 오류 검출을 위해 행해왔던 반복적인 테스트 작업의 부담을 크게 감소시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 사용자 행위 로그(log)를 이용한 모바일 어플리케이션의 사용성 저해 요소 분석 방법을 도시한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 GUI 사용성 저해 요소를 검출하는 도구를 예시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 도 2의 검출 도구에서 사용성 저해 요소를 검출하는 과정을 설명하기 위한 도면이다.
도 4는 복수의 사용자 행동 모델을 병합하는 과정을 설명하기 위한 도면이다.
도 5는 이상 징후를 검출하는 의사 코드(pseudo-code)를 예시한 도면이다.
도 6a 및 도 6b는 GUI 이상 징후를 검출하는 과정을 예시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 사용자 행위 로그를 이용한 모바일 어플리케이션의 사용성 저해 요소 분석 장치를 도시한 블록도이다.
본 발명의 실시예들을 설명하기에 앞서 본 발명의 실시예들이 구현, 활용되는 모바일 어플리케이션의 구동 환경에 대해 간략히 소개하고, 실시예들이 활용되는 환경에서 발생하고 있는 문제점을 제시하고자 한다.
시스템의 사용성을 측정하고 향상시키기 위한 방식으로 종래에는 주로 사용자를 대상으로 설문조사를 수행하였다. 하지만 사용자 설문을 기초 자료로 사용성을 평가하는 방식은 설문 문항의 구성 방식, 응답자의 특성 등의 변수에 따라 그 결과가 상이할 수 있다는 문제점을 가지고 있다. 예를 들어, A/B 테스트는 사용자들에게 똑같은 페이지/내용을 제공하지만, 메시지의 구체적인 형식이나 디자인에 변형을 주어서 각자의 반응을 살피는 테스트 방식이다. 다양한 GUI 대안(Alternative)에 대한 사용자들의 반응을 얻기 위해서는 대안 숫자만큼의 버전으로 소프트웨어를 제작해야 되기 때문에 테스트에 소요되는 시간이 증가한다. 또한, GUI의 편리한 정도를 미학(Aesthetic)적 측면에서 평가하는 연구들도 존재한다. 즉, 화면 내 뷰(View)들의 정렬 정도, 위젯 넓이/높이 등을 측정하여 사용자가 편안하다고 느끼는 정도를 가늠할 수 있다. 그러나 다양한 이기종(Heterogeneous) 기기를 지원해야 되는 모바일 앱의 특성상 해당 측정법으로는 기기의 해상도에 따라 GUI의 배치가 달라지므로 같은 앱일지라도 메트릭 수치가 변하여 정확한 사용성 측정이 어려운 한계점이 존재한다.
이하에서 기술되는 본 발명의 실시예들은 상기된 문제점을 해소하기 위하여 안출된 것으로서, 사용자들이 모바일 앱을 사용하는 행동 모델과 모바일 앱의 GUI 개발자들이 의도한 행동 모델 간의 차이점을 분석하여, 이로부터 미리 정의된 유형의 사용성 저해 요소를 자동으로 검출해 내는 기법을 제안한다. 이러한 자동화된 모바일 앱의 사용성 저해 요소 검출 도구의 적용을 통해, 기존의 사용성 측정 방식이 갖는 객관성 결여 문제와 비용을 요하는 테스팅 부담을 해결할 수 있다.
특히, 모바일 앱의 사용성의 문제점은 개발자가 예상한 사용자 행동 모델과 실제 사용자들의 사용 행동에서 기록된 사용자 행동 모델 간에 차이점이 발생하는 지점에 내재해 있다는 것을 인식하는 것으로부터 본 발명의 실시예들이 안출되었다. 이러한 사용성 검증을 위한 기준을 제시함으로써 객관적인 메트릭(metric)을 확보할 수 있으며, 개발자의 의도를 나타내는 모델과 사용자의 행동 모델 비교를 통한 자동화된 사용성 저해 요소 검출이 가능함에 따라, 기존 연구들의 문제점으로 지적된 자의적 해석 가능성과 고비용 문제를 완화시킬 수 있을 것으로 기대한다.
이를 위해 본 발명의 실시예들은, 사용자 로그(log) 분석을 통한 사용성 분석 기법을 바탕으로 하되, 수집된 사용자 로그 정보로부터 유한 상태 기계(Finite State Machine) 모델 기반의 행동모델을 추출하는 방법을 도출하고 다수의 사용자들의 로그로부터 추출된 행동 모델을 병합하는 방법을 제시함으로써, 특정 모바일 어플리케이션의 대다수의 사용자가 느끼는 보편적인 사용성 측면의 문제점 분석을 자동으로 수행할 수 있는 기술적 수단을 제안한다.
이하에서는, 도면을 참조하여 상기된 기술적 과제를 해결하기 위한 본 발명의 실시예들을 구체적으로 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 명칭 및 도면 부호로 나타내고 있음에 유의하여야 한다.
도 1은 본 발명의 일 실시예에 따른 사용자 행위 로그(log)를 이용한 모바일 어플리케이션의 사용성 저해 요소 분석 방법을 도시한 흐름도로서, 적어도 하나의 프로세서(processor)를 구비하여 모바일 어플리케이션(mobile application)의 사용성 저해 요소를 분석하는 장치를 통해 구현될 수 있다.
S110 단계에서, 사용성 저해 요소의 분석 장치는, 모바일 어플리케이션에 대해 설계자로부터 수집된 사용 로그(log)로부터 예상 행동 모델(expected behavior model)을 추출한다.
여기서, 사용 로그란, 모바일 어플리케이션이 포함하는 기능 또는 구동 시나리오를 따라 사용자가 직접 조작하는 일련의 과정에 관한 정보를 포함한다. 예를 들어, 특정 모바일 어플리케이션에서 위치 정보에 기반하여 주위 상점을 검색하는 기능을 실행하기 위하여, 사용자가 해당 어플리케이션을 조작하는 일련의 과정(이 경우, 사용자의 터치 입력 값이나 제스처 입력 값이 포함될 수 있다)과 각 단계마다의 제어의 대상이 되는 객체들에 관한 정보를 그룹으로 묶어 기록함으로써, 이후 분석의 기초 자료로 활용할 수 있다.
이렇게 설계자의 조작에 따라 수집된 사용 로그로부터 예상 행동 모델을 추출할 수 있는데, 설계자는 해당 모바일 어플리케이션을 기획하고 제작한 당사자로서, 그의 조작은 해당 어플리케이션을 조작하는 제작자의 최초 의도가 담겨있다고 해석될 수 있다. 따라서, 설계자로부터 수집된 사용 로그로부터 추출된 행동 모델은 통상의 모델이 아니며, 다른 일반 사용자들에게 기대하는 '예상 행동 모델'로 명명되었다. 즉, 예상 행동 모델이란 일반 사용자의 조작 방식에 대한 표준적인 기대치를 나타낸다.
S120 단계에서, 상기 사용성 저해 요소의 분석 장치는, 상기 모바일 어플리케이션에 대해 복수의 사용자들로부터 수집된 사용 로그로부터 각각 사용자 행동 모델을 추출한다.
이 과정은 앞서 수행된 S110 단계와 유사하나, 조작의 수행 주체가 설계자가 아닌 일반 사용자이며, 그 수 또한 다수일 수 있다. 복수의 사용자들로부터 수집된 사용 로그는 각각이 개인의 특성이 반영된 조작 방식을 나타나게 되며, 이로부터 사용자의 수만큼 사용자 행동 모델이 추출될 수 있다. 이렇게 추출된 사용자 행동 모델은 이후 예상 행동 모델과의 비교를 통해 최초에 설계자에 의해 설계된 모바일 어플리케이션의 GUI가 적절하였는지 여부를 판단하는 근거로서 활용된다.
S130 단계에서, 상기 사용성 저해 요소의 분석 장치는, S120 단계를 통해 추출된 상기 사용자 행동 모델에 포함된 개별 행동 간의 동치 관계를 탐색하여 하나의 사용자 행동 모델로 병합한다. S120 단계를 통해 추출된 사용자 행동 모델이 다수이므로 이들을 병합하여 하나의 사용자 행동 모델을 생성할 수 있다. 보다 구체적은 병합 방식에 대해서는 이후 도 4를 통해 설명하도록 한다.
S140 단계에서, 상기 사용성 저해 요소의 분석 장치는, S110 단계를 통해 추출된 상기 예상 행동 모델과 S130 단계를 통해 병합된 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목으로부터 사용성 저해 요소를 검출한다. 이제, 설계자의 설계 의도가 반영된 예상 행동 모델과 실제 사용자들의 조작 방식이 반영된 사용자 행동 모델을 비교함으로써 각각의 항목 간의 차이점에 집중한다. 다만, 발견된 차이점이 모두 사용성 저해 요소라고 판단할 수 있는 것은 아니며, 사용성 저해에 대한 판단을 도와줄 수 있도록 미리 설정된 이상 징후의 조건과 일치하는지를 검사함으로써 최종적으로 해당 항목이 사용성 저해 요소에 해당하는지 여부를 결정할 수 있다. 이러한 이상 징후의 유형과 각각의 판단 기준은 이후 도 5를 통해 구체적으로 기술하도록 한다.
도 2는 본 발명의 일 실시예에 따른 GUI 사용성 저해 요소를 검출하는 도구를 예시한 블록도로서, 동작중인 모바일 앱으로부터 사용자 로그를 추출하는 메커니즘 및 상기 도 1을 통해 제안된 분석 기법을 구현하는 자동화 도구를 구성하는 주요 컴포넌트들과 컴포넌트들간 의 협업을 통해 이뤄지는 모바일 앱 저해 요소 자동 검출 과정에 대한 개요를 설명하고자 한다. 도 2에 예시된 GUI 사용성 저해 요소 검출 도구는, Java로 구현되었으며, 안드로이드 플랫폼에서 동작하며, 각각의 컴포넌트 별 주요 역할은 다음과 같다.
(a) 프로브(Probe)(10)는 안드로이드(Android)에 내장되어 사용자로부터 발생한 터치를 입력받거나 기록하는 수단으로서, 특히 안드로이드 매크로(macro)인 멍키러너(Monkeyrunner)(11)를 이용하여 입력된 값을 (b) 터치 로그 저장소(Touch log storage)에 저장한다.
(b) 터치 로그 저장소(Touch log storage)는 멍키러너(11)를 이용하여 사용자들의 터치 좌표, 타임스탬프, 제스처 종류를 수집한 후 프로브(10)에서 생성된 로그와 타임스탬프 기반으로 합성된 로그를 저장한다.
(c) 뷰 저장소(View storage)는 검사의 대상이 될 GUI ID 정보를 획득하기 위해 안드로이드 도구인 계층 뷰어(Hierarchical viewer)(12)를 이용하여 현재 화면의 전체 GUI ID 값이 포함된 구조 정보를 XML형태로 저장한다.
이상에서 (b) 터치 로그 저장소와 (c) 뷰 저장소는 사용 로그를 기록하는 일종의 통합 저장소(15)로서 동작하게 된다.
(d) 행동 모델 생성기(Behavior model generator)(31)는 (b) 터치 로그 저장소 및 (c) 뷰 저장소에서 수집한 로그를 바탕으로 사용자의 행동을 나타내는 모델을 생성한다.
(e) 이상 징후 분석기(Bad symptom analyzer)(32)는 모바일 어플리케이션의 사용성 저해 요소를 몇 가지 유형으로 정의하여 검출한다. 설계 시점에서 가정한 예측 행동 모델과 실제 사용자로부터 수집된 로그를 기반으로 생성되는 실제 행동 모델 간의 차이점을 분석하여, 사용성을 저해하는 GUI 이상 징후(Bad symptom) 유무를 판단한다.
도 2의 GUI 사용성 저해 요소를 검출하는 도구를 앞서 기술한 도 1에 적용할 경우, 도 1의 S110 단계에 앞서, 모바일 어플리케이션에 대해 설계자 및 복수의 사용자들의 조작에 의한 입력값과 상기 조작의 대상 객체를 매칭하여 미리 사용 로그로 저장하는 단계를 더 포함할 수 있을 것이다. 여기서, 상기 사용 로그 중 상기 조작에 의한 입력값은 터치 좌표, 시간 정보 및 제스처의 종류를 포함하고, 상기 사용 로그 중 상기 조작의 대상 객체는 GUI 식별자를 포함하는 구조 정보인 것이 바람직하다.
도 3은 본 발명의 일 실시예에 따른 도 2의 검출 도구에서 사용성 저해 요소를 검출하는 과정을 설명하기 위한 도면이다.
앞서 도 2를 통해 소개된 GUI 사용성 저해 요소를 검출하는 도구의 구성 컴포넌트들 중에서 실제 모바일 앱의 사용성 저해요소 자동 검출 기법의 구현부에 해당되는 컴포넌트는 행동 모델 생성기(31)와 이상 징후 분석기(32)이다. 행동 모델 생성기가 사용자의 터치 로그에 기록된 정보를 기반으로 사용자별 행동 모델을 생성하고 이를 병합하여 하나의 모델을 생성하면, 이상 징후 분석기는 하나로 통합된 사용자 행동 모델(User Behavior Model)과 설계자의 GUI 설계 의도를 표현한 예상 행동 모델(Expected Behavior Model)을 비교하여 상이한 점들로부터 사용성 저해요소를 검출해 낸다.
본 기법에서 사용성 저해 요소 검출을 위해 비교 분석 대상이 되는 두 가지 모델인 사용자 행동 모델과 예상행동 모델을 생성하는 방식은 동일할 수 있다. 두 모델 간에 상이한 점은 모델 생성의 소스가 되는 사용자 행위 로그를 발생시키는 주체가 GUI 설계자인지 아니면 실제 사용자인지에 따라 예상 행동 모델과 사용자 행동 모델이 구분된다. GUI 설계자가 자신의 디자인 의도에 따라 예상되는 시나리오에 따라 모바일 앱을 사용하면서 발생되는 행위 로그가 실제 사용자의 모바일 앱 사용 시 감지되는 행위 로그가 일치한다는 것은 GUI 설계자가 실사용자의 요구 사항(Need)을 잘 파악하여 모바일 앱을 설계하였음을 의미한다. 반면, GUI 설계자의 행위 로그로부터 추출된 예상 행동 모델과 실제 사용자 행동 모델이 상이하다는 것은 설계자의 모바일 앱 GUI 설계가 사용자의 경험(User Experience)과는 다른 형태임을 의미한다. 이러한 두 모델 간의 상이한 부분 중에서, 우리는 몇 가지의 공통적인 패턴화 가능한 모바일 앱 사용성 저해 요소의 유형들을 식별해 낼 수 있다.
이와 같이 모바일 앱 상에 존재하는 사용성 저해 요소는 도 3에 도시된 바와 같이, 크게 세 가지 단계를 거쳐 자동으로 검출 가능하다. 첫째, ① 행위 로그로부터 의미 있는 정보들을 추출하여 행위 모델을 생성하는 단계, 둘째, ② 다수의 사용자 행위 로그부터 생성된 다수의 행위 모델을 하나의 모델로 병합하는 단계, 그리고 마지막으로 ③ 병합된 사용자 모델(320)과 예상 행동 모델(310) 간의 비교를 통해 상이점을 분석하여 사용성 저해요소를 검출하는 단계이다. 이하에서는 각 단계에 대해 도면을 참조하여 보다 구체적으로 기술하도록 한다.
(1) 터치 로그로부터 사용자 별 행동 모델을 생성
먼저, 도 3을 참조하면, ① 모바일 앱에서 발생하는 이벤트들은 플레이-앤-레코드(Play-and-Record) 방식으로 기록되어 로그로 저장된다. 이때 기록의 단위는 하나의 서비스 시나리오가 될 수 있다. 서비스 시나리오란 특정 서비스 결과물을 제공받기까지 행해지는 사용자와 모바일 앱 간의 상호행동을 시간 순으로 나열한 일련의 흐름을 의미한다.
이제, ①에서 저장된 로그는 개발자가 의도한 행동과 실제 사용자가 행하는 행동 간의 유사도 분석을 위한 유한 상태 다이어그램(Finite State Diagram)을 기반으로 하는 모델 형태로 전환될 수 있다.
사용자와 모바일 앱 간의 상호 작용을 나타내기 위해서는 특정 모바일 앱의 상태를 표현하면서, 사용자의 조작에 반응하여 다른 상태로 어떻게 전이되는지를 표현하는 정형화된 모델이 필요하다. 이를 위해, 본 발명의 실시예들에서는 모바일 앱과 사용자 간의 상호 작용을 모델링하기 위하여 GUI 구성요소의 ID, 터치 좌표의 x, y값, 사용자 이벤트 발생 시간을 나타내는 타임스탬프, GUI 화면 이미지 바이너리 값과 같은 요소들을 추가적으로 표현할 수 있는 모델을 설계하여 AFSM(Augmented Finite State Machine)이라 명명하였다. 어떠한 특정 GUI 객체에 대해 가해지는 사용자의 제스처의 방향성 및 형태를 파악할 수 있으며, 각 이벤트 발생 시 타임스탬프를 기록함으로써 액션 간 소요시간 등을 분석하여 GUI에 잠재적으로 존재하는 문제점 파악에 도움을 줄 수 있다.
즉, 본 발명의 실시예들이 채택하고 있는 예상 행동 모델 및 사용자 행동 모델은, 모바일 어플리케이션의 상태를 표현하되, 사용자의 조작에 반응하여 다른 상태로 전이되는 과정을 표현하는 유한 상태 기계(finite state machine) 모델로 설정되는 것이 바람직하다. 이러한, 유한 상태 기계 모델은, 상기 모바일 어플리케이션의 GUI(graphic user interface) 구성 요소의 식별자, 사용자 조작에 의한 입력값 및 사용자 이벤트 발생 시간을 포함할 수 있다.
도 4는 복수의 사용자 행동 모델을 병합하는 과정을 설명하기 위한 도면으로서, 상단의 두 개의 다이어그램은 서로 다른 두 명의 사용자로부터 수집된 행위로그를 기반으로 생성한 두 개의 서로 다른 AFSM 모델들(user behavior model 1, 2)을 나타내고 있다. 각 전이(Transition) 간에는 발생 이벤트의 명칭(slideup())과 해당 이벤트가 발생한 GUI 컨트롤의 ID(GObj1)등이 표시되어 있으며, 터치 좌표의 x, y값, 사용자 이벤트 발생 시간을 나타내는 타임스탬프, GUI 화면 이미지 바이너리 값 등이 추가적인 정보로 포함되어 있다.
(2) 사용자 행동 모델의 병합
동일하게 설계된 모바일 앱이라 하더라도 사용자의 사용 방식은 개인별로 상이하다. 따라서, 동일한 서비스 시나리오를 수행하는 사용자 행동 모델들은 행동 주체인 개인의 특성이 반영되어 모두 각기 다른 형태의 AFSM 모델로 표현된다. 이렇게 생성된 다수의 서로 다른 사용자 행동 모델은 부분적으로 서로 달라 보일지라도, 실제 포함하고 있는 행동 자체는 동치관계에 있을 수 있다. 각 사용자들이 아닌 전체 사용자들의 행동 대변하기 위해서는 예상 행동 모델과의 비교분석에 앞서 여러 개의 사용자 행동 모델을 병합하여 하나의 모델로 통합하는 작업이 필요하다.
유한 상태 기계(Finite State Machine, FSM)들 간의 동치 관계를 파악하여, 여러 개의 유한 상태 기계를 하나의 유한 상태 기계로 병합하는 알고리즘으로서, 예를 들어 Gk-tail 알고리즘이 활용 가능하다. Gk-tail 알고리즘의 경우, 특정 소프트웨어 시스템에 국한되지 않고, 일반적인 유한 상태 기계 모델들을 하나로 병합 가능하다는 점에서, 본 발명의 실시예들을 통해 모바일 앱 사용자 행위 모델 표현법으로 확장시킨 AFSM의 병합에 적용 가능한 알고리즘으로 선택하였다. Gk-tail 알고리즘은 두 개의 서로 다른 유한 상태 기계(Finite State Model) 모델을 비교하여 서로 동치인 상태전이(Transition) 부분을 찾아낸 후, k 값이 지시하는 병합 모델의 마지막 상태전이를 순차적으로 유한 상태 기계에 추가해 나가면서 하나의 병합 모델을 완성해 나간다. 본 발명의 실시예들이 제안하는 AFSM 역시 기본적인 유한 상태 기계의 확장된 표현 방법이므로 Gk-tail 알고리즘 적용이 가능하다.
도 4는 두 명의 사용자로부터 수집된 로그를 기반으로 생성된 두 개의 사용자 행동 모델을 Gk-tail 알고리즘을 적용하여 병합해 나가는 과정을 예시하고 있다. 먼저, 두 개의 AFSM의 상태전이를 비교해 나가면서 동일한 상태전이(동일한 GUI 객체에 동일한 이벤트 발생)를 검색해 나간다.
예를 들어, 그림 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의 ③, ④, ⑤번 상태)은 동치 상태로 단일한 하나의 상태로 각각 병합된다.
그러나 k=3 이후의 전이는 각 모델에서 서로 다른 이벤트 발생에 의한 전이들이다. 따라서, 서로 다른 전이에 의해 도달할 수 있는 상태인 사용자 행동 모델 1의 ⑪번 상태와 사용자 행동 모델 2의 ⑥번 상태는 하나로 병합할 수 없다. 이러한 서로 다른 상태는 병합된 모델의 ⑤번 상태에서 전이 가능한 서로 다른 상태로 각각 추가되며, ⑤번 상태에서 다음 상태로 ⑥번 상태와 ⑪번 상태 중 어떤 상태로 전이가 일어날지는 발생하는 이벤트에 따라 결정된다.
이와 같이 Gk-tail 알고리즘을 사용자 행동 모델 병합에 반복적으로 적용함으로써, n명의 서로 다른 사용자들로부터 추출된 n개의 행동 모델을 하나의 행동 모델로 나타낼 수 있다.
요약하건대, 본 발명의 실시예들에 따른 GUI 사용성 저해 요소의 검출 방법은, 추출된 상기 사용자 행동 모델을 비교하여 상기 사용자 행동 모델에 포함된 개별 행동이 서로 동치인 상태전이(transition) 부분을 검출하고, 복수의 사용자 행동 모델로부터 검출된 상태전이 부분을 하나의 사용자 행동 모델에 순차적으로 추가함으로써, 병합된 하나의 사용자 행동 모델을 생성할 수 있다.
(3) 모바일 앱 사용성을 저해하는 이상 징후 검출
사용자 행동 모델들이 하나로 통합되면 개발자의 설계 의도를 포함하고 있는 예상 행동 모델과 사용자 행동 모델을 비교 분석하여 사용성 저해요소를 검출한다. 단순히 두 모델 간의 차이점이 발견된 부분을 앱 상에 존재하는 사용성 저해 요소로 판별하지는 않는다.
본 발명의 실시예들에서는 자동 검출이 가능한 모바일 앱 사용성을 저해하는 이상 징후들의 유형을 정의하기 위하여, 오픈소스 앱의 개발자 커뮤니티에 등록된 GUI 관련 이슈들을 분석하여 그룹화하였다. 그 중에서 사용자 행동 모델과 예상 행동 모델 간의 비교 분석을 통해, 자동 검출이 가능한 4가지 유형의 사용성 저해 이상 징후들을 다음과 같이 정의하였다.
- 이상 징후 1: 예상치 못한 행동 흐름
- 이상 징후 2: GUI 컨트롤에 구현되지 않은 이벤트 발생
- 이상 징후 3: 반복적으로 수행되는 상태전이
- 이상 징후 4: 예상 수행 시간 초과
이 같은 4가지 유형의 이상 징후들을 검출하기 위한 알고리즘을 의사 코드(pseudo-code)로 나타내면 도 5와 같다.
도 5를 참조하면, AFSM 모델로 표현된 설계자의 의도를 표현한 행동 모델인 예상 행동 모델(ebm)과 여러 명의 사용자로부터 추출된 AFSM 모델들을 하나로 병합한 사용자 행동 모델(ubm)을 각각 인자로 받아들여, 두 모델들 간에 존재하는 차이(diff)를 이상 징후 유형 별로 검출하기 위한 알고리즘이 각각 유형별로 표현되어 있다.
요약하건대, 본 발명의 실시예들에 따른 GUI 사용성 저해 요소의 검출 과정은, 설계 의도를 나타내는 상기 예상 행동 모델과 실제 사용자의 행동을 나타내는 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목을 도출하고, 상기 차이점이 발생한 항목이 미리 정의된 사용자 저해 이상 징후에 해당하는지 여부를 검사하며, 검사 결과에 따라 상기 차이점 발생한 항목을 사용자 저해 요소로 선택적으로 출력하는 것이 바람직하다. 여기서, 상기 미리 정의된 사용자 저해 이상 징후는, 설계자가 예상하지 못한 행동의 흐름, GUI 컨트롤에 구현되지 않은 이벤트의 발생, 반복적으로 수행되는 상태전이 및 예상 수행 시간의 초과 중 적어도 하나를 포함하는 것이 바람직하다.
이제, 앞서 정의한 4가지 유형의 모바일 앱의 사용성을 저해하는 이상 징후를 검출하기 위한 알고리즘을 간단한 예제 모바일 앱을 대상으로 설명하면, 다음과 같다.
도 6a 및 도 6b는 GUI 이상 징후를 검출하는 과정을 예시한 도면으로서, 오픈소스 원격 리모컨 컨트롤러 모바일 앱 중 하나인 MyRemocn을 통해 원격으로 조작 가능한 새로운 기기를 등록하고 리모콘의 설정을 수정하기까지, GUI 설계자가 예상한 행동 모델과 실제 사용자 행동 모델의 단편을 보여준다. 도 6a의 예상 행동 모델은 ProductList 컨트롤에서 slideDown 액션을 수행한 후, EditButton 컨트롤에서 touch 액션을 수행하는 형태를 지니고 있다. 도 6b의 병합된 사용자 행동 모델은 앞서 도 4를 통해 소개한 병합 과정을 거쳐서 생성된 행동 모델이다. 각 상태 간 전이는 터치 좌표, 액션 정보를 포함하고 있다. 또한 각 상태마다 기록된 타임스탬프는 사용자별 평균 타임스탬프를 기록하였다.
도 6a 및 도 6b에 예시된 예상 행동 모델과 실제 사용자 행동 모델 간의 상이점과 각각의 상이점으로부터 감지 가능한 이상 징후의 유형들은 다음과 같다.
3-1) 이상 징후 1: 예상치 못한 행동 흐름
GUI 설계자가 기대한 예상 행동 모델 상에서의 행동 흐름은 상태 ①부터 ③까지 순차적으로 진행되지만, 실제 사용자들의 행동 모델을 병합한 결과 22%의 사용자 행동모델에서 상태 ① → 상태 ⑤ → 상태 ③에 이르는 예상되지 않은 행동 흐름이 감지되었고, 또 다른 47%의 사용자 역시 상태 ① → 상태 ⑧ → 상태 ③으로의 예상되지 않은 행동 흐름을 보였다. 다시 말해, 이벤트 로그 수집 대상인 전체 사용자의 69%가 도 6a에 정의된 설계자가 의도한 예상 행위 모델에는 정의되지 않은 행동 흐름을 보였다. 어느 정도의 이상 징후 발견 확률 값을 사용성 저해 요소 검출의 임계값으로 정해야 할 것인지는 논의에 의해 결정될 문제이지만, 통상적으로 50% 이상의 사용자가 설계 의도와 다른 행위를 보인다는 것은 50% 이상의 사용자가 해당 앱을 사용하는 데 있어서 불편함을 느끼고 있다는 것을 의미하므로 해결되어야 할 이슈로 판단 가능하다.
3-2) 이상 징후 2: GUI 컨트롤에 구현되지 않은 이벤트 발생
도 6a의 예상 행동 모델에서 정의된 이벤트는 ProductList 컨트롤에서 발생하는 slideDown() 이벤트와 EditButton 컨트롤에서 발생하는 touch() 이벤트, 두 가지이다. 그러나, 사용자 행동 모델에서는 이미 이상 징후 1에서 감지되었던 정의되지 않은 행동 흐름 상의 전이를 유발하는 ProductList.slideUp(), Zoom.touch(), 등의 GUI 모델 상에 포함되어 있지 않은 이벤트를 사용자가 발생시키고 있음을 알 수 있다. 이 같은 이상 징후 유형이 감지될 경우, 사용자 행동 모델에 포함된 이벤트에 대한 추가적인 구현을 고려해야 할 필요가 있다.
3-3) 이상 징후 3: 반복적으로 수행되는 상태전이
도 6a의 예제에서는 상태 ①에서 상태⑧로의 전이 후 상태⑧에서 Zoom.touch() 이벤트를 계속해서 발생시키는 사용자가 61%임을 알 수 있다. 이같이 사용자가 동일한 이벤트를 계속해서 발생시킨다는 것은 사용자가 기대하는 서비스가 모바일 앱에서 제대로 제공되고 있지 않음을 의미한다. 이와 같은 이상 징후 3의 경우, 해결을 위해 단순한 GUI 설계의 조정 외에도 실제 모바일 앱 서비스 로직 상에 오류가 없는지 검토해야 할 필요가 있다.
3-4) 이상 징후 4: 예상 수행시간 초과
예상 행동모델과 사용자 행동모델 중 동치인 상태 간의 전이 집합을 저장한다. 동치 관계인 예상 행동 모델의 상태전이의 총 소요 시간보다 사용자 행동 모델의 총 소요 시간이 임계치(예를 들어, 2배로 설정될 수 있다) 이상 소요될 경우, 네 번째 유형인 예상 수행시간 초과 이상 징후가 감지된 것으로 판단한다. 도 6a 및 도 6b의 예제 상에서는 상태 ① → 상태 ② → 상태 ③에 이르는 동치 전이 수행 시간이 예상 행동 모델의 경우 2743 ms인데 반해, 실제 사용자들이 수행한 평균수행시간은 5423.19 ms이다. n개의 서로 다른 전이흐름을 통해 도달 가능한 상태의 타임스탬프 값은 각 전이 흐름을 통한 도달시간의 평균값 n개 중 최소값을 채택한다. 상태 ③에 도달 가능한 세 가지 전이 흐름을 통한 평균 도달시간 중 최소값인 5423.19 ms는 예상 행동 모델에서의 상태 ③까지의 도달 시간인 2743 ms의 2배를 초과하는 값이므로 이상 징후 4가 감지된 것으로 판단 가능하다. 이상 징후 4의 원인은 GUI 설계가 사용자의 입장에서 이해하기 어렵게 구성되어 있기 때문일 수도 있으며, 이상 징후 3과 마찬가지로 실제 구현상의 오류로 인한 서비스 지연이 원인이 될 수 있다.
요약하건대, 본 발명의 실시예들에 따른 모바일 어플리케이션의 사용성 저해 요소 분석 방법에서, 상기 사용자 행동 모델에서 상기 예상 행동 모델에 포함되지 않은 행동 또는 상태전이가 발생할 경우 상기 설계자가 예상하지 못한 행동의 흐름이 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 상기 예상 행동 모델이 정의하지 않은 상태전이를 유발하는 제어 이벤트가 발생할 경우 상기 GUI 컨트롤에 구현되지 않은 이벤트가 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 동일한 이벤트가 발생하는 횟수를 계수함으로써 상기 반복적으로 수행되는 상태전이를 판단하며, 상기 예상 행동 모델과 상기 사용자 행동 모델 중 동치인 상태 간의 전이 집합에 대하여 동치 관계인 예상 행동 모델의 상태전이의 총 소요시간보다 사용자 행동 모델의 총 소요시간이 임계값 이상으로 소요되는지 여부를 검사함으로써 상기 예상 수행 시간의 초과를 판단할 수 있다.
도 7은 본 발명의 일 실시예에 따른 사용자 행위 로그를 이용한 모바일 어플리케이션의 사용성 저해 요소 분석 장치(100)를 도시한 블록도로서, 앞서 기술한 도 1의 일련의 과정에 대응하는 기능을 수행하는 구성 요소를 포함하고 있으므로, 여기서는 설명의 중복을 피하고자 장치 간의 연결 관계를 중심으로 각 구성 요소의 기능을 약술하도록 한다.
입력부(10)는, 모바일 어플리케이션(mobile application)에 대해 설계자 및 복수의 사용자들로부터 각각 사용 로그(log)를 수집하는 수단이다.
메모리(20)는, 모바일 어플리케이션의 사용성 저해 요소를 분석하는 프로그램을 저장하는 수단으로서, 상기 메모리에 저장된 프로그램은, 상기 설계자로부터 수집된 사용 로그(log)로부터 예상 행동 모델(expected behavior model)을 추출하고, 상기 복수의 사용자들로부터 수집된 사용 로그로부터 각각 사용자 행동 모델을 추출하고, 추출된 상기 사용자 행동 모델에 포함된 개별 행동 간의 동치 관계를 탐색하여 하나의 사용자 행동 모델로 병합하며, 추출된 상기 예상 행동 모델과 병합된 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목으로부터 사용성 저해 요소를 검출하는 일련의 명령어를 포함한다.
여기서, 상기 예상 행동 모델 및 상기 사용자 행동 모델은, 모바일 어플리케이션의 상태를 표현하되, 사용자의 조작에 반응하여 다른 상태로 전이되는 과정을 표현하는 유한 상태 기계(finite state machine) 모델로 설정될 수 있으며, 상기 유한 상태 기계 모델은, 상기 모바일 어플리케이션의 GUI(graphic user interface) 구성 요소의 식별자, 사용자 조작에 의한 입력값 및 사용자 이벤트 발생 시간을 포함하는 것이 바람직하다.
또한, 상기 메모리(20)에 저장된 프로그램은, 추출된 상기 사용자 행동 모델을 비교하여 상기 사용자 행동 모델에 포함된 개별 행동이 서로 동치인 상태전이(transition) 부분을 검출하고, 복수의 사용자 행동 모델로부터 검출된 상태전이 부분을 하나의 사용자 행동 모델에 순차적으로 추가함으로써, 상기 하나의 사용자 행동 모델로 병합할 수 있다.
나아가, 상기 메모리(20)에 저장된 프로그램은, 설계 의도를 나타내는 상기 예상 행동 모델과 실제 사용자의 행동을 나타내는 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목을 도출하고, 상기 차이점이 발생한 항목이 미리 정의된 사용자 저해 이상 징후에 해당하는지 여부를 검사하며, 검사 결과에 따라 상기 차이점 발생한 항목을 사용자 저해 요소로 선택적으로 출력함으로써, 상기 사용성 저해 요소를 검출할 수 있다. 특히, 상기 미리 정의된 사용자 저해 이상 징후는, 설계자가 예상하지 못한 행동의 흐름, GUI 컨트롤에 구현되지 않은 이벤트의 발생, 반복적으로 수행되는 상태전이 및 예상 수행 시간의 초과 중 적어도 하나를 포함할 수 있다. 만약, 상기 사용자 행동 모델에서 상기 예상 행동 모델에 포함되지 않은 행동 또는 상태전이가 발생할 경우 상기 설계자가 예상하지 못한 행동의 흐름이 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 상기 예상 행동 모델이 정의하지 않은 상태전이를 유발하는 제어 이벤트가 발생할 경우 상기 GUI 컨트롤에 구현되지 않은 이벤트가 검출된 것으로 판단하고, 상기 사용자 행동 모델에서 동일한 이벤트가 발생하는 횟수를 계수함으로써 상기 반복적으로 수행되는 상태전이를 판단하며, 상기 예상 행동 모델과 상기 사용자 행동 모델 중 동치인 상태 간의 전이 집합에 대하여 동치 관계인 예상 행동 모델의 상태전이의 총 소요시간보다 사용자 행동 모델의 총 소요시간이 임계값 이상으로 소요되는지 여부를 검사함으로써 상기 예상 수행 시간의 초과를 판단할 수 있다.
처리부(30)는, 적어도 하나의 프로세서(processor)를 구비하여 상기 메모리(20)에 저장된 사용성 저해 요소를 분석하는 프로그램을 구동하는 수단으로서, 별도의 디스플레이부(50)를 통해 분석 결과를 출력할 수 있다.
한편, 본 발명의 일 실시예에 따른 사용자 행위 로그를 이용한 모바일 어플리케이션의 사용성 저해 요소 분석 장치(100)는, 모바일 어플리케이션에 대해 설계자 및 복수의 사용자들의 조작에 의한 입력값과 상기 조작의 대상 객체를 매칭하여 미리 사용 로그로 저장하는 저장부(15)를 더 포함할 수 있다. 구현의 관점에서, 상기 사용 로그 중 상기 조작에 의한 입력값은 터치 좌표, 시간 정보 및 제스처의 종류를 포함하고, 상기 사용 로그 중 상기 조작의 대상 객체는 GUI 식별자를 포함하는 구조 정보인 것이 바람직하다.
모바일 앱은 웹 어플리케이션과 비교하여 다양한 디바이스에 다양한 사용자 제스쳐를 통해 서비스를 제공할 수 있다는 장점을 가지고 있으나, 사용자의 의도를 정확히 파악하여 설계되지 못한 GUI는 사용자로 하여금 원하는 서비스를 제공받는 데 있어서 불편함을 초래할 수 있다. 이러한 문제를 해결하기 위하여 실제로 서비스 기능 개발 시간과 비교하여 비교적 많은 개발 인력과 시간이 GUI 사용성 테스트에 할애되고 있다. 그러나, GUI 사용성 테스트 결과에 기록된 사용성 관련 이슈들 중 상당 부분은, 몇 가지의 정형화된 검출 기법을 통해 자동 검출이 가능함에 주목하였다.
상기된 본 발명의 실시예들에 따르면, 사용자 행위 로그를 유한 상태 모델로 표현하고 여러 명의 사용자로부터 추출된 사용자 행위 모델을 병합하여 설계자의 의도가 반영된 예상 행위 모델과 비교함으로써, 체계적으로 모바일 앱의 GUI 모델상에 잠재된 사용성 저해 요소를 검출하는 것이 가능하다. 또한, 본 발명의 실시예들은 자동 검출이 가능한 모바일 앱의 사용성 저해 요소의 유형을 식별하고, 사용자 로그 분석을 통해 저해 요소들을 자동으로 검출해 냄으로써, 기존 개발자들이 사용성 오류 검출을 위해 행해왔던 반복적인 테스트 작업의 부담을 크게 감소시킬 수 있다.
한편, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 이 때, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
100: 모바일 어플리케이션의 사용성 저해 요소를 분석하는 장치
10: 입력부, 프로브
11: 멍키러너 12: 계층 뷰어
15: 저장부, 터치 로그 저장소 및 뷰 저장소
20: 메모리
30: 처리부
31: 행동 모델 생성기 32: 이상 증후 분석기
50: 디스플레이부

Claims (19)

  1. 적어도 하나의 프로세서(processor)를 구비하여 모바일 어플리케이션(mobile application)의 사용성 저해 요소를 분석하는 방법에 있어서,
    모바일 어플리케이션에 대해 설계자로부터 수집된 사용 로그(log)로부터 예상 행동 모델(expected behavior model)을 추출하는 단계;
    상기 모바일 어플리케이션에 대해 복수의 사용자들로부터 수집된 사용 로그로부터 각각 사용자 행동 모델을 추출하는 단계;
    추출된 상기 사용자 행동 모델에 포함된 개별 행동 간의 동치 관계를 탐색하여 하나의 사용자 행동 모델로 병합하는 단계; 및
    추출된 상기 예상 행동 모델과 병합된 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목으로부터 사용성 저해 요소를 검출하는 단계를 포함하는 모바일 어플리케이션의 사용성 저해 요소 분석 방법.
  2. 제 1 항에 있어서,
    상기 예상 행동 모델 및 상기 사용자 행동 모델은,
    모바일 어플리케이션의 상태를 표현하되, 사용자의 조작에 반응하여 다른 상태로 전이되는 과정을 표현하는 유한 상태 기계(finite state machine) 모델로 설정되는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 방법.
  3. 제 2 항에 있어서,
    상기 유한 상태 기계 모델은,
    상기 모바일 어플리케이션의 GUI(graphic user interface) 구성 요소의 식별자, 사용자 조작에 의한 입력값 및 사용자 이벤트 발생 시간을 포함하는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 방법.
  4. 제 1 항에 있어서,
    상기 하나의 사용자 행동 모델로 병합하는 단계는,
    추출된 상기 사용자 행동 모델을 비교하여 상기 사용자 행동 모델에 포함된 개별 행동이 서로 동치인 상태전이(transition) 부분을 검출하는 단계; 및
    복수의 사용자 행동 모델로부터 검출된 상태전이 부분을 하나의 사용자 행동 모델에 순차적으로 추가하는 단계를 포함하는 모바일 어플리케이션의 사용성 저해 요소 분석 방법.
  5. 제 1 항에 있어서,
    상기 사용성 저해 요소를 검출하는 단계는,
    설계 의도를 나타내는 상기 예상 행동 모델과 실제 사용자의 행동을 나타내는 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목을 도출하는 단계;
    상기 차이점이 발생한 항목이 미리 정의된 사용자 저해 이상 징후에 해당하는지 여부를 검사하는 단계; 및
    검사 결과에 따라 상기 차이점 발생한 항목을 사용자 저해 요소로 선택적으로 출력하는 단계를 포함하는 모바일 어플리케이션의 사용성 저해 요소 분석 방법.
  6. 제 5 항에 있어서,
    상기 미리 정의된 사용자 저해 이상 징후는,
    설계자가 예상하지 못한 행동의 흐름, GUI 컨트롤에 구현되지 않은 이벤트의 발생, 반복적으로 수행되는 상태전이 및 예상 수행 시간의 초과 중 적어도 하나를 포함하는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 방법.
  7. 제 6 항에 있어서,
    상기 사용자 행동 모델에서 상기 예상 행동 모델에 포함되지 않은 행동 또는 상태전이가 발생할 경우 상기 설계자가 예상하지 못한 행동의 흐름이 검출된 것으로 판단하고,
    상기 사용자 행동 모델에서 상기 예상 행동 모델이 정의하지 않은 상태전이를 유발하는 제어 이벤트가 발생할 경우 상기 GUI 컨트롤에 구현되지 않은 이벤트가 검출된 것으로 판단하고,
    상기 사용자 행동 모델에서 동일한 이벤트가 발생하는 횟수를 계수함으로써 상기 반복적으로 수행되는 상태전이를 판단하며,
    상기 예상 행동 모델과 상기 사용자 행동 모델 중 동치인 상태 간의 전이 집합에 대하여 동치 관계인 예상 행동 모델의 상태전이의 총 소요시간보다 사용자 행동 모델의 총 소요시간이 임계값 이상으로 소요되는지 여부를 검사함으로써 상기 예상 수행 시간의 초과를 판단하는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 방법.
  8. 제 1 항에 있어서,
    모바일 어플리케이션에 대해 설계자 및 복수의 사용자들의 조작에 의한 입력값과 상기 조작의 대상 객체를 매칭하여 미리 사용 로그로 저장하는 단계;를 더 포함하는 모바일 어플리케이션의 사용성 저해 요소 분석 방법.
  9. 제 8 항에 있어서,
    상기 사용 로그 중 상기 조작에 의한 입력값은 터치 좌표, 시간 정보 및 제스처의 종류를 포함하고,
    상기 사용 로그 중 상기 조작의 대상 객체는 GUI 식별자를 포함하는 구조 정보인 것을 특징으로 모바일 어플리케이션의 사용성 저해 요소 분석 방법.
  10. 제 1 항 내지 제 9 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  11. 모바일 어플리케이션(mobile application)에 대해 설계자 및 복수의 사용자들로부터 각각 사용 로그(log)를 수집하는 입력부;
    모바일 어플리케이션의 사용성 저해 요소를 분석하는 프로그램을 저장하는 메모리; 및
    적어도 하나의 프로세서(processor)를 구비하여 상기 사용성 저해 요소를 분석하는 프로그램을 구동하는 처리부를 포함하되,
    상기 메모리에 저장된 프로그램은,
    상기 설계자로부터 수집된 사용 로그(log)로부터 예상 행동 모델(expected behavior model)을 추출하고, 상기 복수의 사용자들로부터 수집된 사용 로그로부터 각각 사용자 행동 모델을 추출하고, 추출된 상기 사용자 행동 모델에 포함된 개별 행동 간의 동치 관계를 탐색하여 하나의 사용자 행동 모델로 병합하며, 추출된 상기 예상 행동 모델과 병합된 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목으로부터 사용성 저해 요소를 검출하는 명령어를 포함하는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 장치.
  12. 제 11 항에 있어서,
    상기 예상 행동 모델 및 상기 사용자 행동 모델은,
    모바일 어플리케이션의 상태를 표현하되, 사용자의 조작에 반응하여 다른 상태로 전이되는 과정을 표현하는 유한 상태 기계(finite state machine) 모델로 설정되는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 장치.
  13. 제 12 항에 있어서,
    상기 유한 상태 기계 모델은,
    상기 모바일 어플리케이션의 GUI(graphic user interface) 구성 요소의 식별자, 사용자 조작에 의한 입력값 및 사용자 이벤트 발생 시간을 포함하는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 장치.
  14. 제 11 항에 있어서,
    상기 메모리에 저장된 프로그램은,
    추출된 상기 사용자 행동 모델을 비교하여 상기 사용자 행동 모델에 포함된 개별 행동이 서로 동치인 상태전이(transition) 부분을 검출하고, 복수의 사용자 행동 모델로부터 검출된 상태전이 부분을 하나의 사용자 행동 모델에 순차적으로 추가함으로써, 상기 하나의 사용자 행동 모델로 병합하는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 장치.
  15. 제 11 항에 있어서,
    상기 메모리에 저장된 프로그램은,
    설계 의도를 나타내는 상기 예상 행동 모델과 실제 사용자의 행동을 나타내는 상기 사용자 행동 모델을 비교하여 차이점이 발생한 항목을 도출하고, 상기 차이점이 발생한 항목이 미리 정의된 사용자 저해 이상 징후에 해당하는지 여부를 검사하며, 검사 결과에 따라 상기 차이점 발생한 항목을 사용자 저해 요소로 선택적으로 출력함으로써, 상기 사용성 저해 요소를 검출하는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 장치.
  16. 제 15 항에 있어서,
    상기 미리 정의된 사용자 저해 이상 징후는,
    설계자가 예상하지 못한 행동의 흐름, GUI 컨트롤에 구현되지 않은 이벤트의 발생, 반복적으로 수행되는 상태전이 및 예상 수행 시간의 초과 중 적어도 하나를 포함하는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 장치.
  17. 제 16 항에 있어서,
    상기 사용자 행동 모델에서 상기 예상 행동 모델에 포함되지 않은 행동 또는 상태전이가 발생할 경우 상기 설계자가 예상하지 못한 행동의 흐름이 검출된 것으로 판단하고,
    상기 사용자 행동 모델에서 상기 예상 행동 모델이 정의하지 않은 상태전이를 유발하는 제어 이벤트가 발생할 경우 상기 GUI 컨트롤에 구현되지 않은 이벤트가 검출된 것으로 판단하고,
    상기 사용자 행동 모델에서 동일한 이벤트가 발생하는 횟수를 계수함으로써 상기 반복적으로 수행되는 상태전이를 판단하며,
    상기 예상 행동 모델과 상기 사용자 행동 모델 중 동치인 상태 간의 전이 집합에 대하여 동치 관계인 예상 행동 모델의 상태전이의 총 소요시간보다 사용자 행동 모델의 총 소요시간이 임계값 이상으로 소요되는지 여부를 검사함으로써 상기 예상 수행 시간의 초과를 판단하는 것을 특징으로 하는 모바일 어플리케이션의 사용성 저해 요소 분석 장치.
  18. 제 11 항에 있어서,
    모바일 어플리케이션에 대해 설계자 및 복수의 사용자들의 조작에 의한 입력값과 상기 조작의 대상 객체를 매칭하여 미리 사용 로그로 저장하는 저장부;를 더 포함하는 모바일 어플리케이션의 사용성 저해 요소 분석 장치.
  19. 제 18 항에 있어서,
    상기 사용 로그 중 상기 조작에 의한 입력값은 터치 좌표, 시간 정보 및 제스처의 종류를 포함하고,
    상기 사용 로그 중 상기 조작의 대상 객체는 GUI 식별자를 포함하는 구조 정보인 것을 특징으로 모바일 어플리케이션의 사용성 저해 요소 분석 장치.
KR1020160067230A 2016-05-31 2016-05-31 모바일 어플리케이션의 사용성 저해 요소 분석 장치 및 방법 KR101810648B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160067230A KR101810648B1 (ko) 2016-05-31 2016-05-31 모바일 어플리케이션의 사용성 저해 요소 분석 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160067230A KR101810648B1 (ko) 2016-05-31 2016-05-31 모바일 어플리케이션의 사용성 저해 요소 분석 장치 및 방법

Publications (2)

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

Family

ID=60920176

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160067230A KR101810648B1 (ko) 2016-05-31 2016-05-31 모바일 어플리케이션의 사용성 저해 요소 분석 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101810648B1 (ko)

Cited By (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

Cited By (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

Also Published As

Publication number Publication date
KR101810648B1 (ko) 2018-01-25

Similar Documents

Publication Publication Date Title
US20210049092A1 (en) Analyzing software test failures using natural language processing and machine learning
US8645912B2 (en) System and method for use in replaying software application events
Gouveia et al. Using HTML5 visualizations in software fault localization
US8612372B2 (en) Detection rule-generating facility
US20120116561A1 (en) Program testing apparatus, method of testing a program, and program testing program
JP6066081B2 (ja) フォールトツリーを生成する装置及び方法
EP2354948A1 (en) Device for supporting detection of failure event, method for supporting detection of failure event, and computer program
Agarwal et al. Diagnosing mobile applications in the wild
CN102184138A (zh) 一种软件错误自动重现和定位的方法及系统
KR101312446B1 (ko) 사용자의 행위 로그를 이용한 모바일 어플리케이션의 사용성 분석 장치 및 방법
Roehm et al. Monitoring user interactions for supporting failure reproduction
Kang et al. Development of a Bayesian belief network model for software reliability quantification of digital protection systems in nuclear power plants
US10977108B2 (en) Influence range specifying method, influence range specifying apparatus, and storage medium
EP3547110B1 (en) Code correction
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
Agarwal et al. There’s an app for that, but it doesn’t work. Diagnosing mobile applications in the wild
CN114371974A (zh) 埋点数据校验方法及电子设备
KR101810648B1 (ko) 모바일 어플리케이션의 사용성 저해 요소 분석 장치 및 방법
Ntoa et al. UXAmI observer: an automated user experience evaluation tool for ambient intelligence environments
JP5962367B2 (ja) フォールトツリー生成プログラム
KR101233312B1 (ko) 발전소 성능평가 시뮬레이션 장치 및 그 방법
CN115599375A (zh) 一种基于rpa系统的数据处理方法及设备
Hao et al. Test-data generation guided by static defect detection
WO2015001721A1 (ja) ユーザインタフェース検査方法、装置およびプログラム

Legal Events

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