KR20190135074A - 딥러닝 알고리즘 및 트리를 이용한 ui테스팅 자동화 방법 및 동일 방법으로 구현된 장치 - Google Patents
딥러닝 알고리즘 및 트리를 이용한 ui테스팅 자동화 방법 및 동일 방법으로 구현된 장치 Download PDFInfo
- Publication number
- KR20190135074A KR20190135074A KR1020180060053A KR20180060053A KR20190135074A KR 20190135074 A KR20190135074 A KR 20190135074A KR 1020180060053 A KR1020180060053 A KR 1020180060053A KR 20180060053 A KR20180060053 A KR 20180060053A KR 20190135074 A KR20190135074 A KR 20190135074A
- Authority
- KR
- South Korea
- Prior art keywords
- tree
- node
- deep learning
- learning algorithm
- testing
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Image Analysis (AREA)
Abstract
본 발명의 실시예에 따른 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법은 소정의 딥러닝 알고리즘에 기반하여 캡쳐이미지로부터 오브젝트를 추출하고, 상기 캡쳐이미지 및 상기 추출된 오브젝트를 활용하여 생성된 노드로 구성된 트리를 생성하는 제1 단계 및 상기 생성된 트리를 이용하여 사용자 인터페이스 테스팅을 자동화 수행하는 제2 단계를 포함할 수 있다.
Description
본 발명은 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법 및 장치에 관한 것으로, 보다 구체적으로, 캡쳐이미지로부터 오브젝트를 추출하여 추출된 오브젝트와 관련된 트리를 생성함으로서, 생성된 트리를 이용하여 UI테스팅을 자동화하기 위한, 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법 및 장치에 관한 것이다.
인포테인먼트(infotainment)는 정보(Information)와 오락 (Entertainment)의 합성어로 정보와 오디오 및 시각적인 엔터테인먼트를 제공하는 장치를 말한다. 최근 텔레메틱스(Telematics), 커넥티드 카(Connected Car), 자율 주행 자동차 기술의 발전으로 인해 차량용 인포테인먼트 시스템(In-Vehicle Infotainment, IVI)은 단순한 멀티미디어 장치를 뛰어넘어 사용자에게 차량의 정보를 알려주거나 직접 차량을 제어하는 등 역할과 중요도가 크게 높아졌다. IVI가 발전하면서 차량과 사용자의 상호작용을 담당하는 사용자 인터페이스(User Interface, UI)는 복잡성이 증가되었고, 높은 품질의 UI 개발을 위한 UI 테스팅 기술의 필요성 또한 증대 되었다. UI 테스팅이란 사용자가 인터페이스를 통해 시스템을 조작했을 때 원하는 반응과 화면 변화가 이루어지는지 확인하는 과정이다. 이러한 과정을 테스터가 수동으로 진행한다면 많은 인력과 비용이 발생된다. 특히 테스트 수행에 소모되는 자원의 양은 테스터에게 상당한 부담을 줄 수 있으므로, UI 테스팅 자동화는 필수적인 요소이다.
본 발명은 최소한의 자원으로 효율적인 자동화된 UI 테스팅을 구현하는데에 그 목적이 있다.
본 발명의 실시예에 따른 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법은, 소정의 딥러닝 알고리즘에 기반하여 캡쳐이미지로부터 오브젝트를 추출하고, 상기 캡쳐이미지 및 상기 추출된 오브젝트를 활용하여 생성된 노드로 구성된 트리를 생성하는 제1 단계 및 상기 생성된 트리를 이용하여 UI테스팅을 자동화하는 제2 단계를 포함할 수 있다.
본 발명의 다른 실시예에 따른 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 장치는, 소정의 딥러닝 알고리즘에 기반하여 캡쳐이미지로부터 오브젝트를 추출하는 오브젝트 추출부, 상기 캡쳐이미지 및 상기 추출된 오브젝트를 활용하여 생성된 노드로 구성된 트리를 생성하는 트리생성부; 및 상기 생성된 트리를 이용하여 사용자 인터페이스 테스팅을 자동화 수행하는 UI테스팅 자동화부;를 포함할 수 있다.
본 발명의 다른 실시예에 따른 컴퓨터 판독 가능한 기록 매체는 본 발명의 실시예에 따른 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법을 실행하기 위한 컴퓨터 프로그램을 기록할 수 있다.
본 발명의 실시예에 따르면, UI 테스팅을 자동화 할 수 있으며, 테스트 케이스에서 사용될 수 있는 리소스(정답 이미지, 클릭 포인트 좌표 등)생성 및 테스트가 필요한 화면까지의 이동과 같이 단순하고 반복적인 작업을 테스터 대신해줌으로써 테스터가 최소한의 시간으로 효율적인 UI 테스팅을 이루어 낼 수 있도록 한다.
본 발명의 실시예에 따르면, 노드에 추가하고자 하는 캡쳐이미지가 해당 경로 상에 이미 존재하는지 여부를 판단하여, 이미 존재하지 않는 경우에만 노드 추가를 수행함으로서 시스템 오류를 줄이고, 보다 빠른 테스트 수행이 가능해진다.
본 발명의 실시예에 따르면, 노드 정보를 일일이 입력받지 않고, 사용자가 테스트하고자 하는 소정의 경로 정보만을 입력받아도, 해당 경로에 대응하는 기 저장된 경로와의 비교 수행이 가능해지므로, 효율적이고 빠른 테스트 수행이 가능해진다는 이점이 있다.
본 발명의 실시예에 따르면, 소스코드 스크립트가 간소화될 수 있으며, 테스팅 타겟 시스템의 UI가 변경되더라도, 메뉴트리 탐색을 재 수행한 결과를 반복적으로 이용할 수 있어, 스크립트 코드의 재사용성을 향상시킬 수 있게 된다.
도 1은 본 발명의 실시예에 따른 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 장치에 대한 블록도
도 2 내지 도 4는 본 발명의 실시예에 따른 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법에 대한 순서도
도 5 내지 도 9는 본 발명의 실시예에 따른 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법을 기술하기 위해 참조되는 도면
도 2 내지 도 4는 본 발명의 실시예에 따른 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법에 대한 순서도
도 5 내지 도 9는 본 발명의 실시예에 따른 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법을 기술하기 위해 참조되는 도면
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 첨부되는 도면을 참조하여 본 발명의 실시예에 따른 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법 및 장치에 대해 기술하고자 한다.
도 1은 본 발명의 실시예에 따른 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 장치에 대한 블록도이다.
도 1에 도시한 바와 같이, 본 발명의 실시예에 따른 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 장치는 입력부(100), 제어부(200), 메모리부(300), 및 출력부(400)를 포함할 수 있다.
입력부(100)는 사용자가 컴퓨팅 시스템을 조작할 수 있도록 하는 입력 경로가 되는 것으로, 키보드, 마우스, 포인팅 장치, 터치 스크린 등을 포함할 수 있다.
제어부(200)는 입력부(100), 메모리부(300), 출력부(400)와 연동되어 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 장치를 제어하는 것으로, 본 발명의 일 실시예에 따라 오브젝트 추출부(210), 트리생성부(220), 및 UI테스팅 자동화부(230)를 포함할 수 있다. 블록도 내의 각 구성요소에 대해서는 이하에서 자세하게 후술한다.
메모리부(300)는 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 장치의 다양한 정보를 저장한다. 메모리부(300)는 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 장치에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법 수행을 위한 관련 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수도 있다.
출력부(400)는 터치스크린, 모니터 등을 포함하며, 제어부(200)를 통해 처리된 결과를 디스플레이할 수 있다.
도 2 내지 도 4는 본 발명의 실시예에 따른 딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법에 대한 순서도이다.
도 2에 도시한 바와 같이, 오브젝트 추출부(210)는 소정의 딥러닝 알고리즘에 기반하여 캡쳐이미지로부터 오브젝트를 추출할 수 있고, 트리생성부(220)는 캡쳐이미지 및 상기 추출된 오브젝트를 활용하여 생성된 노드로 구성된 트리를 생성할 수 있다(S200). UI테스팅 자동화부(230)는 생성된 트리를 이용하여 UI테스팅을 자동화 수행할 수 있다(S300).
도 2의 S200 단계는 도 3에서 상술하며, 도 2의 S300 단계는 도 4에서 상술한다.
참고로, 본 발명의 실시예에 따르면, 차량 자동화 테스팅 툴 중 하나인 자동차 인포테인먼트 시스템 테스팅 자동화 툴 (Vehicle Infotainment System Testing Automation, VISTA)에 본 발명의 알고리즘이 적용된 예를 기술하였으나, 본 발명의 권리범위가 이에 제한되지 않고 화면을 캡쳐할 수 있는 모든 시스템에 적용 가능하다. 차량 자동화 테스팅 툴은 C/C++ 기반의 스크립트로 작성될 수 있다.
도 3에 도시한 바와 같이, 트리생성부(220)는 제N캡쳐이미지에 대응하는 제N노드를 소정의 경로상에 추가할 수 있다(S210). 예를 들어, 도 5를 참조하면, 차량 자동화 테스팅 툴은 메뉴트리(C) 및 메뉴트리의 각 노드와 관련된 사용자 인터페이스 캡쳐이미지(A,B)를 함께 출력할 수 있다.
도 5의 제1캡쳐이미지(A)에 대응하는 제1노드(1번노드, 루트노드)를 생성할 수 있다. 여기서, 제1캡쳐이미지(A)는 AVN(Audio Video Navigation) 시스템 기반의 사용자 인터페이스 테스팅 대상이 되는 초기 화면일 수 있다. (예, 네비게이션 홈 화면) 한편, 이는 일 실시예에 불과하고, 차량 내부의 AVN 시스템을 위한 사용자 인터페이스 화면 뿐 아니라, 다른 사용자 인터페이스 화면에도 본 기술이 동일/유사하게 적용될 수 있다. 도 5에 도시한 바와 같이, 생성된 제1노드를 기초로, 제1노드를 포함하여 소정의 제1경로(path)가 생성된다. 도 5에 도시된 바와 같이, 메뉴트리(C)는 노드와 간선(화살표)으로 구성된 경로(path)들의 집합체이다. 본 발명에서 노드는 캡쳐화면에 대한 정보를 포함할 수 있고, 간선은 캡쳐화면간 전이(transition)을 나타낸다. 그리고, 제1노드에서 제2노드로 전이된다는 것은, 제1캡쳐화면에서 제2캡쳐화면으로 변경된다는 것을 의미하고, 특히, 제2캡쳐화면은 사용자 인터페이스 테스팅 대상이 되는 제1캡쳐화면과 관련된 제1캡쳐화면의 다음 화면일 수 있다. 예를 들어, 제2캡쳐화면은, 제1캡쳐화면의 특정 오브젝트과 관련된 컨텐츠가 출력되는, 사용자 인터페이스 테스팅 대상이 되는 제1캡쳐화면의 순차적인 다음 화면일 수 있다.
트리생성부(220)는 제N캡쳐이미지로부터 소정의 딥러닝 알고리즘에 기반하여 제N오브젝트를 추출할 수 있으며(S220), 추출된 제N오브젝트와 관련된 제N+1캡쳐이미지가 출력될 수 있다. 예를 들어, 도 5를 참조하면, 제1캡쳐이미지(A)로부터 제1오브젝트([o])를 추출할 수 있다. 그리고, 제1오브젝트([o])의 컨텐츠를 포함하는 제2캡쳐이미지(B)가 출력될 수 있다. 본 발명에서 이미지로부터 오브젝트 추출은 딥 러닝 뉴럴 네트워크(Deep Learning Neural Network) 기반의 알고리즘을 이용하여 자동 추출이 진행될 수 있다. 예를 들어, Fast R-CNN(Convolutional Neural Networks)알고리즘을 이용하여 이미지와 이미지 내부에서 추출하고자 하는 객체의 바운더리를 입력받고, 입력시킨 객체와 유사한 형태의 객체를 찾아내도록 학습하는 과정을 수행할 수 있다. 본 발명에서는 특히, 사용자 인터페이스 화면에 대해 선택 가능한 영역(버튼, 위젯 등)등을 학습시킴으로서, 특정 화면에서 선택 가능한 객체들을 찾아낼 수 있게 된다. 한편, 전술한 딥 러닝 뉴럴 네트워크 기반의 알고리즘은 일례에 불과하며, 다양한 다른 종류의 딥 러닝 뉴럴 네트워크 기반의 알고리즘을 본 발명에 적용하여 오브젝트 추출을 수행할 수도 있다.
트리생성부(220)는 추출된 제N오브젝트와 관련된 제N+1캡쳐이미지가 소정의 조건을 만족하는 지 여부를 판단할 수 있다(S230) 그리고, 트리생성부(220)는 추출된 제N오브젝트와 관련된 제N+1캡쳐이미지가 소정의 조건을 만족하는 경우, 제N+1캡쳐이미지에 대응하는 제N+1노드를 추가할 수 있다(S240). 반면, 추출된 제N오브젝트와 관련된 제N+1캡쳐이미지가 소정의 조건을 만족하지 않는 경우, 추가 노드 생성을 중지할 수 있다(S270). 예를 들어, 도 5의 추출된 제1오브젝트([o])와 관련된 제2캡쳐이미지(B)가 소정의 경로 상에 기 존재하지 않는 제1 조건 및 상기 제2캡쳐이미지(B)가 추출가능한 제2오브젝트([o'])를 포함하는 제2 조건을 만족하는 지 여부를 판단할 수 있다.
제1 조건을 판단하는 것은, 소정의 경로 상에 이미 존재하는 캡쳐이미지가 경로 상에 다시 포함되면 동일 화면이 연속하여 생성됨으로서 무한루프에 빠질 염려가 있기 때문에, 이를 방지하기 위해서 필요하다. 따라서, 본 발명에서는 제2캡쳐이미지(B)가 소정의 경로 상에 기 존재하지 않을 경우에만 제2캡쳐이미지(B)에 대응하는 제2노드를 추가할 수 있다. 도 5에서는 제2캡쳐이미지(B)가 소정의 경로 상에 기 존재하지 않으므로, 제1노드에 이어서 제2노드를 추가하게 된다. 그리고, 소정의 제1경로(path)는 제1노드 및 제2노드를 포함하게 되는 것이다. 다른 실시예에 따라서는, 캡쳐이미지가 소정의 경로 상에 기 존재하는 지 여부와 함께, 오브젝트 추출 과정에서 잘못된 오브젝트를 추출한다거나 비활성화된 오브젝트를 인식하였는지 여부도 함께 판단할 수도 있다.
제2 조건을 판단하는 것은, 제2캡쳐이미지(B)가 추출가능한 제2오브젝트([o'])를 포함하지 않는다면, 이는 테스팅을 위한 사용자 인터페이스 화면 상에서 더 이상 선택(또는 사용자 입력) 가능한 오브젝트를 포함하지 않는다는 것을 의미하므로, 이 경우에는 더 이상 추가 노드를 생성할 필요가 없다는 데서 의미가 있다.
즉, 전술한 제1 조건 및 제2 조건을 모두 만족하는 경우에만, 노드 추가를 수행하고, 어느 하나의 조건이라도 만족하지 않는다면, 추가 노드 생성을 중지할 수 있다. 한편, 다른 실시예에 따라서, 두가지 조건 중 어느 하나만 만족하는 경우에도 노드 추가를 수행하는 방식으로 구현될 수도 있다.
이때, 제1노드 및 제2노드는 각각 클릭(click)입력이 가능하도록 구현될 수 있다. 즉, 제1노드 및 제2노드는 각각 클릭(click)의 좌표 정보를 포함할 수 있다. 그리고, 클릭입력으로 제1노드에 대응하는 제1캡쳐이미지(A)가 출력될 수 있고, 또 다른 클릭입력으로 제2노드에 대응하는 제2캡쳐이미지(B)가 출력될 수 있다.
본 발명에서, 제N+1노드는 상기 추출된 상기 제N오브젝트의 좌표 정보와 상기 제N오브젝트의 이미지 정보를 포함할 수 있다. 도 5를 참조하면, 제2노드(2번노드)는 제1오브젝트([o])의 좌표 정보와 제1오브젝트([o])의 이미지 정보를 포함할 수 있다. 즉, 자식노드는 부모노드의 캡쳐화면 상에 있는 특정 오브젝트의 2차원 좌표 정보와 이미지 정보를 포함하여, 현재노드가 이전노드와 관련된 정보를 참조할 수 있고, 현재노드가 이전노드와 연결될 수 있다. 제1오브젝트([o])의 좌표 정보는 화면상에 위치한 x,y 좌표(위치) 정보를 포함할 수 있고, 이미지 정보는 오브젝트([o])의 크기, 형태 등의 정보를 포함할 수 있다. 본 발명에서는 좌표 정보와 이미지 정보가 2차원 상에서 구현된 것을 기술하였으나, 다른 실시예에 따르면, 오브젝트가 3차원으로 구현되어, 3차원 기반의 좌표 정보와 이미지 정보를 포함할 수도 있다.
그리고, N+1 인덱스를 다시 N으로 설정하여(S250), 전술한 S220 내지 S250 단계를 반복 수행할 수 있다. 즉, 도 5에 따르면, 제2 노드가 추가로 트리에 이어져서 제1경로에 포함된 이후에, 제2캡쳐이미지(B)로부터 제2오브젝트([o'])를 추출하고, 추출된 제2오브젝트([o'])와 관련된 제3캡쳐이미지(미도시)가 전술한 소정의 조건을 만족하였는지 여부를 판단하여 제3 노드 추가를 결정한다. 이러한 단계를 반복 수행하여 도 6 및 도 7과 같은 제1경로가 완성된다. 도 6 및 도 7는 상기 반복 수행으로 마지막 노드(12번노드)까지 생성하여 제1 경로를 완성한 것이며, 최종적으로, AUX 케이블 연결 상태를 테스트하고자 하는 사용자 인터페이스의 목적 화면 결과가 출력된 것을 확인할 수 있다. 도 5에 도시한 바와 같이 메뉴트리(C)는 제N노드 및 제N+1노드로 구성된 제1 경로 이외에도, 다른 노드 및 다른 경로를 더 포함하고, 상기 다른 노드에 대해서 전술한 S220 단계 내지 S250단계를 반복 수행하여 상기 다른 경로를 생성할 수 있다.
트리생성부(220)는 도3의 방법으로 생성된 메뉴트리를 메모리(300)에 저장할 수 있다(S260). 메뉴트리가 저장될 때, 각 노드, 캡쳐이미지, 오브젝트 정보도 함께 저장될 수 있다.
지금까지는, 도 2의 S200단계를 상술하여 캡쳐이미지로부터 오브젝트를 추출 및 노드로 구성된 메뉴트리를 생성하여 저장하는 과정에 대해 기술하였다. 이하 단계에서는, 생성된 트리를 이용해 UI테스팅을 자동화하는 S300단계에 대해 상술하고자 한다.
도 4에 도시한 바와 같이, UI테스팅 자동화부(230)는 사용자에 의한 플레이(PLAY) 버튼 입력을 수신할 수 있다(S310). 플레이 버튼은 도 5에 도시한 바와 같이, 차량 자동화 테스팅 툴 상에 구현된 소정의 객체일 수 있다. 플레이 버튼 입력을 수신하면, UI테스팅 자동화부(230)는 메뉴트리를 생성할 수 있다(S320) 생성된 메뉴트리는 메모리(300)에 저장될 수 있다.
UI테스팅 자동화부(230)는 사용자로부터 소정의 경로 정보를 입력 받을 수 있다(S330). 노드 정보를 일일이 입력받지 않고, 사용자가 테스트하고자 하는 소정의 경로 정보만을 입력받아도, 해당 경로에 대응하는 기 저장된 경로와의 비교 수행이 가능해지므로, 효율적이고 빠른 테스트 수행이 가능해진다는 이점이 있다. 본 발명에서는, 생성된 트리에 기 저장된 제1경로에 대응하는 경로 정보를 입력받을 수 있다.
UI테스팅 자동화부(230)는 생성된 트리의 제N+1노드에 포함된 정보와 소정의 경로 정보에 포함된 노드 정보를 각각 일대일 대응하여 비교할 수 있다(S340) 도 5 및 도 6에 도시한, 생성된 트리에 기 저장된 제1 경로에 포함된 각 노드(2번, 10번, 11번, 12번)와 사용자로부터 입력된 경로 정보에 포함된 각 노드 정보를 각각 일대일 대응하여 비교할 수 있다. 전술한 바와 같이, 생성된 트리의 제N+1노드는 추출된 제N오브젝트의 좌표 정보와 제N오브젝트의 이미지 정보를 포함할 수 있고, 이들 좌표 정보와 이미지 정보를 사용자로부터 입력된 경로 정보에 포함된 각 노드에 포함된 오브젝트의 좌표 정보와 이미지 정보와 각각 비교하는 과정을 거치게 된다. 이때, UI테스팅 자동화부(230)는 사용자 인터페이스 각 화면의 전환에 대한 테스팅을 자동 수행하게 된다.
UI테스팅 자동화부(230)는 전술한 비교 결과를 출력할 수 있다(S350). 도 8에 도시한 바와 같이, 출력 결과 화면은 생성된 트리의 경로에 기 저장된 노드로부터 획득된 기준 데이터(reference data) 항목, 테스팅 대상이 되는 기기와 관련하여 사용자로부터 입력된 경로의 노드로부터 획득된 기기 데이터(device data) 항목, 기준 데이터(reference data)와 기기 데이터(device data)를 비교한 결과, 해당 차이점이 있을 경우, 차이점 부분을 기술한 차이점 데이터(difference data) 항목, 기준 데이터(reference data)와 기기 데이터(device data)를 비교한 결과 일치하면 테스트 통과를 기입하고, 불일치하면 테스트 실패를 기입(또는 알람) 하기 위한 결과(result) 항목을 포함할 수 있다. 본 발명의 실시예에 따라, 도 8에 도시한 각 항목은 하나 또는 복수개가 조합되어 결과 화면에 출력될 수 있다. 그밖에, 이벤트명칭, 이벤트시간, 경과시간, 로그 등의 정보도 함께 출력될 수 있다. 이에 따라, 테스트 결과가 통과하면, 해당 기기는 정확한 프로그램으로 구현되어 있음을 알 수 있고, 테스트 결과가 실패한다면, 해당 기기는 오류를 가진 프로그램으로 구현되어 있음을 알 수 있어, 사용자는 해당 결과를 바탕으로 테스트 수행을 용이하게 할 수 있다.
도 9는, 테스트를 위한 화면까지의 이동을 위해 종래 기술에 따라 구현된 소스코드(B)와 본 발명에 따라 구현된 소스코드(A)이다. 종래에는, 소스코드(B)와 같이, 절차적으로 여러 줄에 걸쳐 대상 화면으로 이동할 수 밖에 없었으나, 본 발명에 따르면, 소스코드(A)와 같이, 메뉴트리 탐색을 통해 미리 파악된 구조를 가지고 사용자가 원하는 특정 화면을 선언적으로 지정(path입력)만 해도, 즉시 빠르게 대상 화면으로 이동할 수 있게 된다. 즉, 종래 소스코드(B)에 따르면 스크립트의 복잡성이 증가하고 재사용성이 낮지만, 본 발명의 소스코드(A)에 따르면, 소스코드 스크립트가 간소화될 수 있으며, UI가 변경되더라도, 메뉴트리 탐색을 재 수행한 결과를 반복적으로 이용할 수 있어, 스크립트 코드의 재사용성을 향상시킬 수 있게 된다.
이상 설명된 실시 형태는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터로 판독가능한 기록매체에 기록될 수 있다. 상기 컴퓨터로 판독가능한 기록매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터로 판독가능한 기록매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 판독가능한 기록매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 실행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 실시예들에 설명된 특징, 구조, 효과 등은 본 발명의 하나의 실시예에 포함되며, 반드시 하나의 실시예에만 한정되는 것은 아니다. 나아가, 각 실시예에서 예시된 특징, 구조, 효과 등은 실시예들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시예들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
또한, 이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (11)
- 소정의 딥러닝 알고리즘에 기반하여 캡쳐이미지로부터 오브젝트를 추출하고, 상기 캡쳐이미지 및 상기 추출된 오브젝트를 활용하여 생성된 노드로 구성된 트리를 생성하는 제1 단계; 및
상기 생성된 트리를 이용하여 사용자 인터페이스 테스팅을 자동화 수행하는 제2 단계를 포함하는,
딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법.
- 제 1항에 있어서,
상기 트리는 제N노드 및 제N+1노드로 구성된 소정의 경로를 포함하고,
상기 제1 단계는,
제N캡쳐이미지에 대응하는 상기 제N노드를 상기 소정의 경로상에 추가하는 (A) 단계;
상기 제N캡쳐이미지로부터 상기 소정의 딥러닝 알고리즘에 기반하여 제N오브젝트를 추출하는 (B) 단계;
상기 추출된 제N오브젝트와 관련된 제N+1캡쳐이미지가 소정의 조건을 만족하는 경우, 상기 제N+1캡쳐이미지에 대응하는 제N+1노드를 추가하는 (C) 단계;
상기 N+1 인덱스를 N으로 설정하는 (D) 단계; 및
상기 (B) 내지 (D) 단계를 반복 수행하는 단계를
포함하는,
딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법.
- 제 2항에 있어서,
상기 소정의 조건은,
상기 제N+1캡쳐이미지가 상기 소정의 경로 상에 기 존재하지 않는 제1 조건 및 상기 제N+1캡쳐이미지가 추출가능한 제N+1오브젝트를 포함하는 제2 조건을 포함하는,
딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법.
- 제 2항 또는 제 3항에 있어서,
상기 트리는 다른 노드 및 다른 경로를 더 포함하고,
상기 다른 노드에 대해서 상기 (B) 단계 내지 상기 (D) 단계를 반복 수행하여 상기 다른 경로를 생성하는,
딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법.
- 제 2항 또는 제 3항에 있어서,
상기 제N+1노드는 상기 추출된 상기 제N오브젝트의 좌표 정보와 상기 제N오브젝트의 이미지 정보를 포함하는,
딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법.
- 제 2항 또는 제 3항에 있어서,
상기 캡쳐이미지는 AVN(Audio Video Navigation) 시스템 기반의 사용자 인터페이스 화면에 대한 정보를 포함하는,
딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법.
- 제 1항에 있어서,
상기 노드는 클릭(click)입력이 가능하도록 구현되고,
상기 클릭입력으로 상기 노드와 관련된 상기 캡쳐이미지를 출력하는,
딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법.
- 제 2항에 있어서,
상기 제2 단계는,
상기 생성된 트리를 리딩하는 단계;
사용자로부터 소정의 경로 정보를 입력 받는 단계;
상기 생성된 트리의 상기 제N+1노드에 포함된 정보와 상기 소정의 경로 정보에 포함된 노드 정보를 각각 일대일 대응하여 비교하는 단계; 및
상기 비교 결과를 출력하는 단계;를 포함하는,
딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법 .
- 제 8항에 있어서,
상기 생성된 트리의 상기 제N+1노드는 상기 추출된 상기 제N오브젝트의 좌표 정보와 상기 제N오브젝트의 이미지 정보를 포함하는,
딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 방법.
- 소정의 딥러닝 알고리즘에 기반하여 캡쳐이미지로부터 오브젝트를 추출하는 오브젝트 추출부;
상기 캡쳐이미지 및 상기 추출된 오브젝트를 활용하여 생성된 노드로 구성된 트리를 생성하는 트리생성부; 및
상기 생성된 트리를 이용하여 사용자 인터페이스 테스팅을 자동화 수행하는 UI테스팅 자동화부;를 포함하는,
딥러닝 알고리즘 및 트리를 이용한 UI테스팅 자동화 장치.
- 제 1항 내지 제 9항 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180060053A KR102132383B1 (ko) | 2018-05-28 | 2018-05-28 | 딥러닝 알고리즘 및 트리를 이용한 ui테스팅 자동화 방법 및 동일 방법으로 구현된 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180060053A KR102132383B1 (ko) | 2018-05-28 | 2018-05-28 | 딥러닝 알고리즘 및 트리를 이용한 ui테스팅 자동화 방법 및 동일 방법으로 구현된 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190135074A true KR20190135074A (ko) | 2019-12-06 |
KR102132383B1 KR102132383B1 (ko) | 2020-07-09 |
Family
ID=68836980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180060053A KR102132383B1 (ko) | 2018-05-28 | 2018-05-28 | 딥러닝 알고리즘 및 트리를 이용한 ui테스팅 자동화 방법 및 동일 방법으로 구현된 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102132383B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220511A (zh) * | 2020-02-06 | 2021-08-06 | 伊姆西Ip控股有限责任公司 | 测试bios的方法、设备和计算机可读存储介质 |
KR20210155896A (ko) * | 2020-06-17 | 2021-12-24 | (주)커브 | 최적 ui 경로 지도 탐색 장치 및 방법 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11385777B2 (en) | 2020-09-14 | 2022-07-12 | UiPath, Inc. | User interface (UI) mapper for robotic process automation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120121950A (ko) * | 2011-04-28 | 2012-11-07 | (주)아이엔에스랩 | 애플리케이션 그래픽 유저인터페이스 테스트 자동화 시스템 및 그 방법 |
KR20180028442A (ko) * | 2015-07-09 | 2018-03-16 | 퀄컴 인코포레이티드 | 이미지들에서의 오브젝트 검출을 위한 콘텍스트-기반 프라이어들 |
-
2018
- 2018-05-28 KR KR1020180060053A patent/KR102132383B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120121950A (ko) * | 2011-04-28 | 2012-11-07 | (주)아이엔에스랩 | 애플리케이션 그래픽 유저인터페이스 테스트 자동화 시스템 및 그 방법 |
KR20180028442A (ko) * | 2015-07-09 | 2018-03-16 | 퀄컴 인코포레이티드 | 이미지들에서의 오브젝트 검출을 위한 콘텍스트-기반 프라이어들 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220511A (zh) * | 2020-02-06 | 2021-08-06 | 伊姆西Ip控股有限责任公司 | 测试bios的方法、设备和计算机可读存储介质 |
KR20210155896A (ko) * | 2020-06-17 | 2021-12-24 | (주)커브 | 최적 ui 경로 지도 탐색 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR102132383B1 (ko) | 2020-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5102304B2 (ja) | 要求ベーステスト生成 | |
CN111159049B (zh) | 接口自动化测试方法及*** | |
US10176079B2 (en) | Identification of elements of currently-executing component script | |
CN111310934A (zh) | 一种模型生成方法、装置、电子设备和存储介质 | |
CN111611711B (zh) | 自动驾驶数据处理方法、装置及电子设备 | |
US20050223295A1 (en) | Method for the creation of sequences for testing software | |
KR20190135074A (ko) | 딥러닝 알고리즘 및 트리를 이용한 ui테스팅 자동화 방법 및 동일 방법으로 구현된 장치 | |
US20200265353A1 (en) | Intelligent workflow advisor for part design, simulation and manufacture | |
CN102999419B (zh) | 一种Android测试事件记录回放方法及装置 | |
Tierno et al. | Open issues for the automotive software testing | |
EP1548581A2 (en) | Methods, apparatus and programs for system development | |
CN103049374B (zh) | 一种自动化测试的方法及装置 | |
US9229846B1 (en) | Testing application code changes using a state assertion framework | |
Canny et al. | Model-based testing of GUI applications featuring dynamic Instanciation of widgets | |
CN112860587B (zh) | Ui自动测试方法和装置 | |
CN111371862B (zh) | 无人车调试方法、装置、服务器和介质 | |
KR101460860B1 (ko) | 상태 기반의 테스트 시나리오 모델을 이용한 gui 테스트 장치 및 방법 | |
EP3608786B1 (en) | Systems and methods of requirements chaining and applications thereof | |
WO2023110478A1 (en) | Method for automatically exploring states and transitions of a human machine interface (hmi) device | |
CN115964270A (zh) | 用户界面自动化测试方法及装置 | |
CN115987821A (zh) | 网关路由测试方法及装置 | |
EP3091453A1 (en) | Designing a longevity test for a smart tv | |
KR20220121175A (ko) | 시스템 테스트 절차를 이용하는 통합 테스트 절차의 자동 발생 | |
Langner et al. | Framework for using real driving data in automotive feature development and validation | |
KR20220022383A (ko) | 멀티미디어 기기의 테스트 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |