KR102694524B1 - 사용자 인터페이스를 제공하는 테스트 자동화 장치 및 장치의 동작방법 - Google Patents
사용자 인터페이스를 제공하는 테스트 자동화 장치 및 장치의 동작방법 Download PDFInfo
- Publication number
- KR102694524B1 KR102694524B1 KR1020240033695A KR20240033695A KR102694524B1 KR 102694524 B1 KR102694524 B1 KR 102694524B1 KR 1020240033695 A KR1020240033695 A KR 1020240033695A KR 20240033695 A KR20240033695 A KR 20240033695A KR 102694524 B1 KR102694524 B1 KR 102694524B1
- Authority
- KR
- South Korea
- Prior art keywords
- test
- information
- case
- scenario
- input
- Prior art date
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 1738
- 238000011017 operating method Methods 0.000 title claims 4
- 238000000034 method Methods 0.000 claims description 52
- 238000010586 diagram Methods 0.000 description 30
- 230000009471 action Effects 0.000 description 26
- RGXCTRIQQODGIZ-UHFFFAOYSA-O isodesmosine Chemical compound OC(=O)C(N)CCCC[N+]1=CC(CCC(N)C(O)=O)=CC(CCC(N)C(O)=O)=C1CCCC(N)C(O)=O RGXCTRIQQODGIZ-UHFFFAOYSA-O 0.000 description 26
- 230000008569 process Effects 0.000 description 26
- 238000012986 modification Methods 0.000 description 16
- 230000004048 modification Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 230000004913 activation Effects 0.000 description 11
- 230000008676 import Effects 0.000 description 9
- 238000013515 script Methods 0.000 description 9
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 7
- 229910052711 selenium Inorganic materials 0.000 description 7
- 239000011669 selenium Substances 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000013523 data management Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000013102 re-test Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013095 identification testing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 개시에 따른 디스플레이에 사용자 인터페이스를 표시하는 테스트 자동화 장치는 디스플레이에 테스트프로젝트 정보를 관리하기 위한 제 1 인터페이스를 표시하는 단계, 제 1 인터페이스에 포함된 프로젝트 오브젝트에 대한 사용자의 입력에 기초하여 제 1 프로젝트영역 및 제 2 프로젝트영역을 포함하는 제 2 인터페이스를 표시하는 단계, 제 1 프로젝트영역에 포함된 테스트케이스 탭에 대한 입력에 기초하여 제 2 프로젝트영역에 테스트케이스 정보를 관리하기 위한 제 1-1 세부 인터페이스를 표시하는 단계, 제 1-1 세부 인터페이스에 포함된 케이스생성 오브젝트에 대한 사용자의 입력에 기초하여 제 2 프로젝트영역에 테스트케이스 정보를 생성하기 위한 제 1-2 세부 인터페이스를 표시하는 단계, 제 1-1 세부 인터페이스에 포함된 케이스 오브젝트에 대한 사용자의 입력에 기초하여 제 2 프로젝트영역에 테스트케이스 정보를 시각적으로 나타내기 위한 제 1-3 세부 인터페이스를 표시하는 단계를 포함한다.
Description
본 개시는 테스트 자동화를 위한 사용자 인터페이스를 제공하는 테스트 자동화 장치 및 테스트 자동화 장치를 포함하는 테스트 자동화 시스템에 대한 것이다.
소프트웨어를 개발하는 데 있어서, 개발 프로젝트는 모든 프로젝트 참여자가 누구나 쉽게 테스트를 구현하고 관리할 수 있는 환경을 조성하여 고품질 소프트웨어를 빠르게 출시하고 프로젝트 가치를 최대화하는 것이 중요하다. 소프트웨어는 수많은 사용자들에게 배포되기 때문에 고품질의 소프트웨어를 개발하기 위해서는 소프트웨어의 기능성 및 신뢰성을 위해 소프트웨어를 출시하기 전 테스트를 수행할 필요가 있다. 그러나 수많은 사용자가 이용하는 디바이스 환경과 돌발 상황을 고려하여 개발자가 직접 소프트웨어를 테스트하기 위해서는 과도한 인력과 시간이 소요되는 문제가 있어, 테스트를 손쉽게 자동으로 수행할 수 있는 시스템이 필요하다.
기존의 테스트 자동화 시스템은 스크립트 형식으로 작성할 필요가 있어 프로그래밍 지식이 없는 사용자는 테스트에 대한 케이스를 생성하기 힘들며, 프로그래밍 지식이 있는 사용자라 하더라도 복잡한 스크립트 작성이나 테스트 자동화 프레임워크에 대한 학습에 어려움을 겪는 문제점이 있었다. 또한 테스트 후 스크립트를 수정하는 과정에 있어서도 막대한 비용과 시간이 들어가는 문제점이 있었다.
본 개시에 따른 테스트 디바이스, 서버 및 테스트 자동화 장치를 포함하는 테스트 자동화 시스템은 테스트 자동화 장치가 테스트프로젝트를 생성하는 단계, 테스트 자동화 장치가 테스트프로젝트에 대한 테스트케이스 정보에 포함된 케이스 식별정보를 획득하는 단계, 테스트 자동화 장치가 테스트케이스 정보와 관련된 테스트스텝 정보를 획득하는 단계, 테스트 자동화 장치가 테스트케이스 정보에 포함된 적어도 하나의 테스트스텝 정보의 스텝 순서 정보를 테스트케이스 정보에 포함시키는 단계, 테스트 자동화 장치가 테스트케이스 정보를 포함하는 테스트시나리오 정보를 획득하는 단계, 테스트 자동화 장치가 테스트시나리오 정보에 대한 스케줄러 정보를 획득하는 단계, 테스트 자동화 장치가 스케줄러 정보, 테스트시나리오 정보, 테스트스텝 정보 및 테스트케이스 정보 중 적어도 하나를 서버로 전송하여 저장하는 단계, 테스트 디바이스, 서버 및 테스트 자동화 장치 중 적어도 하나가 스케줄러 정보 및 테스트시나리오 정보에 대한 사용자의 테스트 요청 입력 중 적어도 하나에 기초하여 테스트를 수행하는 단계 및 테스트 자동화 장치가 테스트의 결과를 출력하는 단계를 포함한다.
본 개시에 따른 테스트 자동화 시스템의 테스트 자동화 장치가 테스트케이스 정보와 관련된 테스트스텝 정보를 획득하는 단계는, 테스트 자동화 장치가 테스트 디바이스로부터 적어도 하나의 스텝 객체를 포함하는 화면 이미지를 획득하는 단계, 및 테스트 자동화 장치가 화면 이미지와 관련된 테스트스텝 정보를 획득하는 단계를 포함하고, 테스트 자동화 장치가 테스트 디바이스로부터 적어도 하나의 스텝 객체를 포함하는 화면 이미지를 획득하는 단계는, 테스트 자동화 장치와 연결된 적어도 하나의 테스트 디바이스를 식별하는 단계, 적어도 하나의 테스트 디바이스 중 하나를 선택하는 단계, 선택된 테스트 디바이스로부터 디바이스 정보 및 화면 이미지 중 적어도 하나를 획득하는 단계, 및 화면 이미지로부터 객체 정보를 포함하는 적어도 하나의 스텝 객체를 추출하는 단계를 포함한다.
본 개시에 따른 테스트 자동화 시스템의 테스트스텝 정보는 커맨드 정보 및 테스트스텝 옵션 정보를 포함하고, 테스트 자동화 장치가 화면 이미지와 관련된 테스트스텝 정보를 획득하는 단계는, 사용자의 입력에 기초하여 복수의 미리 정해진 커맨드 중 하나를 커맨드 정보로 결정하는 단계 및 커맨드 정보에 대응되는 옵션키 정보를 포함하는 테스트스텝 옵션 정보를 획득하는 단계를 포함하고, 옵션키 정보는 커맨드 정보에 기초하여 달라지는 것을 특징으로 한다.
본 개시에 따른 테스트 자동화 시스템의 커맨드 정보에 대응되는 옵션키 정보를 포함하는 테스트스텝 옵션 정보를 획득하는 단계는, 테스트스텝 정보의 커맨드 정보가 클릭을 나타내고, 옵션키 정보가 객체 클릭을 나타내는 경우, 화면 이미지에 대한 사용자의 입력에 기초하여 스텝 객체 중 하나를 선택하는 단계 및 선택된 스텝 객체의 객체 정보를 테스트스텝 옵션 정보에 포함시키는 단계를 포함하고, 테스트스텝 정보의 커맨드가 클릭을 나타내고, 옵션키가 좌표 클릭을 나타내는 경우, 화면 이미지에 대한 사용자의 입력에 기초하여 하나의 점의 좌표를 포함하는 클릭좌표 정보를 획득하는 단계 및 클릭좌표 정보를 테스트스텝 옵션 정보에 포함시키는 단계를 포함하고, 테스트스텝 정보의 커맨드가 클릭을 나타내고, 옵션키가 이미지비교 클릭을 나타내는 경우, 화면 이미지에 대한 사용자의 입력에 기초하여 클릭이미지영역 정보를 획득하는 단계, 클릭이미지영역 정보에 기초하여 화면 이미지에서 클릭이미지 정보를 획득하는 단계 및 클릭이미지 정보를 테스트스텝 옵션 정보에 포함시키는 단계를 포함한다.
본 개시에 따른 테스트 자동화 시스템의 테스트 자동화 장치가 테스트케이스를 포함하는 테스트시나리오 정보를 획득하는 단계는, 테스트프로젝트 정보에 포함된 적어도 하나의 테스트케이스 정보에 포함된 케이스 식별정보 를 테스트시나리오 정보에 포함시키는 단계 및 적어도 하나의 테스트케이스 정보의 케이스 순서 정보를 테스트시나리오 정보에 포함시키는 단계를 포함한다.
본 개시에 따른 테스트 자동화 시스템의 테스트 자동화 장치가 테스트시나리오 정보에 대한 스케줄러 정보를 획득하는 단계는, 실행 대상 테스트시나리오 정보 및 실행 대상 테스트 디바이스의 디바이스 정보 중 적어도 하나를 획득하여 스케줄러 정보에 포함시키는 단계 및 테스트의 시작일시정보 및 실행주기정보 중 적어도 하나를 획득하여 스케줄러 정보에 포함시키는 단계를 포함한다.
본 개시에 따른 테스트 자동화 시스템의 테스트 디바이스, 서버 및 테스트 자동화 장치 중 적어도 하나가 스케줄러 정보 및 테스트시나리오 정보에 대한 사용자의 테스트 요청 입력 중 적어도 하나에 기초하여 테스트를 수행하는 단계는, 테스트 자동화 장치가 스케줄러 정보 및 테스트시나리오 정보에 대한 사용자의 테스트 요청 입력 중 적어도 하나에 기초하여 실행 대상 테스트시나리오 정보 및 실행 대상 테스트 디바이스의 디바이스 정보를 포함하는 테스트 실행 정보를 서버로부터 수신하는 단계, 테스트 디바이스가 테스트 실행 정보에 기초하여 테스트 동작을 실행하는 단계, 테스트 자동화 장치가 테스트 디바이스의 테스트 실행결과정보를 획득하는 단계 및 서버가 테스트 실행결과정보를 저장하는 단계를 포함한다.
본 개시에 따른 테스트 자동화 시스템의 테스트 실행결과정보는 실행 대상 테스트시나리오 정보에 대한 시나리오 실행결과, 테스트 성공비율 및 실행 대상 테스트시나리오 정보에 포함된 실행 대상 테스트케이스 정보에 대한 케이스 실행결과 중 적어도 하나를 포함하고, 테스트 자동화 장치가 테스트 디바이스의 테스트 실행결과정보를 획득하는 단계는, 테스트 디바이스가 실행 대상 테스트케이스 정보에 포함된 테스트스텝 정보를 모두 실행한 경우, 케이스 실행결과를 성공으로 결정하는 단계, 테스트 디바이스가 실행 대상 테스트케이스 정보에 포함된 테스트스텝 정보 중 적어도 하나를 실행하지 못한 경우, 케이스 실행결과를 실패로 결정하는 단계, 성공한 케이스 실행결과 개수 및 실패한 케이스 실행결과 개수의 비율에 기초하여 테스트 성공비율을 계산하는 단계, 실패한 케이스 실행결과가 존재하지 않을 경우, 시나리오 실행결과를 성공으로 결정하는 단계 및 실패한 케이스 실행결과가 적어도 하나 존재할 경우 시나리오 실행결과를 실패로 결정하는 단계를 포함한다.
본 개시에 따른 디스플레이에 사용자 인터페이스를 표시하는 테스트 자동화 장치는 디스플레이에 테스트프로젝트 정보를 관리하기 위한 제 1 인터페이스를 표시하는 단계, 제 1 인터페이스에 포함된 프로젝트 오브젝트에 대한 사용자의 입력에 기초하여 제 1 프로젝트영역 및 제 2 프로젝트영역을 포함하는 제 2 인터페이스를 표시하는 단계, 제 1 프로젝트영역에 포함된 테스트케이스 탭에 대한 입력에 기초하여 제 2 프로젝트영역에 테스트케이스 정보를 관리하기 위한 제 1-1 세부 인터페이스를 표시하는 단계, 제 1-1 세부 인터페이스에 포함된 케이스생성 오브젝트에 대한 사용자의 입력에 기초하여 제 2 프로젝트영역에 테스트케이스 정보를 생성하기 위한 제 1-2 세부 인터페이스를 표시하는 단계, 제 1-1 세부 인터페이스에 포함된 케이스 오브젝트에 대한 사용자의 입력에 기초하여 제 2 프로젝트영역에 테스트케이스 정보를 시각적으로 나타내기 위한 제 1-3 세부 인터페이스를 표시하는 단계, 제 1-3 세부 인터페이스에 포함된 스텝생성 오브젝트에 대한 사용자의 입력에 기초하여 제 2 프로젝트영역에 디바이스 목록을 포함하는 제 2 세부 인터페이스를 표시하는 단계, 디바이스 목록에 포함된 테스트 디바이스 오브젝트에 대한 사용자의 입력에 기초하여 테스트케이스 정보에 포함되는 테스트스텝 정보를 생성하기 위한 제 3 인터페이스를 표시하는 단계, 제 3 인터페이스에 포함된 스텝생성완료 오브젝트에 대한 사용자의 입력에 기초하여 제 1-3 세부 인터페이스 를 포함하는 제 2 인터페이스를 표시하는 단계, 제 1 프로젝트영역에 포함된 테스트시나리오 탭에 대한 입력에 기초하여 제 2 프로젝트영역에 테스트시나리오 정보를 관리하기 위한 제 3-1 세부 인터페이스 를 표시하는 단계, 제 3-1 세부 인터페이스에 포함된 시나리오생성 오브젝트에 대한 사용자의 입력에 기초하여 제 2 프로젝트영역에 테스트시나리오 정보를 생성하기 위한 제 3-2 세부 인터페이스를 표시하는 단계, 제 1 프로젝트영역에 포함된 스케줄러 탭에 대한 입력에 기초하여 제 2 프로젝트영역에 스케줄러 정보를 관리하기 위한 제 4-1 세부 인터페이스 를 표시하는 단계, 제 4-1 세부 인터페이스에 포함된 스케줄러생성 오브젝트에 대한 사용자의 입력에 기초하여 제 2 프로젝트영역에 스케줄러 정보를 생성하기 위한 제 4-2 세부 인터페이스를 표시하는 단계, 제 3-1 세부 인터페이스에 포함된 시나리오 테스트 버튼에 대한 사용자의 입력 및 스케줄러 정보 중 적어도 하나에 기초하여 테스트를 수행하는 단계, 제 1 프로젝트영역에 포함된 테스트결과 탭에 대한 사용자의 입력에 기초하여 제 2 프로젝트영역에 테스트 결과를 열람하기 위한 제 5-1 세부 인터페이스를 표시하는 단계 및 5-1 세부 인터페이스에 포함된 결과 오브젝트에 대한 사용자의 입력에 기초하여 테스트 실행결과정보를 제공하기 위한 제 5-2 세부 인터페이스 를 표시하는 단계를 포함한다.
본 개시에 따른 테스트 자동화 장치의 제 2 프로젝트영역에 디바이스 목록을 포함하는 제 2 세부 인터페이스를 표시하는 단계는, 테스트 자동화 장치와 연결된 테스트 디바이스가 존재할 경우, 테스트 디바이스에 대응되는 테스트 디바이스 오브젝트를 디바이스 목록에 미리 정해진 형태 로 표시하는 단계, 및 테스트 디바이스 오브젝트에 대한 사용자의 입력에 기초하여 테스트 디바이스 오브젝트에 대응되는 테스트 디바이스를 테스트스텝 정보의 생성에 이용할 테스트 디바이스로 결정하는 단계를 포함한다.
본 개시에 따른 테스트 자동화 장치의 제 3 인터페이스는 제 1 스텝영역, 제 2 스텝영역 및 제 3 스텝영역 중 적어도 하나를 포함하고, 테스트케이스 정보에 포함되는 테스트스텝 정보를 생성하기 위한 제 3 인터페이스를 표시하는 단계는, 제 1 스텝영역에 적어도 하나의 스텝 객체 를 포함하는 화면 이미지를 포함하는 인스펙터창을 표시하는 단계, 제 2 스텝영역에 테스트스텝 정보를 입력 받기 위한 스텝 정보 입력창을 표시하는 단계, 제 3 스텝영역에 현재 테스트케이스 정보에 포함된 테스트스텝 정보에 대응되는 스텝 오브젝트를 포함하는 테스트스텝 리스트를 표시하는 단계를 포함한다.
본 개시에 따른 테스트 자동화 장치의 테스트스텝 리스트에 포함된 적어도 하나의 스텝 오브젝트는 사용자의 드래그 앤 드롭 입력에 기초하여 순서가 변경되는 것을 특징으로 한다.
본 개시에 따른 테스트 자동화 장치의 제 3-2 세부 인터페이스는 제 1 시나리오영역, 제 2 시나리오영역 및 제 3 시나리오영역 중 적어도 하나를 포함하고, 제 2 프로젝트영역에 테스트시나리오 정보를 생성하기 위한 제 3-2 세부 인터페이스를 표시하는 단계는, 제 1 시나리오영역에 테스트시나리오 정보를 입력 받기 위한 시나리오 정보 입력창을 표시하는 단계, 제 2 시나리오영역에 현재 테스트프로젝트 정보에 포함된 테스트케이스 정보에 대응되는 케이스 오브젝트를 포함하는 전체 테스트케이스 리스트를 표시하는 단계 및 제 3 시나리오영역에 현재 테스트시나리오 정보에 포함된 테스트케이스 정보에 대응되는 케이스 오브젝트를 포함하는 시나리오 테스트케이스 리스트를 표시하는 단계를 포함한다.
본 개시에 따른 테스트 자동화 장치의 전체 테스트케이스 리스트에 포함된 케이스 오브젝트는 사용자의 드래그 앤 드롭 입력에 기초하여 전체 테스트케이스 리스트로부터 시나리오 테스트케이스 리스트로 이동하는 것을 특징으로 한다.
본 개시에 따른 테스트 자동화 장치의 제 5-2 세부 인터페이스는 제 1 결과영역, 제 2 결과영역, 제 3 결과영역 및 제 4 결과영역 중 적어도 하나를 포함하고, 5-1 세부 인터페이스에 포함된 결과 오브젝트에 대한 사용자의 입력에 기초하여 테스트 실행결과정보를 제공하기 위한 제 5-2 세부 인터페이스를 표시하는 단계는, 제 1 결과영역에 테스트 실행결과정보에 기초하여 전체결과요약창을 표시하는 단계, 제 2 결과영역에 실행 대상 테스트시나리오 정보 및 실행 대상 테스트 디바이스의 디바이스 정보 중 적어도 하나를 포함하는 테스트 실행 정보를 시각화한 테스트정보창을 표시하는 단계, 제 3 결과영역에 실행 대상 테스트시나리오 정보에 포함된 실행 대상 테스트케이스 정보의 테스트 결과를 나타내는 케이스결과 오브젝트를 포함하는 테스트케이스 결과 리스트를 표시하는 단계 및 제 4 결과영역에 실행 대상 테스트케이스 정보에 포함된 실행 대상 테스트스텝 정보의 테스트 결과를 나타내기 위한 테스트케이스 상세결과 인터페이스를 표시하는 단계를 포함한다.
본 개시에 따른 테스트 자동화 장치의 제 4 결과영역에 실행 대상 테스트케이스 정보에 포함된 실행 대상 테스트스텝 정보의 테스트 결과를 나타내기 위한 테스트케이스 상세결과 인터페이스를 표시하는 단계는, 제 4 결과영역의 상단에 실행 대상 테스트시나리오 정보에 포함된 실행 대상 테스트케이스 정보를 선택하기 위한 테스트케이스 결과선택탭을 표시하는 단계, 제 4 결과영역의 좌측하단에 실행 대상 테스트케이스 정보에 포함된 실행 대상 테스트스텝 정보에 대한 테스트스텝 결과 리스트를 표시하는 단계, 제 4 결과영역의 우측하단에 실행 대상 테스트케이스 정보에 대한 테스트 실행 결과를 표시하는 방법으로 실행 영상, 스크린샷 및 로그파일 중 적어도 하나를 선택하기 위한 표시방법 선택탭을 표시하는 단계를 포함한다.
본 발명에 따른 테스트 자동화 시스템은 복잡한 코드를 작성할 필요 없이 실제 사용 사례에 기반한 테스트시나리오를 구성하고 테스트케이스를 쉽게 생성 및 수정할 수 있다. 또한 테스트 자동화 시스템은 모바일 앱 및 웹 브라우저 등 다양한 환경에서의 테스트를 제공하고 다양한 장치와 광범위하게 호환될 수 있다.
테스트 자동화 시스템은 스케줄러를 통해 작성된 테스트시나리오를 바탕으로 주기적인 모니터링과 테스트를 수행할 수 있다. 테스트 자동화 시스템이 수행한 테스트 결과는 생성된 테스트 데이터 및 결과는 대시보드에서 모든 프로젝트 팀원이 접근 가능하도록 관리될 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 일 실시예에 따른 테스트 자동화 시스템의 블록도이다.
도 2는 본 개시의 일 실시예에 따른 테스트 자동화 시스템의 구성도이다.
도 3은 본 개시의 일 실시예에 따른 테스트 자동화 장치 및 테스트 디바이스를 나타내는 도면이다.
도 4는 본 개시의 일 실시예에 따른 테스트 자동화 시스템의 동작방법을 나타낸 도면이다.
도 5는 본 개시의 일 실시예에 따른 테스트 자동화 시스템의 동작방법을 나타낸 흐름도이다.
도 6은 본 개시의 일 실시예에 따른 사용자 인터페이스를 제공하는 테스트 자동화 장치의 동작방법을 나타낸 흐름도이다.
도 7은 본 개시의 일 실시예에 따른 테스트프로젝트와 관련된 제 1 인터페이스를 나타내는 도면이다.
도 8은 본 개시의 일 실시예에 따른 제 2 인터페이스를 나타내는 도면이다.
도 9는 본 개시의 일 실시예에 따른 테스트케이스 정보와 관련된 세부 인터페이스를 나타내는 도면이다.
도 10은 본 개시의 일 실시예에 따른 테스트 디바이스와 관련된 세부 인터페이스를 나타내는 도면이다.
도 11은 본 개시의 일 실시예에 따른 테스트스텝 정보와 관련된 세부 인터페이스를 나타내는 도면이다.
도 12는 본 개시의 일 실시예에 따른 제 3 인터페이스를 나타내는 도면이다.
도 13은 본 개시의 일 실시예에 따른 테스트시나리오 정보와 관련된 세부 인터페이스를 나타내는 도면이다.
도 14는 본 개시의 일 실시예에 다른 스케줄러 정보와 관련된 세부 인터페이스를 나타내는 도면이다.
도 15는 본 개시의 일 실시예에 따른 테스트 결과와 관련된 사용자 인터페이스를 나타내는 도면이다
도 16은 본 개시의 일 실시예에 따른 테스트 결과와 관련된 사용자 인터페이스를 나타내는 도면이다
도 17은 본 개시의 일 실시예에 따른 테스트스텝 정보를 나타내는 도면이다.
도 2는 본 개시의 일 실시예에 따른 테스트 자동화 시스템의 구성도이다.
도 3은 본 개시의 일 실시예에 따른 테스트 자동화 장치 및 테스트 디바이스를 나타내는 도면이다.
도 4는 본 개시의 일 실시예에 따른 테스트 자동화 시스템의 동작방법을 나타낸 도면이다.
도 5는 본 개시의 일 실시예에 따른 테스트 자동화 시스템의 동작방법을 나타낸 흐름도이다.
도 6은 본 개시의 일 실시예에 따른 사용자 인터페이스를 제공하는 테스트 자동화 장치의 동작방법을 나타낸 흐름도이다.
도 7은 본 개시의 일 실시예에 따른 테스트프로젝트와 관련된 제 1 인터페이스를 나타내는 도면이다.
도 8은 본 개시의 일 실시예에 따른 제 2 인터페이스를 나타내는 도면이다.
도 9는 본 개시의 일 실시예에 따른 테스트케이스 정보와 관련된 세부 인터페이스를 나타내는 도면이다.
도 10은 본 개시의 일 실시예에 따른 테스트 디바이스와 관련된 세부 인터페이스를 나타내는 도면이다.
도 11은 본 개시의 일 실시예에 따른 테스트스텝 정보와 관련된 세부 인터페이스를 나타내는 도면이다.
도 12는 본 개시의 일 실시예에 따른 제 3 인터페이스를 나타내는 도면이다.
도 13은 본 개시의 일 실시예에 따른 테스트시나리오 정보와 관련된 세부 인터페이스를 나타내는 도면이다.
도 14는 본 개시의 일 실시예에 다른 스케줄러 정보와 관련된 세부 인터페이스를 나타내는 도면이다.
도 15는 본 개시의 일 실시예에 따른 테스트 결과와 관련된 사용자 인터페이스를 나타내는 도면이다
도 16은 본 개시의 일 실시예에 따른 테스트 결과와 관련된 사용자 인터페이스를 나타내는 도면이다
도 17은 본 개시의 일 실시예에 따른 테스트스텝 정보를 나타내는 도면이다.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다.
본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
본 개시의 일 실시예에 따르면 "부"는 프로세서 및 메모리로 구현될 수 있다. 용어 "프로세서" 는 범용 프로세서, 중앙 처리 장치 (CPU), 마이크로프로세서, 디지털 신호 프로세서 (DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서는, "프로세서" 는 주문형 반도체 (ASIC), 프로그램가능 로직 디바이스 (PLD), 필드 프로그램가능 게이트 어레이 (FPGA) 등을 지칭할 수도 있다. 용어 "프로세서" 는, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다.
용어 "메모리" 는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. 용어 메모리는 임의 액세스 메모리 (RAM), 판독-전용 메모리 (ROM), 비-휘발성 임의 액세스 메모리 (NVRAM), 프로그램가능 판독-전용 메모리 (PROM), 소거-프로그램가능 판독 전용 메모리 (EPROM), 전기적으로 소거가능 PROM (EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.
아래에서는 첨부한 도면을 참고하여 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도 1은 본 개시의 일 실시예에 따른 테스트 자동화 시스템의 블록도이다.
테스트 자동화 시스템(100)은 테스트 자동화 장치(120), 서버(110), 테스트 디바이스(130) 중 적어도 하나를 포함할 수 있다.
테스트 자동화 시스템(100)은 테스트 자동화 장치(120)를 포함할 수 있다. 테스트 자동화 장치(120)는 테스트 자동화를 수행하기 위하여 사용자가 이용하는 장치일 수 있다. 테스트 자동화 장치(120)에는 테스트 자동화에 필요한 데이터를 생성 또는 관리하기 위한 통합 개발 환경인 IDE(121)가 설치되어 있을 수 있다. 또한 테스트 자동화 장치(120)에는 웹 브라우저에 대한 테스트를 수행하기 위해 웹 브라우저가 설치되어 있을 수 있다. 테스트 자동화 장치(120)는 PC, 노트북, 스마트폰, 태블릿, 또는 스마트워치 중 적어도 하나를 포함할 수 있다. 테스트 자동화 장치(120)는 메모리 및 프로세서 중 적어도 하나를 포함할 수 있다. 테스트 자동화 장치(120)는 사용자로부터 근접하여 위치하고, 사용자가 직접 상호작용하는 장치일 수 있다. 테스트 자동화 장치(120)는 사용자가 들고 다닐 수 있는 장치일 수 있으나 이에 한정되는 것은 아니다. 본 개시에서 테스트 자동화 장치(120)는 서버(110) 및 테스트 디바이스(130)와 유무선으로 연결될 수 있다. 테스트 자동화 장치(120)는 서버(110) 및 테스트 디바이스(130)와 통신할 수 있다. 테스트 자동화 장치(120)는 서버(110) 및 테스트 디바이스(130)와 데이터를 주고받을 수 있다.
테스트 자동화 시스템(100)은 서버(110)를 포함할 수 있다. 서버(110)는 테스트 자동화에 필요한 데이터를 저장하기 위한 장치일 수 있다. 서버(110)는 사용자가 들고 다니는 개인 장치가 아닐 수 있다. 서버(110)는 사용자로부터 원격에 위치한 장치일 수 있다. 서버(110)는 고정된 장치일 수 있다. 서버(110)는 테스트 자동화 장치(120)로부터 수신한 데이터를 저장할 수 있다. 예를 들어, 서버(110)는 스케줄러 정보, 테스트시나리오 정보, 테스트케이스 정보 및 테스트스텝 정보 중 적어도 하나를 저장할 수 있다. 서버(110)는 테스트 자동화 장치(120)로부터 수신한 정보를 처리하여 결과정보를 테스트 자동화 장치(120)로 송신할 수 있다. 본 개시에서 서버(110)가 하는 동작 중 적어도 하나는 테스트 자동화 장치(120)가 수행할 수 있다. 또한 본 개시에서 테스트 자동화 장치(120)가 하는 동작 중 적어도 하나는 서버(110)가 수행할 수 있다.
테스트 자동화 시스템(100)은 테스트 디바이스(130)를 포함할 수 있다. 테스트 디바이스(130)는 특정한 애플리케이션에 대한 테스트를 수행하는 장치일 수 있다. 테스트 디바이스(130)에는 테스트를 수행하고자 하는 애플리케이션이 설치될 수 있다. 테스트 자동화 장치(120)는 개발자가 개발한 애플리케이션을 테스트 디바이스(130)에서 실행시키고 애플리케이션의 다양한 기능을 실행시킴으로써 테스트를 실행할 수 있다. 테스트 디바이스(130)는 애플리케이션이 설치될 수 있는 PC, 노트북, 스마트폰, 태블릿, 또는 스마트워치 중 적어도 하나를 포함할 수 있다. 테스트 디바이스(130)는 테스트 자동화 장치(120)와 동일한 장치일 수 있다. 또는 테스트 디바이스(130)는 테스트 자동화 장치(120)와 다른 장치일 수 있다.
도 2는 본 개시의 일 실시예에 따른 테스트 자동화 시스템의 구성도이다.
테스트 자동화 시스템(100)은 사용자가 손쉽게 테스트를 생성, 관리 및 실행할 수 있는 환경을 제공하도록 구성될 수 있다. 테스트 자동화 시스템(100)은 통합 개발 환경 IDE(121)를 포함할 수 있다. IDE(121)는 사용자의 로컬 시스템에 설치되어 케이스스텝, 테스트케이스 및 케이스시나리오를 생성하고 관리할 수 있다. 본 개시에서 IDE(121)는 테스트 자동화 장치(120)에 설치될 수 있다. IDE(121)는 테스트 디바이스(130) 및 웹 브라우저(126)를 통해 객체 정보를 수집하고 테스트를 실행할 수 있다. IDE(121) 및 웹 브라우저(126) 중 적어도 하나는 테스트 자동화 장치(120)에 포함될 수 있다. IDE(121)는 대시보드 서버(201)와 통신할 수 있으며, 테스트 프레임워크와 연동하여 테스트를 실행할 수 있다. IDE(121)는 대시보드 서버(201)와 테스트 데이터 및 테스트 실행결과를 주고받을 수 있다.
테스트 자동화 시스템(100)은 대시보드 서버(201), 대시보드 데이터베이스(202) 및 클라우드 스토리지(203) 중 적어도 하나를 포함할 수 있다. 대시보드 서버(201), 대시보드 데이터베이스(202) 및 클라우드 스토리지(203) 중 적어도 하나는 서버(110)에 대응될 수 있다. 대시보드 서버(201), 대시보드 데이터베이스(202) 및 클라우드 스토리지(203)는 동일한 장치로 구현될 수 있다. 이에 한정되지 않고, 대시보드 서버(201), 대시보드 데이터베이스(202) 및 클라우드 스토리지(203)는 각각 별개의 장치로 구현될 수 있다.
테스트 자동화 시스템(100)은 대시보드 서버(201)를 포함할 수 있다. 대시보드 서버(201)는 테스트 데이터 및 테스트 실행결과를 관리하는 중앙 허브일 수 있다. 대시보드 서버(201)는 테스트 데이터를 대시보드 데이터베이스(202)에 저장할 수 있다. 사용자는 테스트 자동화 장치(120)에 포함된 웹 브라우저를 통해 어디서나 쉽게 대시보드 서버(201)에 접근할 수 있다. 인증과 보안을 통해 보호되는 대시보드 서버(201)는 사용자 데이터를 안전하게 관리할 수 있다.
테스트 자동화 시스템(100)은 클라우드 스토리지(203)를 포함할 수 있다. 클라우드 스토리지(203)는 테스트 실행 과정에서 생성된 스크린샷, 실행 영상, 로그 파일 등을 IDE(121)로부터 수신하여 안전하게 저장할 수 있다. 클라우드 스토리지(203)는 테스트 자동화 시스템(100)에 고가용성과 확장성을 제공할 수 있다. 즉 클라우드 스토리지(203)는 어디서나 빠르게 접근할 수 있는 데이터 관리를 가능하게 한다.
IDE(121)는 사용자 인증 정보를 이용한 인증 과정을 통해 보호될 수 있다. 사용자 인증 정보는 대시보드 서버(201)에서 중앙 관리될 수 있다. 이를 통해 테스트 자동화 시스템(100)은 인증된 사용자만이 테스트 자동화 시스템(100)에 접근할 수 있도록 할 수 있다.
도 3은 본 개시의 일 실시예에 따른 테스트 자동화 장치 및 테스트 디바이스를 나타내는 도면이다.
도 3을 참조하면, 테스트 자동화 장치(120)는 통합 개발 환경, 즉 IDE(121)를 포함할 수 있다. IDE(121)는 테스트와 관련된 데이터인 테스트스텝 정보, 테스트케이스 정보 및 테스트시나리오 정보 중 적어도 하나를 생성하고 관리하기 위한 데이터 도구일 수 있다. IDE(121)는 테스트 자동화 장치(120)에 설치되어 실행됨으로써 사용자 인터페이스를 통하여 테스트와 관련된 데이터를 관리하고 사용자에게 테스트 실행 기능을 제공할 수 있다.
IDE(121)는 스케줄러 서버(122), 테스트 자동화 프레임워크 서버(123), 웹 애플리케이션 서버(124) 및 사용자 인터페이스(125) 중 적어도 하나를 포함할 수 있다. IDE(121)를 통한 테스트 실행은 스케줄러 서버(122), 테스트 자동화 프레임워크 서버(123), 웹 애플리케이션 서버(124) 및 사용자 인터페이스(125) 간의 로컬 네트워크 통신으로 이루어질 수 있다. 테스트 자동화 장치(120)가 IDE(121)를 통해 테스트 자동화 환경을 구성함으로써 사용자는 손쉽게 테스트와 관련된 데이터를 관리하고 실행할 수 있다. 테스트 자동화 시스템(100)은 테스트 자동화를 위한 기술적 진입 장벽을 낮출 수 있어, 테스트 자동화에 대한 접근성 및 효과를 향상시킬 수 있다.
웹 애플리케이션 서버(124) 및 테스트 자동화 프레임워크 서버(123) 중 적어도 하나는 IDE(121)가 실행될 때 자동으로 실행될 수 있다. 웹 애플리케이션 서버(124) 및 테스트 자동화 프레임워크 서버(123) 중 적어도 하나는 테스트 자동화 장치(120)의 로컬 네트워크를 통해 사용자 인터페이스(125)와 통신할 수 있다. 사용자 인터페이스(125)와의 통신은 IDE(121)의 화면 객체 탐지, 테스트 실행 과정에서 수행될 수 있다.
테스트 자동화 장치(120)는 웹 브라우저(126)를 포함할 수 있다. 또한 테스트 자동화 장치(120)는 테스트 디바이스(130)와 유무선으로 연결될 수 있다. 예를 들어, 테스트 자동화 장치(120)와 테스트 디바이스(130)는 USB로 연결될 수 있다. 테스트 자동화 시스템(100)이 제공하는 테스트는 테스트 디바이스(130) 및 웹 브라우저(126) 중 적어도 하나에 대하여 수행될 수 있다. 테스트 자동화 장치(120)는 개발자가 개발한 웹페이지를 웹 브라우저(126)에서 실행시키고 웹페이지의 다양한 기능을 실행시킴으로써 테스트를 실행할 수 있다. 본 개시에서 테스트 자동화 시스템(100)을 테스트 디바이스(130)를 통한 테스트 과정을 중심으로 설명하지만, 웹 브라우저(126)를 통한 테스트 과정은 테스트 디바이스(130)를 통한 테스트 과정과 적어도 일부 동일할 수 있다.
테스트 자동화 시스템(100)은 IDE(121)를 통해 다음과 같은 기능을 수행할 수 있다.
테스트 자동화 시스템(100)은 IDE(121)를 통해 디바이스 세션 요청을 수행할 수 있다. 테스트 자동화 장치(120)와 연결된 테스트 디바이스(130)는 사용자 인터페이스(125)에 디바이스 선택을 위한 목록으로 표시될 수 있다. 사용자는 사용자 인터페이스(125)를 통해 테스트 자동화 장치(120)와 연결된 테스트 디바이스(130) 중 하나를 선택할 수 있다. IDE(121)는 웹 애플리케이션 서버(124)에 선택된 테스트 디바이스(130)에 대한 테스트 자동화 프레임워크 서버(123)의 세션 생성을 요청할 수 있다. IDE(121)의 웹 애플리케이션 서버(124)는 테스트 자동화 프레임워크 서버(123)와 테스트 디바이스(130) 간의 세션 생성을 수행할 수 있다.
테스트 자동화 시스템(100)은 IDE(121)를 통해 화면 이미지 및 객체 정보를 추출할 수 있다. 테스트 디바이스(130)의 세션 생성이 완료되면 IDE(121)는 웹 애플리케이션 서버(124)에 현재 테스트 디바이스(130)의 화면 이미지 및 화면 이미지에 대한 객체 정보를 요청할 수 있다. 웹 애플리케이션 서버(124)는 해당 요청을 테스트 자동화 프레임워크 서버(123)에 전달할 수 있다. 테스트 자동화 프레임워크 서버(123)는 테스트 디바이스(130)의 화면 이미지와 XML 형태의 화면 페이지 소스를 웹 애플리케이션 서버(124)로 전송할 수 있다. 웹 애플리케이션 서버(124)는 XML 형태의 화면 페이지 소스에서 모든 화면 객체의 Xpath를 생성하고, 이를 XML 내용에 추가할 수 있다. 웹 애플리케이션 서버(124)는 XML 데이터를 Json 데이터로 변환하여 화면 이미지와 함께 사용자 인터페이스(125)로 전달할 수 있다.
테스트 자동화 시스템(100)은 IDE(121)를 통해 사용자 인터페이스 표시 및 상호작용을 수행할 수 있다. 사용자 인터페이스(125)는 전달받은 화면 이미지와 화면 이미지에 대한 JSON(JavaScript Object Notation) 형식의 객체 정보를 표시할 수 있다. 사용자 인터페이스(125)는 사용자가 화면 이미지에 대한 마우스 클릭 등의 입력을 통해 해당 위치의 객체를 탐지할 수 있도록 한다. 사용자는 선택된 객체에 대한 테스트 실행 명령어와 정보를 입력할 수 있다. 이와 같은 테스트 실행과 관련된 정보를 입력하는 과정에 대해서는 아래 도 5의 단계(521) 내지 단계(526)에서 설명된다.
테스트 자동화 시스템(100)은 IDE(121)를 통해 테스트 디바이스(130) 또는 웹 브라우저(126)에 대한 세션을 생성할 수 있다. IDE(121)는 사용자 인터페이스(125)를 통해 사용자로부터 테스트 자동화 장치(120)에 연결된 테스트 디바이스(130) 또는 테스트 자동화 장치(120)에 설치된 웹 브라우저(126)에 대한 선택을 입력 받을 수 있다. IDE(121)는 테스트케이스 또는 테스트시나리오 대한 테스트 실행을 웹 애플리케이션 서버(124)로 요청할 수 있다. 웹 애플리케이션 서버(124)는 테스트 자동화 프레임워크 서버(123)에 테스트 디바이스(130) 또는 웹 브라우저(126)에 대한 세션 연결을 요청할 수 있다. 테스트 자동화 프레임워크 서버(123)는 테스트 디바이스(130) 또는 웹 브라우저(126)에 대한 세션 연결을 수행할 수 있다.
테스트 자동화 시스템(100)은 IDE(121)를 통해 테스트를 실행할 수 있다. 웹 애플리케이션 서버(124)는 테스트케이스 또는 테스트시나리오 테스트를 위해 실행되어야 하는 테스트스텝에 대한 객체 정보와 실행 동작에 대한 정보를 대시보드 서버(201)와 통신하여 전달받을 수 있다. 전달받은 객체 정보와 실행 동작에 대한 정보는 웹 애플리케이션 서버(124)에서 테스트 자동화 프레임워크 서버(123)로 전달될 수 있다. 테스트 자동화 프레임워크 서버(123)는 전달받은 데이터를 기반으로 테스트 디바이스(130) 또는 웹 브라우저(126)에 요청된 동작을 실행할 수 있다. 이와 같은 테스트를 수행하는 과정에 대해서는 아래 도 5의 단계(527)에서도 설명된다. 테스트 실행 결과는 테스트 자동화 프레임워크 서버(123)에서 웹 애플리케이션 서버(124)로 전달될 수 있다. 테스트 실행 결과는 웹 애플리케이션 서버(124)에서 대시보드 서버(201)로 전달되어 실시간으로 저장될 수 있다.
또한 테스트 실행 결과는 웹 애플리케이션 서버(124)에서 사용자 인터페이스(125)로 전달되어 사용자 화면에 테스트 실행 결과를 실시간으로 표시할 수 있다. 이 과정에 대해서는 아래 도 5의 단계(528)에서 설명된다.
테스트 자동화 시스템(100)은 IDE(121)를 통해 테스트를 종료할 수 있다. 실행 대상 테스트케이스 또는 테스트시나리오에 대한 모든 테스트가 종료되면, 웹 애플리케이션 서버(124)는 테스트 자동화 프레임워크 서버(123)로 테스트 디바이스(130) 또는 웹 브라우저(126)에 대한 세션 연결을 종료하도록 요청할 수 있다. 테스트 자동화 프레임워크 서버(123)는 해당 요청에 따라 테스트 디바이스(130) 또는 웹 브라우저(126)에 대한 세션 연결을 종료할 수 있다.
또한, 테스트 자동화 시스템(100)은 스케줄러 서버(122)를 포함하는 IDE(121)를 통해 다음과 같은 기능을 더 수행할 수 있다.
IDE(121)는 스케줄러 서버(122)를 포함할 수 있다. IDE(121)가 실행되는 동안 스케줄러 서버(122)는 스케줄러 정보에 기초하여 미리 정해진 시점에 웹 애플리케이션 서버(124)에 테스트 실행을 자동으로 요청할 수 있다. 테스트 자동화 시스템(100)은 스케줄러 서버(122)를 통해 테스트에 대한 주기적인 모니터링을 수행할 수 있으며, 자동화된 테스트 수행 및 결과 확인이 가능할 수 있다. 웹 애플리케이션 서버(124)는 대시보드 서버(201)와 통신하여 실행 대상 테스트 시나리오에 대한 테스트 실행 정보를 획득할 수 있다. 테스트 실행 정보는 테스트시나리오 정보, 테스트시나리오 정보의 케이스 목록, 실행 대상 테스트케이스 정보의 테스트스텝 정보, 실행 대상 디바이스의 디바이스 정보 및 실행 대상 웹 브라우저의 브라우저 정보 중 적어도 하나를 포함할 수 있다.
아래에서는 도 4를 참조하여 테스트 자동화 시스템(100)의 대략적인 흐름을 설명한다.
도 4는 본 개시의 일 실시예에 따른 테스트 자동화 시스템의 동작방법을 나타낸 도면이다.
테스트 자동화 시스템(100)은 테스트 자동화를 위해 환경 및 테스트를 준비하는 단계(410)를 수행할 수 있다. 단계(410)는 아래 도 5의 단계(521) 내지 단계(526) 및 단계(511) 중 적어도 하나에 대응될 수 있다. 테스트 자동화 시스템(100)은 테스트 자동화 장치(120)에 IDE(121)를 설치하고, 사용자 인증 및 테스트 데이터 관리를 위해 대시보드 서버(201)의 URL을 설정할 수 있다. 테스트 자동화 시스템(100)은 로그인 정보를 획득하고, 로그인 정보에 대한 사용자 인증을 대시보드 서버(201)로 요청할 수 있다. 테스트 자동화 시스템(100)은 사용자 인증이 완료된 사용자에 한하여 테스트를 실행 또는 관리하는 사용자 인터페이스(125)를 제공할 수 있다. IDE(121) 사용자 인터페이스(125)를 통해 사용자로부터 입력 받은 정보에 기초하여 테스트케이스 정보, 테스트스텝 정보, 테스트시나리오 정보 및 스케줄러 정보 중 적어도 하나를 생성할 수 있다.
테스트 자동화 시스템(100)은 테스트를 실행 단계(420)를 수행할 수 있다. 단계(420)는 아래 도 5의 단계(527)에 대응될 수 있다. 테스트 자동화 시스템(100)은 테스트 자동화 장치(120)에 대한 로컬 테스트를 수행할 수 있다. IDE(121)에서 생성된 테스트케이스 정보와 테스트시나리오 정보를 이용하여 테스트 자동화 시스템(100)은 자동으로 테스트를 실행할 수 있다. 테스트 자동화 시스템(100)은 테스트 자동화 장치(120)와 다양한 테스트 디바이스(130)를 연결하여 호환성 테스트를 실행할 수 있다. 테스트 자동화 시스템(100)의 테스트 과정은 테스트 자동화 장치(120)의 디스플레이에서 실시간으로 미러링될 수 있다. 테스트 자동화 장치(120)는 별도의 창에 테스트 진행 상태, 현재 테스트 중인 테스트스텝 정보 및 테스트 실행결과정보 중 적어도 하나를 표시할 수 있다. 또한 테스트 자동화 시스템(100)은 모니터링을 위한 테스트를 수행할 수 있다. 테스트 자동화 시스템(100)은 스케줄러 정보에 따라 미리 정해진 시점에 자동으로 테스트를 실행할 수 있다.
테스트 자동화 시스템(100)은 결과 관리 및 리포팅 단계(430)를 수행할 수 있다. 단계(430)는 아래 도 5의 단계(528)에 대응될 수 있다. 테스트 종료 후, 테스트 실행결과정보는 대시보드 서버(201)로 자동 전송되어 기록될 수 있다. 스케줄러 정보에 기초한 테스트 완료 시, 테스트 자동화 시스템(100)은 테스트 실행결과정보를 포함하는 이메일을 사용자에게 발송할 수 있다.
테스트 자동화 시스템(100)은 버그 식별 및 재테스트 단계(440)를 수행할 수 있다. 테스트 실행결과정보는 실행영상, 스크린샷 및 로그파일 중 적어도 하나를 포함할 수 있다. 따라서 테스트 자동화 시스템(100)은 테스트 결과 분석 시 데이터에 대한 오류 확인 및 수정이 용이할 수 있다. 테스트 자동화 시스템(100)은 사용자로부터 수정 정보를 입력 받을 수 있다. 테스트 자동화 시스템(100)은 수정 정보에 기초하여 테스트케이스 정보 또는 테스트시나리오 정보에 대한 재테스트를 실행하고 테스트 실행결과정보를 획득할 수 있다.
테스트 자동화 시스템(100)은 유지 보수 단계(450)를 수행할 수 있다. 테스트 자동화 시스템(100)은 테스트프로젝트에 포함된 팀 구성원 누구나 사용자 인터페이스(125)를 통해 손쉽게 테스트케이스 정보 및 테스트시나리오 정보를 유지 보수할 수 있다. 테스트와 관련된 데이터는 중앙에서 관리되는 대시보드 서버(201)를 통해 공유되기 때문에, 테스트 자동화 시스템(100)은 유지 보수에 필요한 시간을 최소화할 수 있다.
아래에서는 도 5 및 도 6를 참조하여 도 4에서 설명한 과정을 상세히 설명한다.
도 5는 본 개시의 일 실시예에 따른 테스트 자동화 시스템의 동작방법을 나타낸 흐름도이다.
도 6은 본 개시의 일 실시예에 따른 사용자 인터페이스를 제공하는 테스트 자동화 장치의 동작방법을 나타낸 흐름도이다.
테스트 자동화 시스템(100)에 포함된 테스트 자동화 장치(120)는 도 4에서 설명한 바와 같이 테스트를 수행하기 위해 IDE(121)가 설치되어 있을 수 있다. 테스트 자동화 장치(120)는 사용자로부터 로그인 정보를 획득할 수 있다. 서버(110)는 로그인 정보에 대하여 사용자 인증을 수행할 수 있다. 테스트 자동화 시스템(100)은 사용자 인증이 완료된 사용자 정보에 대응되는 사용자에 한하여 아래 과정을 수행할 수 있다.
테스트 자동화 장치(120)는 테스트프로젝트를 생성하는 단계(521)를 수행할 수 있다. 테스트프로젝트는 사용자가 설정한 팀 구성원이 자동화된 테스트를 생성하고 관리할 수 있도록 하는 데이터일 수 있다. 테스트프로젝트는 프로젝트에 참여하는 팀 구성원에 대한 사용자 정보를 포함할 수 있다. 테스트프로젝트는 테스트와 관련된 데이터를 포함할 수 있다. 테스트 자동화 장치(120)는 프로젝트에 참여하는 팀 구성원에 한하여 테스트와 관련된 데이터를 관리하도록 할 수 있다. 테스트프로젝트를 생성하기 위하여 테스트 자동화 장치(120)는 사용자 정보, 테스트프로젝트 제목, 및 테스트프로젝트 상세설명 중 적어도 하나를 획득할 수 있다. 테스트 자동화 장치(120)는 생성된 테스트프로젝트를 서버(110)로 전달하여 저장할 수 있다.
테스트프로젝트를 생성하는 단계(521)는 기존에 생성된 테스트프로젝트 중 하나를 선택하는 단계로 대체될 수 있다. 테스트 자동화 장치(120)는 서버(110)로부터 기존의 테스트프로젝트를 획득할 수 있다. 테스트 자동화 장치(120)는 기존의 테스트프로젝트 중 하나를 현재 테스트프로젝트로 결정할 수 있다.
기존에 생성된 테스트프로젝트가 존재할 경우, 단계(521)에서 테스트 자동화 장치(120)는 도 7과 같이 사용자 인터페이스(125)를 제공할 수 있다. 이와 관련하여 도 6 및 도 7과 함께 테스트프로젝트와 관련된 사용자 인터페이스를 설명한다.
도 7은 본 개시의 일 실시예에 따른 테스트프로젝트와 관련된 사용자 인터페이스를 나타내는 도면이다.
테스트 자동화 장치(120)는 사용자 인터페이스(125)를 표시하는 디스플레이를 포함할 수 있다. 도 6 및 7을 참조하면, 테스트 자동화 장치(120)는 단계(521)에서 제 1 인터페이스(700)를 표시하는 단계(601)를 수행할 수 있다. 제 1 인터페이스(700)는 디스플레이에 테스트프로젝트 정보를 관리하기 위한 사용자 인터페이스일 수 있다. 제 1 인터페이스(700)는 프로젝트 리스트를 포함할 수 있다. 프로젝트 리스트는 기존에 생성된 테스트프로젝트를 시각화한 목록일 수 있다. 프로젝트 리스트는 프로젝트 오브젝트(710)를 포함할 수 있다. 프로젝트 오브젝트(710)는 테스트프로젝트와 일대일로 대응되며 대응되는 테스트프로젝트를 시각화하여 나타낼 수 있다. 프로젝트 오브젝트(710)에 대한 사용자의 입력에 기초하여 테스트 자동화 장치(120)는 도 8과 같은 사용자 인터페이스를 제공할 수 있다. 아래에서는 도 8과 함께 하나의 프로젝트에 포함된 다양한 정보를 표시하는 사용자 인터페이스에 대하여 설명한다.
도 8은 본 개시의 일 실시예에 따른 제 2 인터페이스를 나타내는 도면이다.
테스트 자동화 장치(120)는 단계(521)를 수행한 후에 제 1 인터페이스(700)에 포함된 프로젝트 오브젝트(710)에 대한 사용자의 입력에 기초하여 제 2 인터페이스(800)를 표시하는 단계(602)를 수행할 수 있다. 제 2 인터페이스(800)는 제 1 프로젝트영역(810) 및 제 2 프로젝트영역(820) 중 적어도 하나를 포함할 수 있다. 제 1 프로젝트영역(810) 및 제 2 프로젝트영역(820)은 각각 제 2 인터페이스(800)의 좌측 및 우측에 위치한 영역일 수 있다. 테스트 자동화 장치(120)는 제 1 프로젝트영역(810)에 테스트프로젝트 제목 및 테스트프로젝트가 속한 사용자그룹 제목 중 적어도 하나를 시각적으로 표시할 수 있다. 이를 통해 사용자는 현재 관리하고 있는 테스트프로젝트가 무엇인지 직관적으로 알 수 있다.
제 1 프로젝트영역(810)은 기능탭(830)을 포함할 수 있다. 기능탭(830)은 테스트 자동화 장치(120)가 테스트를 수행하기 위한 기능을 선택하기 위한 탭(Tab) 인터페이스로, 복수의 탭을 포함하는 탭 그룹일 수 있다. 예를 들어, 기능탭(830)은 오버뷰 탭(831), 스케줄러 탭(832), 모바일 앱 환경에 대한 테스트시나리오 탭(833), 테스트케이스 탭(834), 테스트결과 탭(835) 및 웹 환경에 대한 테스트시나리오 탭(836), 테스트케이스 탭(837), 테스트결과 탭(838) 중 적어도 하나를 포함할 수 있다. 테스트 자동화 장치(120)는 기능탭(830)에 포함된 탭 중 하나에 대응되는 세부 인터페이스를 제 2 프로젝트영역(820)에 표시할 수 있다. 기능탭(830)을 통해 사용자는 손쉽게 테스트프로젝트를 관리할 수 있다.
다시 도 5를 참조하면, 테스트 자동화 장치(120)는 테스트프로젝트에 대한 테스트케이스 정보에 포함된 케이스 식별정보를 획득하는 단계(522)를 수행할 수 있다. 케이스 식별정보는 테스트 자동화 장치(120)가 특정한 테스트케이스 정보를 식별하기 위하여 획득하는 테스트케이스 정보 고유의 정보일 수 있다. 케이스 식별정보는 수동 케이스 식별정보 및 자동 케이스 식별정보 중 적어도 하나를 포함할 수 있다.
테스트 자동화 장치(120)는 수동 케이스 식별정보를 획득할 수 있다. 수동 케이스 식별정보는 사용자의 입력에 기초하여 획득되는 케이스 식별정보일 수 있다. 예를 들어, 테스트 자동화 장치(120)는 케이스 식별정보에 포함된 테스트케이스 제목(title), 상세설명(description), 플랫폼 환경정보(platform_type) 및 우선순위(priority) 중 적어도 하나를 획득할 수 있다.
테스트 자동화 장치(120)는 자동 케이스 식별정보를 획득할 수 있다. 자동 케이스 식별정보는 테스트케이스 정보의 생성에 따라 테스트 자동화 장치(120)가 자동으로 획득하는 케이스 식별정보일 수 있다. 예를 들어, 테스트 자동화 장치(120)는 케이스 식별정보에 포함된 테스트케이스 고유번호(idx), 생성일시(created_at), 수정일시(modified_at), 최초 생성 사용자(creator), 사용자 uuid(owner_uuid), 테스트케이스 정보가 속한 테스트프로젝트의 고유 번호(project_idx), 고유식별값(unique_key) 및 생성된 서버의 URL 주소(server_url) 중 적어도 하나를 획득할 수 있다.
단계(522)에서 테스트 자동화 장치(120)는 도 9와 같이 사용자 인터페이스를 제공할 수 있다. 이하에서는 도 6 및 도 9와 함께 테스트케이스와 관련된 사용자 인터페이스에 대하여 설명한다.
도 9는 본 개시의 일 실시예에 따른 테스트케이스 정보와 관련된 세부 인터페이스를 나타내는 도면이다.
도 6 및 도 9의 (a)를 참조하면 테스트 자동화 장치(120)는 제 1 프로젝트영역(810)에 포함된 테스트케이스 탭(834)에 대한 입력에 기초하여 제 2 프로젝트영역(820)에 제 1-1 세부 인터페이스(910)를 표시하는 단계(603)를 수행할 수 있다. 제 1-1 세부 인터페이스(910)는 모바일 앱 환경에 대한 테스트케이스 정보를 관리하기 위한 사용자 인터페이스일 수 있다. 제 1 프로젝트영역(810)은 테스트케이스 탭(837)을 더 포함할 수 있다. 테스트 자동화 장치(120)는 테스트케이스 탭(837)에 대한 사용자의 입력에 기초하여 제 1-1 세부 인터페이스(910)와 동일한 구성의 웹 환경에 대한 테스트케이스 정보를 관리하기 위한 사용자 인터페이스를 표시할 수 있다.
제 1-1 세부 인터페이스(910)는 전체 테스트케이스 리스트를 포함할 수 있다. 전체 테스트케이스 리스트는 현재 테스트프로젝트에 포함된 테스트케이스 정보를 시각화한 목록일 수 있다. 전체 테스트케이스 리스트는 현재 테스트프로젝트에 포함된 테스트케이스 정보에 대응되는 케이스 오브젝트(911)를 포함할 수 있다. 케이스 오브젝트(911)는 테스트케이스 정보에 대응되며 테스트케이스 정보의 케이스 식별정보를 시각적으로 나타낼 수 있다. 예를 들어, 케이스 오브젝트(911)는 테스트케이스 고유번호, 플랫폼 환경정보, 제목, 우선순위 및 수정일시 중 적어도 하나를 시각적으로 나타낼 수 있다.
케이스 오브젝트(911)는 케이스 테스트 버튼(911a)을 포함할 수 있다. 케이스 테스트 버튼(911a)은 테스트케이스 정보에 대한 테스트를 개별적으로 실행할 것을 나타내는 입력을 받기 위한 오브젝트 객체일 수 있다. 케이스 테스트 버튼(911a)에 대한 사용자의 입력에 기초하여 테스트 자동화 시스템(100)은 해당 케이스 테스트 버튼을 포함하는 케이스 오브젝트(911)에 대응되는 테스트케이스 정보의 테스트를 개별적으로 실행할 수 있다. 보다 구체적으로, 테스트 자동화 시스템(100)은 케이스 테스트 버튼(911a)이 포함된 케이스 오브젝트(911)에 대응되는 테스트케이스 정보를 획득하고, 해당 테스트케이스 정보에 대응되는 동작을 실행할 수 있다. 테스트케이스 정보에 대응되는 동작은 테스트케이스 정보에 포함된 적어도 하나의 테스트스텝 정보를 스텝 순서 정보에 기초하여 순서대로 실행하는 것일 수 있다.
케이스 오브젝트(911)는 케이스 상세 버튼(911b)을 포함할 수 있다. 케이스 상세 버튼은 테스트케이스 정보를 상세하게 시각적으로 나타내기 위하여 제 1-3 세부 인터페이스(930)를 표시할 것을 나타내는 입력을 받기 위한 오브젝트 객체일 수 있다. 테스트 자동화 장치(120)는 케이스 상세 버튼(911b)에 대한 사용자의 입력에 기초하여 제 1-3 세부 인터페이스(930)를 표시할 수 있다. 이에 한정하지 않고, 테스트 자동화 장치(120)는 케이스 오브젝트(911) 중 케이스 테스트 버튼(911a)에 대응되는 영역을 제외한 케이스 오브젝트(911)의 미리 정해진 영역에 대한 사용자의 입력에 기초하여 제 1-3 세부 인터페이스(930)를 표시할 수 있다. 제 1-3 세부 인터페이스(930)에 대해서는 추후 자세히 설명한다.
제 1-1 세부 인터페이스(910)는 내보내기 오브젝트(913) 및 불러오기 오브젝트(914) 중 적어도 하나를 포함할 수 있다. 테스트 자동화 장치(120)는 내보내기 오브젝트(913)에 대한 사용자의 입력에 기초하여 테스트케이스 정보를 서버(110)로 내보낼 수 있다. 테스트케이스 정보는 서버(110)에 저장될 수 있다. 또한 테스트 자동화 장치(120)는 불러오기 오브젝트(914)에 대한 사용자의 입력에 기초하여 서버(110)에 저장된 테스트케이스 정보를 테스트 자동화 장치(120)로 불러올 수 있다. 또한, 테스트 자동화 장치(120)는 내보내기 오브젝트(913)에 대한 사용자의 입력에 기초하여 테스트케이스 정보를 다른 테스트프로젝트로 내보낼 수 있다. 테스트 자동화 장치(120)는 불러오기 오브젝트(914)에 대한 사용자의 입력에 기초하여 다른 테스트프로젝트로부터 테스트케이스 정보를 불러올 수 있다. 보다 구체적으로, 테스트 자동화 장치(120)는 테스트케이스 정보를 현재 테스트프로젝트로부터 다른 테스트프로젝트로 이전시키거나, 다른 테스트프로젝트로부터 현재 테스트프로젝트로 이전시킬 수 있다. 테스트 자동화 장치(120)에서 생성된 테스트케이스 정보는 내보내기 오브젝트(913) 및 불러오기 오브젝트(914)를 통해 테스트 자동화 시스템(100) 내에서 자유롭게 이동될 수 있다. 이를 통해 사용자는 기존에 사용하던 테스트 자동화 장치(120)와 다른 장치를 이용하거나 다른 테스트프로젝트에 참여하더라도 과거에 생성한 테스트케이스 정보를 활용할 수 있다. 따라서 빠르고 쉽게 테스트 관련 데이터를 작성하거나 유지보수할 수 있다.
제 1-1 세부 인터페이스(910)는 케이스생성 오브젝트(912)를 포함할 수 있다. 케이스생성 오브젝트(912)는 테스트케이스 정보를 생성하기 위한 사용자 인터페이스를 디스플레이에 표시하기 위한 오브젝트 객체이다. 도 9의 (b)를 참조하면, 테스트 자동화 장치(120)는 제 1-1 세부 인터페이스(910)에 포함된 케이스생성 오브젝트(912)에 대한 사용자의 입력(915)에 기초하여 제 2 프로젝트영역(820)에 제 1-2 세부 인터페이스(920)를 표시하는 단계(604)를 수행할 수 있다. 제 1-2 세부 인터페이스(920)는 테스트케이스 정보를 생성하기 위한 사용자 인터페이스일 수 있다.
제 1-2 세부 인터페이스(920)는 테스트케이스 정보를 입력 받기 위한 케이스 정보 입력창을 포함할 수 있다. 케이스 정보 입력창은 테스트 자동화 장치(120)가 사용자로부터 테스트케이스 정보에 포함된 케이스 식별정보를 획득하기 위한 인터페이스일 수 있다. 테스트 자동화 장치(120)는 케이스 정보 입력창에 대한 사용자의 입력에 기초하여 수동 케이스 식별정보를 획득할 수 있다. 예를 들어, 테스트 자동화 장치(120)는 케이스 정보 입력창에 대한 사용자의 텍스트 입력 및 선택 입력 중 적어도 하나를 통해 테스트케이스 제목(title), 상세설명(description), 플랫폼 환경정보(platform_type) 및 우선순위(priority) 중 적어도 하나를 획득할 수 있다.
제 1-2 세부 인터페이스(920)는 케이스생성완료 오브젝트(921)를 포함할 수 있다. 케이스생성완료 오브젝트(921)는 테스트케이스 정보의 생성을 완료하고 저장하기 위한 오브젝트 객체일 수 있다. 테스트 자동화 장치(120)는 케이스생성완료 오브젝트(921)에 대한 사용자의 입력(922)에 기초하여 자동 케이스 식별정보를 획득할 수 있다. 예를 들어, 테스트 자동화 장치(120)는 케이스생성완료 오브젝트(921)에 대한 사용자의 클릭 입력 직전, 동시 또는 직후의 시점을 기준으로 테스트케이스 고유 번호(idx), 생성일시(created_at), 수정일시(modified_at), 최초 생성 사용자(creator), 사용자 uuid(owner_uuid), 테스트 케이스가 속한 프로젝트의 고유 번호(project_idx), 고유식별값(unique_key) 및 생성된 서버의 URL 주소(server_url) 중 적어도 하나를 획득할 수 있다.
테스트 자동화 장치(120)는 케이스생성완료 오브젝트(921)에 대한 사용자의 입력(922)을 받은 테스트케이스 정보를 제 1-1 세부 인터페이스(910)의 전체 테스트케이스 리스트에 케이스 오브젝트(911)로 표시할 수 있다. 케이스생성완료 오브젝트(921)에 대한 사용자의 입력(922) 후, 테스트 자동화 장치(120)는 케이스 정보 입력창을 통해 획득한 수동 케이스 식별정보 및 자동 케이스 식별정보를 저장하고 제 2 프로젝트영역(820)에 제 1-1 세부 인터페이스(910)를 표시할 수 있다.
테스트 자동화 장치(120)는 제 1-1 세부 인터페이스(910)에 포함된 케이스 오브젝트(911)에 대한 사용자의 입력에 기초하여 제 2 프로젝트영역(820)에 제 1-3 세부 인터페이스(930)를 표시하는 단계(605)를 수행할 수 있다. 이때, 케이스 오브젝트(911)에 대한 사용자의 입력은 구체적으로 케이스 오브젝트(911) 중 케이스 테스트 버튼(911a)에 대응되는 영역을 제외한 케이스 오브젝트(911)의 미리 정해진 영역에 대한 사용자의 입력일 수 있다. 예를 들어, 케이스 오브젝트(911)에 대한 사용자의 입력은 케이스 오브젝트(911)가 포함하는 테스트케이스 번호, 제목, 우선순위 및 수정일시 중 적어도 하나를 시각적으로 나타내는 영역에 대한 입력일 수 있다. 또한, 케이스 오브젝트(911)에 대한 사용자의 입력은 케이스 오브젝트(911)에 포함된 케이스 상세 버튼(911b)에 대한 사용자의 입력일 수 있다. 제 1-3 세부 인터페이스(930)는 하나의 테스트케이스 정보를 상세하게 시각적으로 나타내기 위한 사용자 인터페이스일 수 있다. 제 1-1 세부 인터페이스(910)는 제 1 케이스 영역(931) 및 제 2 케이스 영역(932) 중 적어도 하나를 포함할 수 있다. 제 1 케이스 영역(931)은 제 1-3 세부 인터페이스(930)의 상단에 위치한 영역일 수 있다. 제 2 케이스 영역(932)은 제 1-3 세부 인터페이스(930)의 하단에 위치한 영역일 수 있다.
제 1 케이스 영역(931)은 케이스상세정보창을 포함할 수 있다. 케이스상세정보창은 단계(522)에서 사용자의 입력에 기초하여 획득한 수동 케이스 식별정보를 시각적으로 나타낼 수 있다. 예를 들어, 케이스상세정보창은 제목(title), 상세설명(description), 플랫폼 환경정보(platform_type) 및 우선순위(priority) 중 적어도 하나를 시각적으로 표시할 수 있다.
제 1 케이스 영역(931)은 케이스수정 오브젝트(933) 및 케이스삭제 오브젝트(934) 중 적어도 하나를 포함할 수 있다. 케이스수정 오브젝트(933)는 테스트케이스 정보에 포함된 케이스 식별정보를 수정하기 위한 오브젝트 객체일 수 있다. 케이스수정 오브젝트(933)에 대한 사용자의 입력에 기초하여 테스트 자동화 장치(120)는 단계(604)와 동일한 방법으로 제 2 프로젝트영역(820)에 제 1-2 세부 인터페이스(920)를 표시할 수 있다. 테스트케이스 정보에 포함된 케이스 식별정보를 수정되는 과정은 단계(522)에서 전술한 테스트케이스 정보에 포함된 케이스 식별정보가 생성되는 과정과 동일할 수 있다. 케이스삭제 오브젝트(934)는 테스트케이스 정보를 삭제하기 위한 오브젝트 객체일 수 있다. 케이스삭제 오브젝트(934)에 대한 사용자의 입력에 기초하여 테스트 자동화 장치(120)는 해당 테스트케이스 정보에 대응되는 케이스 오브젝트(911)를 전체 테스트케이스 리스트에서 삭제할 수 있다.
제 2 케이스 영역(932)은 테스트스텝 리스트를 포함할 수 있다. 테스트스텝 리스트는 현재 테스트케이스 정보와 관련된 테스트스텝 정보를 순서대로 배열한 목록일 수 있다. 구체적으로, 테스트케이스 정보는 스텝 목록을 포함할 수 있다. 스텝 목록은 테스트케이스 정보가 포함하는 테스트스텝 정보의 테스트스텝 고유번호를 목록 형태로 구성한 데이터일 수 있다. 스텝 목록은 테스트스텝 정보가 실행되는 순서를 의미하는 스텝 순서 정보를 포함할 수 있다. 테스트 실행 시, 테스트 자동화 장치(120)는 테스트스텝 고유번호에 대응되는 테스트스텝 정보를 스텝 순서 정보에 기초하여 순서대로 실행할 수 있다.
테스트스텝 리스트는 현재 테스트케이스 정보의 스텝 목록에 포함된 테스트스텝 정보에 대응되는 스텝 오브젝트(938)를 포함할 수 있다. 스텝 오브젝트(938)는 테스트스텝 정보에 대응되며 테스트스텝 정보를 시각적으로 나타낼 수 있다. 예를 들어, 스텝 오브젝트(938)는 테스트스텝 정보에 포함된 커맨드 정보, 테스트스텝 옵션 정보, 상세설명 및 필수실행여부 중 적어도 하나를 시각적으로 나타낼 수 있다. 테스트스텝 정보는 추후 자세히 설명하도록 한다.
제 2 케이스 영역(932)은 스텝 리스트 실행 오브젝트(935)를 포함할 수 있다. 스텝 리스트 실행 오브젝트(935)는 현재 테스트케이스 정보에 포함된 테스트스텝 정보를 개별적으로 테스트하기 위한 오브젝트 객체일 수 있다. 스텝 리스트 실행 오브젝트(935)에 대한 사용자의 입력에 기초하여 테스트 자동화 장치(120)는 테스트스텝 리스트에 포함된 테스트스텝 정보를 테스트 실행할 수 있다. 보다 구체적으로, 테스트 자동화 시스템(100)은 스텝 리스트 실행 오브젝트(935)에 대한 사용자의 입력에 기초하여 테스트스텝 리스트에 포함된 테스트스텝 정보를 획득하고, 해당 테스트스텝 리스트에 포함된 적어도 하나의 테스트스텝 정보를 스텝 순서 정보에 기초하여 순서대로 실행할 수 있다.
제 2 케이스 영역(932)은 스텝생성 오브젝트(936)를 포함할 수 있다. 스텝생성 오브젝트(936)는 현재 테스트케이스 정보에 포함된 테스트스텝 정보를 생성하기 위한 오브젝트 객체일 수 있다. 스텝생성 오브젝트(936)에 대한 사용자의 입력에 기초하여 테스트 자동화 장치(120)는 테스트스텝 정보를 생성할 수 있다. 테스트스텝 정보를 생성하는 과정에 대해 이하에서 설명한다.
다시 도 5를 참조하면, 테스트 자동화 장치(120)는 테스트케이스 정보와 관련된 테스트스텝 정보를 획득하는 단계(523)를 수행할 수 있다. 테스트스텝 정보는 특정한 목적을 가지고 수행되는 개별적인 테스트 동작에 대한 데이터일 수 있다. 테스트스텝 정보는 실행 동작 명령어를 포함할 수 있다. 테스트케이스 정보와 관련된 테스트스텝 정보는 테스트케이스 정보의 스텝 목록에 포함된 테스트스텝 고유번호에 대응되는 테스트스텝 정보일 수 있다.
테스트스텝 정보는 스텝 식별정보를 더 포함할 수 있다. 스텝 식별정보는 테스트 자동화 장치(120)가 특정한 테스트스텝 정보를 식별하기 위하여 획득하는 테스트스텝 정보 고유의 정보일 수 있다. 스텝 식별정보는 수동 스텝 식별정보 및 자동 스텝 식별정보 중 적어도 하나를 포함할 수 있다.
테스트 자동화 장치(120)는 수동 스텝 식별정보를 획득할 수 있다. 수동 스텝 식별정보는 사용자의 입력에 기초하여 획득되는 스텝 식별정보일 수 있다. 예를 들어, 테스트 자동화 장치(120)는 스텝 식별정보에 포함된 테스트스텝 상세설명(description), 커맨드 정보(command), 필수실행여부(required) 및 참조값정보(value) 중 적어도 하나를 포함할 수 있다. 필수 실행 여부(required)는 테스트 실행 중 해당 테스트스텝 정보의 필수 실행 여부를 결정하는 데이터로, 필수 실행 여부의 컬럼 값에 따라 테스트 실행 결과 처리가 달라질 수 있다. 참조값정보(value)는 커맨드 정보가 참조하는 값으로, 객체 정보, 앱 패키지명 등 커맨드 정보에 따라 값의 종류가 달라질 수 있다. 커맨드 정보(command)에 대해서는 추후 단계(523)에서 자세히 설명한다.
테스트 자동화 장치(120)는 자동 스텝 식별정보를 획득할 수 있다. 테스트스텝 정보의 생성에 따라 테스트 자동화 장치(120)가 자동으로 획득하는 테스트스텝 정보의 고유 정보일 수 있다. 스텝 식별정보는 테스트스텝 고유번호(idx), 생성일시(created_at), 수정일시(modified_at), 앱버전정보(app_version), 최초 생성 사용자(creator), 사용자 uuid(owner_uuid), 앱패키지명(package_name), 활성화상태(status), 고유식별값(unique_key) 및 테스트스텝 정보가 생성된 테스트케이스 정보의 고유번호(test_case_idx) 중 적어도 하나를 포함할 수 있다. 테스트스텝 고유번호(idx)는 테스트스텝 정보의 생성에 따라 테스트 자동화 장치(120)가 자동으로 생성하는 테스트스텝 정보의 고유번호일 수 있다. 테스트 자동화 장치(120)는 테스트스텝 고유번호(idx) 값을 참조하여 테스트케이스 정보에 포함된 스텝 목록을 구성할 수 있다. 테스트스텝 생성일시(created_at) 및 수정일시(modified_at)는 각각 테스트스텝 정보가 생성된 시각 및 수정된 시각에 대한 정보일 수 있다. 테스트스텝 앱버전정보(app_version)는 테스트스텝 정보 생성 시 테스트 디바이스(130)에 표시된 애플리케이션의 버전에 대한 정보일 수 있다. 최초 생성 사용자(creator)는 테스트스텝 정보를 최초 생성한 사용자의 ID 정보일 수 있다. 사용자 uuid(owner_uuid)는 테스트스텝 정보를 생성한 사용자의 ID 정보일 수 있다. 최초로 생성된 테스트스텝 정보의 경우 최초 생성 사용자(creator)와 사용자 uuid(owner_uuid)의 ID 정보는 동일할 수 있으며, 기존의 테스트스텝 정보를 불러오기(import)한 경우, 사용자 uuid는 불러오기를 실행한 사용자의 ID 정보일 수 있다. 앱패키지명(package_name)은 테스트스텝 정보 생성 시 테스트 디바이스(130)에 표시된 애플리케이션의 패키지명일 수 있다.
테스트 자동화 시스템(100)은 테스트스텝 정보를 테이블 형식으로 저장할 수 있다. 예를 들어, 테스트 자동화 시스템(100)은 도 17과 같이 테스트스텝 정보를 저장할 수 있다.
도 17은 본 개시의 일 실시예에 따른 테스트스텝 정보를 나타내는 도면이다.
도 17을 참조하면, 테스트스텝 정보를 저장한 데이터테이블(1700)은 가로축 및 세로축을 포함할 수 있다. 데이터테이블(1700)의 가로축은 테스트스텝 정보에 포함된 테스트스텝 고유번호(idx), 생성일시(created_at), 수정일시(modified_at), 앱버전정보(app_version), 커맨드 정보(command), 최초 생성 사용자(creator), 상세설명(description), 사용자 uuid(owner_uuid), 앱패키지명(package_name), 활성화상태(status), 필수실행여부(required), 참조값정보(value), 고유식별값(unique_key) 및 테스트스텝 정보가 생성된 테스트케이스 정보의 고유번호(test_case_idx) 중 적어도 하나를 나타낼 수 있다. 데이터테이블(1700)의 세로축은 서로 다른 테스트스텝 정보를 나타낼 수 있다. 테스트 자동화 시스템(100)은 테스트스텝 정보를 테이블 형식으로 저장함으로써 복잡한 스크립트를 작성할 필요 없이 테이블의 데이터를 참조하여 즉시 테스트를 실행할 수 있도록 한다.
단계(523)에서, 테스트 자동화 장치(120)는 테스트 디바이스(130)로부터 적어도 하나의 스텝 객체를 포함하는 화면 이미지를 획득할 수 있다. 스텝 객체는 테스트 디바이스(130)가 표시하는 애플리케이션 화면에서 사용자가 상호작용할 수 있는 객체 요소일 수 있다. 테스트 자동화 장치(120)는 스텝 객체에 대한 조작을 나타내는 데이터를 이용하여 테스트를 실행할 수 있다. 스텝 객체를 포함하는 화면 이미지를 획득하기 위해 구체적으로 테스트 자동화 장치(120)는 다음과 같은 과정을 수행할 수 있다.
테스트 자동화 장치(120)는 테스트 자동화 장치(120)와 연결된 적어도 하나의 테스트 디바이스를 식별할 수 있다. 테스트 자동화 장치(120)는 IDE(121)가 설치된 테스트 자동화 장치(120)와 연결된 모든 테스트 디바이스를 식별할 수 있다.
테스트 자동화 장치(120)는 적어도 하나의 테스트 디바이스 중 하나를 선택할 수 있다. 테스트 자동화 장치(120)는 선택된 테스트 디바이스로부터 디바이스 정보 및 화면 이미지 중 적어도 하나를 획득할 수 있다. 테스트 자동화 장치(120)의 IDE(121)에 포함된 IDE 서버는 웹 애플리케이션 서버(124)에 포함된 Appium 서버로 선택된 테스트 디바이스에 대한 세션 생성을 요청할 수 있다. 세션 생성이 완료되면, IDE 서버는 Appium 서버로 테스트 디바이스의 현재 화면에 대한 화면 이미지를 요청할 수 있다.
테스트 자동화 장치(120)는 화면 이미지로부터 객체 정보를 포함하는 적어도 하나의 스텝 객체를 추출할 수 있다. IDE 서버는 Appium 서버로 테스트 디바이스의 현재 화면에 대한 객체 정보를 요청할 수 있다. Appium 서버는 디바이스의 현재 화면에 대한 화면 이미지와 객체 정보를 추출할 수 있다. 예를 들어, 안드로이드의 경우, UIAutomator2를 통해 객체 정보가 추출될 수 있다. 구체적으로, IDE 서버는 Appium 서버에게 현재 화면의 페이지 소스 추출을 요청할 수 있다. Appium 서버는 ADB 명령어를 통해 UIAutomator2에 페이지 소스 추출을 요청할 수 있다. Appium 서버는 UIAutomator2에 의해 생성된 페이지 소스 dump 파일을 XML 형태로 변환할 수 있으며, Appium 설정에 따라 포함될 객체 정보의 양이 달라질 수 있다. Appium 서버는 생성된 XML 페이지 소스를 IDE 서버로 전송할 수 있다. IDE 서버는 XML 페이지 소스에서 각 객체 정보의 Full Xpath를 생성하고, 이를 프론트엔드(FE)로 전달할 JSON 형식으로 변환할 수 있다. JSON 형식으로 변환된 객체 정보는 화면에 표시되기 위한 객체 식별정보를 포함할 수 있다. 객체 식별정보는 객체 정보가 테스트 자동화 장치(120)에 이용되기 위하여 다양한 디바이스 환경에서 호환되는 정보일 수 있다. 화면 이미지 및 JSON 형태로 변환된 객체 정보는 IDE(121)의 사용자 인터페이스(125)에 표시될 수 있다.
스텝 객체를 포함하는 화면 이미지를 획득한 후, 테스트 자동화 장치(120)는 화면 이미지와 관련된 테스트스텝 정보를 획득하는 단계(523)를 수행할 수 있다. 테스트스텝 정보는 커맨드 정보 및 테스트스텝 옵션 정보 중 적어도 하나를 포함할 수 있다. 테스트스텝 정보의 스텝 식별정보에 포함된 커맨드 정보는 테스트스텝 정보의 실행 동작을 결정하는 명령어일 수 있다. 테스트스텝 옵션 정보는 커맨드 정보의 실행에 필요한 데이터로, key 및 value 형태의 데이터를 포함할 수 있다. 테스트스텝 옵션 정보는 커맨드 정보에 따라 달라질 수 있다.
화면 이미지와 관련된 테스트스텝 정보를 획득하는 단계(523)가 수행될 때, 테스트 자동화 장치(120)는 다음과 같은 과정을 수행할 수 있다.
테스트 자동화 장치(120)는 사용자의 입력에 기초하여 복수의 미리 정해진 커맨드 중 하나를 커맨드 정보로 결정할 수 있다. 미리 정해진 커맨드는 Click, Find Element, Launch App, Save Text, Confirm Text, Input Text, Scroll And Swipe, Device Key, Reset App, Import Test Case, Loop, Verify No Element, Compare Image 및 IF 중 적어도 하나일 수 있다.
테스트 자동화 장치(120)는 커맨드 정보에 대응되는 테스트스텝 옵션 정보를 획득할 수 있다. 테스트스텝 옵션 정보는 커맨드 정보가 나타내는 동작 실행에 필요한 데이터일 수 있다.
테스트스텝 옵션 정보는 테스트스텝 옵션 고유번호(idx), 생성일시(created_at), 수정일시(modified_at), 활성화상태(status) 및 테스트스텝 옵션 정보가 참조하는 테스트스텝 정보의 고유번호(test_step_idx) 중 적어도 하나를 포함할 수 있다. 고유번호(test_step_idx)에 기초하여 테스트스텝 옵션 정보는 테스트스텝 정보와 매칭될 수 있다. 즉 테스트스텝 정보에 포함된 커맨드 정보가 수행될 때, 테스트스텝 옵션 정보가 참조되어 수행될 수 있다.
또한 테스트스텝 옵션 정보는 공통 테스트 옵션 정보를 더 포함할 수 있다. 공통 테스트 옵션 정보는 테스트스텝 생성 시 연결된 테스트 디바이스(130)와 관련된 정보를 자동으로 추출하여 저장한 데이터일 수 있다. 공통 테스트 옵션정보는 테스트스텝 동작 전 대기시간(watingTime), 테스트디바이스 고유번호(udid), 모델명(model), 화면 해상도(screenSize), dpi 및 뷰포트(viewportSize) 중 적어도 하나를 포함할 수 있다. 공통 테스트 옵션 정보는 테스트 실행 시 다양한 디바이스의 환경에 대한 호환성을 유지하기 위해 이용될 수 있다. 예를 들어, 테스트 자동화 장치(120)는 공통 테스트 옵션 정보의 화면 해상도를 이용하여 호환성을 유지할 수 있다. 테스트 자동화 장치(120)는 테스트스텝 생성 시 연결된 테스트 디바이스(130)의 화면 해상도와 테스트 시 연결된 테스트 디바이스(130)의 화면 해상도를 고려하여 테스트에 필요한 좌표 및 이미지 크기 중 적어도 하나를 스케일링할 수 있다.
테스트스텝 옵션 정보는 key-value 구조의 데이터를 포함할 수 있다. 옵션키 정보는 테스트스텝 옵션 정보의 key에 해당하는 고유한 데이터로, 커맨드 정보에 따라 상이한 값을 가질 수 있다. 옵션키 정보는 커맨드 정보에 기초하여 달라질 수 있다. 테스트스텝 옵션 정보는 옵션키 정보에 대응되는 옵션값 정보를 포함할 수 있다. 옵션값 정보는 테스트스텝 옵션 정보의 value에 해당하는 데이터로, 옵션키 정보에 대응되는 값이 저장될 수 있다. 테스트스텝 옵션 정보는 옵션키 정보 및 옵션값 정보를 포함함으로써 간단한 데이터 입력만으로 다양한 환경에서 커맨드 정보에 대한 동작을 실행할 수 있다.
예를 들어, 테스트스텝 정보의 커맨드 정보가 클릭을 나타내고, 옵션키 정보가 객체 클릭을 나타내는 경우, 테스트 자동화 장치(120)는 화면 이미지에 대한 사용자의 입력에 기초하여 스텝 객체 중 하나를 선택할 수 있다. 전술한 바와 같이 스텝 객체는 각 객체의 객체 식별정보를 포함하는 객체 정보를 포함할 수 있다. 테스트 자동화 장치(120)는 선택된 스텝 객체의 객체 정보를 옵션값 정보로써 테스트스텝 옵션 정보에 포함시킬 수 있다. 테스트 자동화 장치(120)는 테스트 수행 시 테스트 자동화 장치(120)의 화면 이미지에 포함된 스텝 객체의 복수의 후보 객체 정보와 옵션값 정보를 비교하고, 옵션값 정보와 일치하는 복수의 후보 객체 정보에 대응되는 스텝 객체를 식별할 수 있다. 테스트 자동화 장치(120)는 테스트 디바이스(130)가 옵션값 정보와 일치하는 스텝 객체에 대하여 클릭 동작을 수행하도록 할 수 있다. 구체적으로, 테스트 자동화 장치(120)는 옵션값 정보에 포함된 객체 정보와 일치하는 스텝 객체를 화면 이미지에 포함된 복수의 후보 객체 정보 중에서 선택할 수 있다. 테스트 자동화 장치(120)는 선택된 스텝 객체의 특정한 위치에 클릭 동작을 수행하도록 할 수 있다. 예를 들어, 테스트 자동화 장치(120)는 스텝 객체의 중앙을 클릭하도록 할 수 있다.
테스트스텝 정보의 커맨드 정보가 클릭을 나타내고, 옵션키 정보가 좌표 클릭을 나타내는 경우, 테스트 자동화 장치(120)는 화면 이미지에 대한 사용자의 입력에 기초하여 하나의 점의 좌표를 포함하는 클릭좌표 정보를 획득할 수 있다. 클릭좌표 정보는 화면 이미지에 대한 사용자의 입력에 대응되는 좌표 값을 포함할 수 있다. 테스트 자동화 장치(120)는 클릭좌표 정보를 옵션값 정보로써 테스트스텝 옵션 정보에 포함시킬 수 있다. 테스트 자동화 장치(120)는 테스트 수행 시 테스트 디바이스(130)가 클릭좌표 정보에 대응되는 위치에 클릭 동작을 수행하도록 할 수 있다.
테스트스텝 정보의 커맨드 정보가 클릭(click)을 나타내고, 옵션키 정보가 이미지비교 클릭을 나타내는 경우, 테스트 자동화 장치(120)는 화면 이미지에 대한 사용자의 입력에 기초하여 클릭이미지영역 정보를 획득할 수 있다. 클릭이미지영역 정보는 화면 이미지 내에 정의된 사각형의 영역에 대한 정보일 수 있다. 클릭이미지영역 정보는 사각형의 영역에 대하여 사각형의 각 꼭짓점의 좌표 정보 및 가로/세로 길이 중 적어도 하나를 포함할 수 있다. 테스트 자동화 장치(120)는 클릭이미지영역 정보에 기초하여 화면 이미지에서 클릭이미지 정보를 획득할 수 있다. 클릭이미지 정보는 클릭이미지영역 정보가 나타내는 사각형의 영역에 포함된 이미지에 대한 정보일 수 있다. 테스트 자동화 장치(120)는 클릭이미지 정보를 옵션값 정보로써 테스트스텝 옵션 정보에 포함시킬 수 있다. 테스트 자동화 장치(120)는 테스트 수행 시 테스트 자동화 장치(120)는 클릭이미지 정보와 화면 이미지를 비교하고, 클릭이미지 정보와 일치하는 이미지를 식별할 수 있다. 테스트 자동화 장치(120)는 테스트 디바이스(130)가 클릭이미지 정보와 일치하는 이미지에 대하여 클릭 동작을 수행하도록 할 수 있다.구체적으로, 테스트 자동화 장치(120)는 클릭이미지 정보와 일치하는 이미지의 특정한 위치에 클릭 동작을 수행하도록 할 수 있다. 예를 들어, 테스트 자동화 장치(120)는 테스트 디바이스(130)가 클릭이미지 정보와 일치하는 이미지의 중앙을 클릭하도록 하여 클릭 동작의 실패 확률을 줄일 수 있다.
단계(523)에서 테스트 자동화 장치(120)는 도 10 및 도 11과 같이 사용자 인터페이스를 제공할 수 있다. 이하에서는 단계(523)에서 테스트 자동화 장치(120)가 표시하는 사용자 인터페이스를 도 6, 도 10 및 도 11과 함께 설명한다.
도 10은 본 개시의 일 실시예에 따른 테스트 디바이스와 관련된 세부 인터페이스를 나타내는 도면이다.
도 11은 본 개시의 일 실시예에 따른 테스트스텝 정보와 관련된 세부 인터페이스를 나타내는 도면이다.
도 6 및 도 10을 참조하면, 테스트 자동화 장치(120)는 제 1-3 세부 인터페이스(930)에 포함된 스텝생성 오브젝트(937)에 대한 사용자의 입력에 기초하여 제 2 프로젝트영역(820)에 제 2 세부 인터페이스(1010)를 표시하는 단계(606)를 수행할 수 있다. 제 2 세부 인터페이스(1010)는 테스트 자동화 장치(120)와 연결된 테스트 디바이스를 표시하고 테스트 디바이스를 선택하는 사용자의 입력을 획득하기 위한 사용자 인터페이스일 수 있다. 제 2 세부 인터페이스(1010)는 디바이스 목록을 포함할 수 있다. 디바이스 목록은 테스트 자동화 장치(120)와 연결된 테스트 디바이스를 나타내는 목록일 수 있다. 테스트 디바이스에 대응되는 테스트 디바이스 오브젝트(1012)를 포함할 수 있다.
테스트 자동화 장치(120)는 제 2 세부 인터페이스(1010)의 우측 상단에 새로고침 객체(1011)를 표시할 수 있다. 테스트 자동화 장치(120)는 새로고침 객체(1011)에 대한 사용자의 입력에 기초하여 디바이스 목록을 갱신시킬 수 있다. 새로고침 객체(1011)를 통해 사용자는 선택하고자 하는 테스트 디바이스에 대응되는 테스트 디바이스 오브젝트(1012)가 표시되지 않을 경우 디바이스 목록을 갱신하여 확인할 수 있다.
테스트 자동화 장치(120)는 연결된 테스트 디바이스가 존재할 경우, 테스트 디바이스에 대응되는 테스트 디바이스 오브젝트(1012)를 디바이스 목록에 미리 정해진 형태로 표시할 수 있다. 미리 정해진 형태의 테스트 디바이스 오브젝트(1012)에는 모델명 및 UDID 중 적어도 하나를 포함하는 디바이스 정보가 표시될 수 있다.
테스트 자동화 장치(120)는 테스트 디바이스 오브젝트(1012)에 대한 사용자의 입력에 기초하여 테스트 디바이스 오브젝트(1012)에 대응되는 테스트 디바이스를 테스트스텝 정보의 생성에 이용할 테스트 디바이스로 결정할 수 있다. 테스트 자동화 장치(120)는 선택된 테스트 디바이스에 대한 세션 생성을 통해 해당 테스트 디바이스로부터 데이터를 획득할 수 있다. 예를 들어, 테스트 자동화 장치(120)는 테스트 디바이스(130)로부터 스텝 객체를 포함하는 화면 이미지를 획득할 수 있다.
도 6 및 도 11을 참조하면, 디바이스 목록에 포함된 테스트 디바이스 오브젝트에 대한 사용자의 입력에 기초하여, 테스트 자동화 장치(120)는 제 3 인터페이스(1100)를 표시하는 단계(607)를 수행할 수 있다. 제 3 인터페이스(1100)는 테스트케이스 정보와 관련된 테스트스텝 정보를 생성하기 위한 사용자 인터페이스일 수 있다. 제 3 인터페이스(1100)는 제 1 스텝영역(1110), 제 2 스텝영역(1120) 및 제 3 스텝영역(1130) 중 적어도 하나를 포함할 수 있다. 제 1 스텝영역(1110), 제 2 스텝영역(1120) 및 제 3 스텝영역(1130)은 서로 중복되지 않을 수 있다. 제 1 스텝영역(1110), 제 2 스텝영역(1120) 및 제 3 스텝영역(1130)은 각각 제 3 인터페이스(1100)의 좌측, 중간 및 우측에 위치한 영역일 수 있다.
테스트 자동화 장치(120)는 제 1 스텝영역(1110)에 인스펙터창(1111)을 표시할 수 있다. 인스펙터창(1111)은 적어도 하나의 스텝 객체를 포함하는 화면 이미지(1210)를 포함할 수 있다. 인스펙터창(1111)은 테스트 자동화 장치(120)가 인스펙터창(1111)에 포함된 화면 이미지(1210) 및 화면 이미지(1210)에 포함된 스텝 객체에 대한 사용자의 입력을 획득하기 위한 인터페이스일 수 있다. 인스펙터창(1111)에 대한 사용자의 입력에 기초하여 테스트 자동화 장치(120)는 옵션값 정보를 획득할 수 있다.
테스트 자동화 장치(120)는 제 1 스텝영역(1110)의 좌측에 툴바(1140)를 표시할 수 있다. 툴바(1140)는 인스펙터창(1111)과 관련하여 부가적인 기능을 제공하는 도구를 포함하는 영역일 수 있다. 툴바(1140)는 보안플래그 적용 여부를 나타내는 보안플래그 객체를 표시할 수 있다. 보안플래그는 인스펙터창(1111)에 표시되는 화면 이미지에 대하여 모바일 앱 정책상 보안이 필요한 화면에 적용되는 화면 보안 설정일 수 있다. 테스트 자동화 장치(120)는 테스트 디바이스(130)의 화면이 보안이 필요한 화면인 경우 보안플래그를 적용할 수 있다. 보안플래그가 적용될 경우, 테스트 자동화 장치(120)는 인스펙터창(1111)에 화면 이미지를 표시하지 않고, 객체 탐지만 수행할 수 있다. 테스트 자동화 장치(120)는 사용자의 개인정보를 포함하고 있는 화면과 같은 보안이 필요한 화면에 대해서도 안전하게 테스트를 수행할 수 있다. 왜냐하면 테스트하는 사람이 보안이 필요한 화면을 볼 수 없기 때문이다. 테스트 자동화 장치(120)는 보안플래그 적용 여부에 따라 보안플래그 객체의 모양 및 색깔 중 적어도 하나를 다르게 표시할 수 있다. 예를 들어, 보안플래그가 적용되지 않은 경우 테스트 자동화 장치(120)는 보안플래그 객체를 체크 표시를 포함하는 초록색 객체로 표시할 수 있다. 보안플래그가 적용된 경우 테스트 자동화 장치(120)는 보안플래그 객체를 느낌표 표시를 포함하는 빨간색 객체로 표시할 수 있다.
툴바(1140)는 화면 새로고침 객체를 표시할 수 있다. 테스트 자동화 장치(120)는 화면 새로고침 객체에 대한 사용자의 입력에 기초하여 인스펙터창(1111)에 표시되는 화면 이미지 및 화면 이미지에 포함된 스텝 객체 중 적어도 하나를 갱신할 수 있다.
테스트 자동화 장치(120)는 제 2 스텝영역(1120)에 테스트스텝 정보를 입력 받기 위한 스텝 정보 입력창을 표시할 수 있다. 스텝 정보 입력창은 테스트 자동화 장치(120)가 사용자로부터 화면 이미지와 관련된 테스트스텝 정보를 획득하기 위한 인터페이스일 수 있다. 테스트 자동화 장치(120)는 제 1 스텝영역(1110)의 인스펙터창(1111)에 대한 사용자의 입력에 기초하여 테스트스텝 정보를 획득할 수 있다. 아래에서는 인스펙터창(1111)에 대한 사용자의 입력에 기초하여 테스트스텝 정보를 획득하는 방법을 구체적으로 설명하기 위해 잠시 도 12를 참조한다.
도 12는 본 개시의 일 실시예에 따른 제 3 인터페이스를 나타내는 도면이다.
제 2 스텝영역(1120)에 포함된 스텝 정보 입력창은 입력구성요소(1220)를 포함할 수 있다. 입력구성요소(1220)는 테스트 자동화 장치(120)가 사용자로부터 테스트스텝 정보에 포함되는 커맨드 정보, 옵션키 정보 및 옵션값 정보 등을 입력 받기 위한 입력 도구일 수 있다.
입력구성요소(1220)는 커맨드선택탭(1221)을 포함할 수 있다. 커맨드선택탭(1221)은 사용자로부터 미리 정해진 커맨드 중 하나를 커맨드 정보로 입력받기 위한 입력구성요소(1220)일 수 있다. 테스트 자동화 장치(120)는 커맨드선택탭(1221)에 대한 사용자의 선택입력을 통해 미리 정해진 커맨드 중 하나를 커맨드 정보로 결정할 수 있다.
커맨드 정보가 결정된 후, 테스트 자동화 장치(120)는 커맨드 정보에 기초하여 미리 정해진 입력구성요소를 표시할 수 있다. 테스트스텝 정보는 커맨드 정보에 기초하여 옵션키 정보 및 옵션값 정보 중 적어도 하나가 달라질 수 있기 때문에, 테스트 자동화 장치(120)는 사용자가 커맨드 정보에 따라 손쉽게 옵션키 정보 및 옵션값 정보 중 적어도 하나를 입력할 수 있도록 미리 정해진 입력구성요소를 이용할 수 있다. 보다 구체적으로, 테스트 자동화 장치(120)는 커맨드 정보에 대응하는 미리 정해진 입력구성요소를 저장하고 있을 수 있다. 테스트 자동화 장치(120)는 커맨드 정보가 입력될 경우 커맨드 정보에 대응하는 미리 정해진 입력구성요소를 표시할 수 있다.
커맨드 정보에 기초하여 미리 정해진 입력구성요소를 표시하는 방법은 다음과 같을 수 있다.
테스트 자동화 장치(120)는 커맨드선택탭(1221)을 통해 '클릭(click)'을 나타내는 커맨드 정보를 획득할 수 있다. 테스트 자동화 장치(120)는 '클릭(click)'에 대응되는 미리 정해진 입력구성요소로써 옵션키선택탭(1222)을 포함할 수 있다. 또한, 테스트 자동화 장치(120)는 '클릭(click)'에 대응되는 미리 정해진 입력구성요소로써 객체입력탭(1223), 좌표입력탭(1224) 및 이미지입력탭(1225) 중 적어도 하나를 포함할 수 있다. 커맨드선택탭(1221)에 입력되는 커맨드 정보가 달라질 경우, 테스트 자동화 장치(120)는 다른 미리 정해진 입력구성요소가 표시될 수 있다.
도 12의 (a)를 참조하면, 테스트 자동화 장치(120)는 옵션키선택탭(1222)을 표시할 수 있다. 옵션키선택탭(1222)은 특정 커맨드 정보에 대한 미리 정해진 옵션키 중 하나를 옵션키 정보로 선택하기 위한 입력구성요소(1220)일 수 있다. 커맨드 정보인 '클릭'에 대한 미리 정해진 옵션키는 객체 클릭, 좌표 클릭 및 이미지 비교 클릭을 포함할 수 있다. 테스트 자동화 장치(120)는 옵션키선택탭(1222)에 대한 사용자의 입력에 기초하여 옵션키 정보를 획득할 수 있다.
옵션키 정보가 객체 클릭을 나타내는 경우, 테스트 자동화 장치(120)는 객체입력탭(1223)을 표시할 수 있다. 객체입력탭(1223)은 인스펙터창(1111)에 대한 사용자의 입력에 기초하여 스텝 객체의 객체 정보를 획득하기 위한 입력구성요소(1220)일 수 있다. 인스펙터창(1111)에 표시된 화면 이미지(1210)는 적어도 하나의 스텝 객체를 포함할 수 있다. 테스트 자동화 장치(120)는 스텝 객체에 대한 사용자의 입력(1212)에 기초하여 스텝범위객체(1211)를 표시할 수 있다. 스텝범위객체(1211)는 화면 이미지(1210)에 포함된 스텝 객체에 대하여 화면 이미지(1210)에서 사용자가 선택한 스텝 객체가 해당하는 범위를 시각적으로 나타내기 위한 것일 수 있다. 스텝범위객체(1211)는 사용자의 입력에 의해 선택된 스텝 객체를 강조하여 표시할 수 있다. 예를 들어, 스텝범위객체(1211)는 화면 이미지(1210)에서 스텝 객체가 해당하는 범위를 제 1 색상으로 표시할 수 있다. 제 1 색상은 예를 들어 파란색일 수 있다. 사용자는 스텝범위객체(1211)를 통해 옵션값 정보로 획득하고자 하는 스텝 객체가 제대로 선택되었는지 확인할 수 있다. 테스트 자동화 장치(120)는 스텝범위객체(1211)가 강조하여 표시하는 스텝 객체의 객체 정보를 옵션값 정보로 획득할 수 있다. 추후 도 5의 테스트 수행 단계(527)에서 테스트 자동화 시스템(100)은 객체 정보와 커맨드 정보, 옵션키 정보 및 옵션값 정보에 기초하여 스텝 객체를 '클릭'하는 동작을 수행할 수 있다. 예를 들어, 테스트 자동화 장치(120)는 테스트 수행 시 테스트 자동화 장치(120)의 화면 이미지에 포함된 스텝 객체의 객체 정보와 옵션값 정보를 비교하고, 옵션값 정보와 일치하는 객체 정보에 대응되는 스텝 객체를 식별할 수 있다. 테스트 자동화 장치(120)는 테스트 디바이스(130)가 옵션값 정보와 일치하는 스텝 객체에 대하여 클릭 동작을 수행하도록 할 수 있다. 구체적으로, 테스트 자동화 장치(120)는 옵션값 정보와 일치하는 스텝 객체를 선택할 수 있다. 테스트 자동화 장치(120)는 선택된 스텝 객체의 특정한 위치에 클릭 동작을 수행하도록 할 수 있다. 예를 들어, 테스트 자동화 장치(120)는 스텝 객체의 중앙을 클릭하도록 할 수 있다.
도 12의 (b)를 참조하면, 옵션키 정보가 좌표 클릭을 나타내는 경우, 테스트 자동화 장치(120)는 좌표입력탭(1224)을 표시할 수 있다. 좌표입력탭(1224)은 사용자의 텍스트 입력 및 화면 이미지(1210)에 대한 사용자의 입력 중 적어도 하나에 기초하여 클릭좌표 정보를 획득하기 위한 입력구성요소(1220)일 수 있다. 좌표입력탭(1224)은 X-Y좌표를 입력할 수 있는 입력창을 포함할 수 있다. 테스트 자동화 장치(120)는 사용자가 직접 입력한 X-Y좌표를 클릭좌표 정보로 획득할 수 있다.
또한 테스트 자동화 장치(120)는 옵션키 정보가 좌표 클릭을 나타내는 경우, 인스펙터창(1111)의 중심에 클릭원형객체(1214)를 표시할 수 있다. 클릭원형객체(1214)는 옵션값 정보로 획득되는 클릭좌표 정보의 위치를 시각적으로 나타내기 위한 것일 수 있다. 클릭원형객체(1214)는 클릭좌표 정보를 강조하여 표시할 수 있다. 예를 들어, 클릭원형객체(1214)는 클릭좌표 정보에 대응되는 위치를 제 2 색상의 원형으로 표시할 수 있다. 제 2 색상을 예를 들어 주황색일 수 있다. 사용자는 클릭원형객체(1214)를 통해 옵션값 정보로 획득하고자 하는 클릭좌표 정보가 제대로 선택되었는지 확인할 수 있다. 클릭원형객체(1214)는 클릭원형객체(1214)에 대한 사용자의 드래그 앤 드롭 입력(1213)에 의해 이동될 수 있다. 테스트 자동화 장치(120)는 클릭원형객체(1214)의 위치에 기초하여 클릭좌표 정보를 획득할 수 있다. 클릭원형객체(1214)의 이동에 따라 테스트 자동화 장치(120)는 좌표입력탭(1224)에 표시된 X-Y좌표를 클릭좌표 정보에 대응되도록 실시간으로 변경할 수 있다. 테스트 자동화 장치(120)는 클릭좌표 정보를 옵션값 정보로 획득할 수 있다. 추후 도 5의 테스트 수행 단계(527)에서 테스트 자동화 시스템(100)은 객체 정보와 커맨드 정보, 옵션키 정보 및 옵션값 정보에 기초하여 화면 내의 특정 좌표를 '클릭'하는 동작을 수행할 수 있다. 구체적으로 테스트 자동화 시스템(100)은 클릭좌표 정보에 대응되는 특정 좌표를 '클릭'하는 동작을 수행할 수 있다. 이를 위해 테스트 자동화 장치(120)는 테스트 디바이스(130)의 디바이스 정보에 기초하여 클릭좌표 정보의 좌표를 변환시킬 수 있다. 예를 들어, 테스트스텝 정보를 생성할 때 이용한 테스트 디바이스(130)와 테스트에 이용할 테스트 디바이스(130)는 화면 해상도가 다른 장치일 수 있다. 테스트 자동화 장치(120)는 테스트에 이용할 테스트 디바이스(130)의 화면 해상도에 대응되도록 클릭좌표 정보의 좌표를 스케일링할 수 있다. 예를 들어, 테스트스텝 정보를 생성할 때 이용한 화면 해상도는 A*B이고, 클릭좌표 정보는 (a,b)일 수 있다. 테스트에 이용하는 화면 해상도가 C * D인 경우, 테스트 자동화 장치(120)는 화면 해상도를 고려하여 클릭좌표 정보를 (a*C/A,b*D/B)로 스케일링할 수 있다. 테스트 자동화 장치(120)는 테스트 디바이스(130)가 스케일링된 클릭좌표 정보인 (a*C/A,b*D/B)를 '클릭'하는 동작을 수행하도록 할 수 있다. 따라서 테스트 자동화 시스템(100)은 과거와 다른 테스트 디바이스(130)를 이용하더라도 동일한 위치를 '클릭'하는 동작을 수행할 수 있다.
도 12의 (c)를 참조하면, 옵션키 정보가 이미지 비교 클릭을 나타내는 경우, 테스트 자동화 장치(120)는 이미지입력탭(1225)을 표시할 수 있다. 이미지입력탭(1225)은 사용자의 텍스트 입력 및 화면 이미지(1210)에 대한 사용자의 입력 중 적어도 하나에 기초하여 클릭이미지 정보를 획득하기 위한 입력구성요소(1220)일 수 있다. 이미지입력탭(1225)은 클릭이미지영역 정보를 획득할 수 있는 입력창을 포함할 수 있다. 예를 들어, 이미지입력탭(1225)은 화면 이미지(1210) 대한 사각형 이미지영역의 적어도 두 꼭짓점의 좌표 및 가로/세로 길이 중 적어도 하나를 입력할 수 있는 입력창을 포함할 수 있다. 이미지입력탭(1225)은 사각형 이미지영역의 왼쪽 위 꼭짓점의 X-Y 좌표를 입력할 수 있는 입력창을 포함할 수 있다. 이미지입력탭(1225)은 사각형 이미지영역의 오른쪽 아래 꼭짓점의 X-Y 좌표를 입력할 수 있는 입력창을 포함할 수 있다. 테스트 자동화 장치(120)는 사각형 이미지영역의 가로/세로 길이 및 하나의 꼭짓점 X-Y 좌표를 입력받아 클릭이미지영역 정보를 획득할 수 있다. 또는 테스트 자동화 장치(120)는 사각형 이미지영역의 왼쪽 위 꼭짓점의 X-Y 좌표 및 오른쪽 아래 꼭짓점의 X-Y 좌표를 입력받아 클릭이미지영역 정보를 획득할 수 있다. 테스트 자동화 장치(120)는 이미지입력탭(1225)에 대한 사용자의 텍스트 입력을 통해 클릭이미지영역 정보를 획득할 수 있다.
또한 테스트 자동화 장치(120)는 옵션키 정보가 이미지 비교 클릭을 나타내는 경우, 인스펙터창(1111)의 중심에 클릭사각형객체(1216)를 표시할 수 있다. 클릭사각형객체(1216)는 클릭이미지영역 정보의 위치를 시각적으로 나타내기 위한 것일 수 있다. 클릭사각형객체(1216)는 클릭이미지영역 정보를 강조하여 표시할 수 있다. 예를 들어, 클릭사각형객체(1216)는 클릭이미지영역 정보에 대응되는 영역를 제 3 색상의 사각형으로 표시할 수 있다. 제 3 색상은 예를 들어 주황색일 수 있다. 사용자는 클릭사각형객체(1216)를 통해 클릭이미지영역 정보가 제대로 선택되었는지 확인할 수 있다. 클릭사각형객체(1216)는 클릭사각형객체(1216)에 대한 사용자의 드래그 앤 드롭 입력(1215)에 의해 이동될 수 있다. 테스트 자동화 장치(120)는 클릭사각형객체(1216)의 위치에 기초하여 클릭이미지영역 정보를 획득할 수 있다. 클릭사각형객체(1216)의 이동에 따라 테스트 자동화 장치(120)는 이미지입력탭(1225)에 클릭사각형객체(1216)에 대응되는 클릭이미지영역 정보의 적어도 두 꼭짓점의 좌표 및 가로/세로 길이 중 적어도 하나를 실시간으로 표시할 수 있다. 테스트 자동화 장치(120)는 클릭이미지영역 정보에 기초하여 클릭이미지 정보를 옵션값 정보로 획득할 수 있다. 테스트 자동화 장치(120)는 추후 도 5의 테스트 수행 단계(527)에서 테스트 자동화 시스템(100)은 객체 정보와 커맨드 정보, 옵션키 정보 및 옵션값 정보에 기초하여 화면 내의 특정 이미지를 '클릭'하는 동작을 수행할 수 있다. 구체적으로 테스트 자동화 시스템(100)은 클릭이미지 정보에 대응되는 특정 이미지를 '클릭'하는 동작을 수행할 수 있다. 이를 위해 테스트 자동화 장치(120)는 테스트 디바이스(130)의 디바이스 정보에 기초하여 클릭이미지 정보의 크기를 변환시킬 수 있다. 예를 들어, 테스트스텝 정보를 생성할 때 이용한 테스트 디바이스(130)와 테스트에 이용할 테스트 디바이스(130)는 화면 해상도가 다른 장치일 수 있다. 테스트 자동화 장치(120)는 테스트에 이용할 테스트 디바이스(130)의 화면 해상도에 대응되도록 클릭이미지 정보의 크기를 스케일링할 수 있다. 예를 들어, 테스트 자동화 장치(120)는 테스트스텝 정보를 생성할 때 이용한 화면해상도 대비 테스트에 이용하는 화면해상도의 배율을 클릭이미지 정보의 크기에 곱할 수 있다. 테스트 자동화 장치(120)는 스케일링된 클릭이미지 정보를 현재 화면 이미지와 비교하여 유사도가 가장 높은 이미지영역을 선택할 수 있다. 테스트 자동화 장치(120)는 선택된 이미지영역 중 특정한 위치에 클릭 동작을 수행하도록 할 수 있다. 따라서 테스트 자동화 시스템(100)은 과거와 다른 테스트 디바이스(130)를 이용하더라도 동일한 이미지를 탐색하여 클릭 동작을 수행할 수 있다.
이 외에도, 테스트 자동화 장치(120)는 커맨드선택탭(1221)을 통해 다양한 커맨드를 나타내는 커맨드 정보를 획득할 수 있다. 커맨드선택탭(1221)에 입력되는 커맨드 정보가 달라짐에 따라 테스트 자동화 장치(120)는 도 12에서 설명한 미리 정해진 입력구성요소와 다른 미리 정해진 입력구성요소가 아래와 같이 표시될 수 있다.
테스트 자동화 장치(120)는 커맨드선택탭(1221)을 통해 '이미지 비교(Compare Image)'를 나타내는 커맨드 정보를 획득할 수 있다. 커맨드 정보가 이미지 비교를 나타내는 경우, 테스트 자동화 장치(120)는 비교이미지영역 정보를 테스트스텝 옵션 정보로 획득할 수 있다. 테스트 자동화 장치(120)는 비교이미지영역 정보를 획득하기 위한 입력구성요소(1220)인 비교이미지입력탭을 표시할 수 있다. 비교이미지입력탭은 이미지입력탭(1225)과 동일한 구성을 포함할 수 있다.
테스트 자동화 장치(120)는 커맨드선택탭(1221)을 통해 '텍스트 확인(Confirm Text)'를 나타내는 커맨드 정보를 획득할 수 있다. 커맨드 정보가 텍스트 확인을 나타내는 경우, 테스트 자동화 장치(120)는 텍스트를 비교하기 위해 선택한 객체의 속성 정보를 획득하기 위한 입력구성요소(1220)인 Select Element탭을 표시할 수 있다. 테스트 자동화 장치(120)는 비교 대상 텍스트를 선택하기 위한 입력구성요소(1220)인 비교대상선택탭을 표시할 수 있다. 비교대상선택탭에 대한 입력에 기초하여 테스트 자동화 장치(120)는 기존에 저장된 테스트스텝 정보에 저장된 텍스트와 비교하기 위하여 테스트스텝 정보를 선택하는 비교대상테스트스텝선택탭 또는 사용자가 비교할 텍스트를 직접 입력하는 비교대상텍스트입력탭을 표시할 수 있다. 비교대상테스트스텝선택탭에 입력되는 테스트스텝 정보는 제 3 스텝영역(1130)의 테스트스텝 리스트에 포함된 스텝 오브젝트(1131)에 대한 입력에 기초하여 획득될 수 있다. 테스트 자동화 장치(120)는 비교 범위를 선택하기 위한 입력구성요소(1220)인 비교범위선택탭을 표시할 수 있다.
테스트 자동화 장치(120)는 커맨드선택탭(1221)을 통해 '디바이스 키(Device Key)'를 나타내는 커맨드 정보를 획득할 수 있다. 테스트 자동화 장치(120)는 키 이벤트 정보를 테스트 옵션 정보로 획득할 수 있다. 테스트 자동화 장치(120)는 키 이벤트 정보를 획득하기 위한 입력구성요소(1220)인 키이벤트입력탭을 표시할 수 있다. 테스트 자동화 장치(120)는 키이벤트입력탭을 통해 테스트 디바이스의 뒤로가기 동작 수행하는 Back Key, 테스트 디바이스 키보드의 이동 버튼과 동일한 동작 수행하는 Enter Key, 테스트 디바이스 홈 화면으로 이동하는 Home Key 및 표시되는 테스트 디바이스 키보드를 닫는 동작을 수행하는 Hide Keyboard 중 하나를 키 이벤트 정보로 획득할 수 있다.
테스트 자동화 장치(120)는 커맨드선택탭(1221)을 통해 '객체 찾기(Find Element)'를 나타내는 커맨드 정보를 획득할 수 있다. 테스트 자동화 장치(120)는 객체 정보를 테스트 옵션 정보로 획득할 수 있다. 테스트 자동화 장치(120)는 현재 화면 이미지에서 탐색할 객체 정보를 획득하기 위한 입력구성요소(1220)인 객체정보입력탭을 표시할 수 있다.
테스트 자동화 장치(120)는 커맨드선택탭(1221)을 통해 'IF'를 나타내는 커맨드 정보를 획득할 수 있다. 테스트 자동화 장치(120)는 Action이 실행되기 위한 Condition을 설정하기 위한 입력구성요소(1220)인 Condition입력탭을 표시할 수 있다. 테스트 자동화 장치(120)는 Condition 결과에 따라 실행될 동작 설정하기 위한 입력구성요소(1220)인 Action입력탭을 표시할 수 있다. 테스트 자동화 장치(120)는 Condition의 조건 결과에 따라 실행되는 동작을 획득할 수 있다. 테스트 자동화 장치(120)는 Condition 조건 결과가 참인 경우 Pass에 설정된 Action을 실행할 수 있다. 거짓일 경우 Fail에 설정된 Action이 실행할 수 있다.
테스트 자동화 장치(120)는 커맨드선택탭(1221)을 통해 '테스트케이스 불러오기(Import Test Case)'를 나타내는 커맨드 정보를 획득할 수 있다. 테스트 자동화 장치(120)는 추가 가능한 테스트케이스 정보 목록을 나타내는 입력구성요소(1220)인 케이스선택탭을 표시할 수 있다.
테스트 자동화 장치(120)는 커맨드선택탭(1221)을 통해 '텍스트 입력(Input Text)'를 나타내는 커맨드 정보를 획득할 수 있다. 테스트 자동화 장치(120)가 표시하는 입력구성요소(1220)는 텍스트 확인을 나타내는 커맨드 정보에 의해 표시되는 입력구성요소(1220)인 Select Element탭 및 비교대상선택탭과 동일한 구성을 포함하는 입력구성요소(1220)인 Select Element탭 및 입력대상선택탭을 표시할 수 있다.
테스트 자동화 장치(120)는 커맨드선택탭(1221)을 통해 '앱 실행(Launch App)'를 나타내는 커맨드 정보를 획득할 수 있다. 테스트 자동화 장치(120)는 앱 패키지를 검색하고 입력할 수 있는 입력구성요소(1220)인 패키지검색탭을 표시할 수 있다.
테스트 자동화 장치(120)는 커맨드선택탭(1221)을 통해 '루프(Loop)'를 나타내는 커맨드 정보를 획득할 수 있다. 테스트 자동화 장치(120)는 Action이 실행되기 위한 조건을 설정하기 위한 입력구성요소(1220)인 Condition탭을 표시할 수 있다. Condition탭은 조건에 사용될 명령어을 입력하기 위한 조건커맨드탭, 조건에 사용된 객체 속성 값을 입력하기 위한 조건객체선택탭, 반복 횟수를 선택하기 위한 반복입력탭 중 적어도 하나를 포함할 수 있다. 테스트 자동화 장치(120)는 Condition 결과에 따라 실행될 동작을 설정하기 위한 입력구성요소(1220)인 Action탭을 표시할 수 있다. Action탭은 조건 결과가 참일 경우 실행될 명령어를 입력하기 위한 결과커맨드탭, 실행에 사용될 객체 속성 값을 입력하기 위한 결과객체선택탭, Action 실행 전 대기 시간을 입력하기 위한 대기시간 중 적어도 하나를 포함할 수 있다.
테스트 자동화 장치(120)는 커맨드선택탭(1221)을 통해 '앱 초기화(Reset App)'를 나타내는 커맨드 정보를 획득할 수 있다. 테스트 자동화 장치(120)는 앱 패키지를 검색하고 입력할 수 있는 입력구성요소(1220)인 패키지검색탭을 표시할 수 있다.
테스트 자동화 장치(120)는 커맨드선택탭(1221)을 통해 '텍스트 저장(Save Text)'을 나타내는 커맨드 정보를 획득할 수 있다. 테스트 자동화 장치(120)는 텍스트를 저장하기 위해 객체의 속성 정보를 획득하기 위한 입력구성요소(1220)인 객체선택탭을 표시할 수 있다.
테스트 자동화 장치(120)는 커맨드선택탭(1221)을 통해 '스크롤 및 스윕(Scroll/Swipe)'을 나타내는 커맨드 정보를 획득할 수 있다. 테스트 자동화 장치(120)는 width 및 height 정보를 입력하기 위한 입력구성요소(1220)인 화면좌표정보입력탭을 표시할 수 있다. 테스트 자동화 장치(120)는 인스펙터창(1111)에 화살표객체를 표시할 수 있다. 테스트 자동화 장치(120)는 화살표객체의 위치에 대응되는 width 및 height 정보를 획득할 수 있다. 테스트 자동화 장치(120)는 화면좌표정보입력탭에 width 및 height 정보를 실시간으로 표시할 수 있다.
이 외에도, 테스트 자동화 장치(120)는 커맨드 정보에 따라 달라지지 않는 입력구성요소(1220)를 표시할 수 있다. 테스트 자동화 장치(120)는 상세설명입력탭, 스텝필수실행여부체크탭 및 스텝대기시간입력탭 중 적어도 하나를 표시할 수 있다. 상세설명입력창에 대한 사용자의 텍스트입력에 기초하여 테스트 자동화 장치(120)는 테스트스텝 정보에 포함되는 테스트스텝 상세설명을 획득할 수 있다. 스텝필수실행여부체크탭에 대한 사용자의 클릭입력에 기초하여 테스트 자동화 장치(120)는 해당 테스트스텝 정보의 필수 실행 여부를 획득할 수 있다. 스텝대기시간입력탭에 대한 사용자의 클릭입력에 기초하여 테스트 자동화 장치(120)는 해당 테스트스텝 정보을 실행하기 전 대기 시간 정보를 획득할 수 있다.
다시 도 11을 참조하면, 제 2 스텝영역(1120)은 스텝생성완료 오브젝트(1121)를 포함할 수 있다. 스텝생성완료 오브젝트(1121)는 테스트스텝 정보의 생성을 완료하고 저장하기 위한 오브젝트 객체일 수 있다. 스텝생성완료 오브젝트(1121)에 대한 사용자의 클릭 입력 후, 테스트 자동화 장치(120)는 도 12에서 획득한 테스트스텝 정보를 저장하고 테스트케이스 정보에 포함된 스텝 목록에 테스트스텝 정보를 추가할 수 있다. 또한 스텝생성완료 오브젝트(1121)에 대한 사용자의 클릭 입력 후, 테스트 자동화 장치(120)는 제 3 스텝영역(1130)에 포함된 테스트스텝 리스트에 생성한 테스트스텝 정보에 대응되는 스텝 오브젝트(1131)를 새롭게 생성할 수 있다.
다시 도 5를 참조하면, 테스트 자동화 장치(120)는 테스트케이스 정보에 포함된 적어도 하나의 테스트스텝 정보의 스텝 순서 정보를 테스트케이스 정보에 포함시키는 단계(524)를 수행할 수 있다. 전술한 바와 같이, 테스트케이스 정보는 스텝 목록을 포함하고, 스텝 목록은 스텝 순서 정보를 포함할 수 있다. 테스트 자동화 장치(120)는 사용자 인터페이스에 대한 사용자의 입력을 통해 스텝 순서 정보를 획득할 수 있다.
단계(524)에서 테스트 자동화 장치(120)는 도 11과 같이 사용자 인터페이스를 제공할 수 있다.
도 11을 참조하면, 테스트 자동화 장치(120)는 제 3 스텝영역에 테스트스텝 리스트를 표시할 수 있다. 테스트스텝 리스트는 현재 테스트케이스 정보에 포함된 테스트스텝 정보를 시각화한 목록일 수 있다. 테스트스텝 리스트는 현재 테스트케이스 정보에 포함된 테스트스텝 정보에 대응되는 스텝 오브젝트(1131)를 포함할 수 있다. 테스트스텝 리스트는 테스트스텝 리스트에 포함된 스텝 오브젝트(1131)의 개수를 표시할 수 있다. 테스트스텝 리스트에 포함된 적어도 하나의 스텝 오브젝트(1131)는 사용자의 드래그 앤 드롭 입력(1132)에 기초하여 순서가 변경될 수 있다. 테스트스텝 리스트에서의 스텝 오브젝트(1131)의 순서에 따라, 테스트 자동화 장치(120)는 테스트케이스 정보의 스텝 목록에 포함된 스텝 순서 정보를 결정할 수 있다. 예를 들어, 테스트 자동화 장치(120)는 테스트스텝 리스트에서 가장 위에 있는 스텝 오브젝트(1131)에 대응되는 테스트스텝 정보가 먼저 실행되도록 스텝 순서 정보를 결정할 수 있다.
제 3 인터페이스(1100)는 스텝생성종료 오브젝트(1150)를 포함할 수 있다. 스텝생성종료 오브젝트(1150)는 테스트스텝 정보의 생성을 마치기 위한 오브젝트 객체일 수 있다. 스텝생성종료 오브젝트(1150)에 대한 사용자의 입력에 기초하여 테스트 자동화 장치(120)는 자동 스텝 식별정보를 획득할 수 있다. 자동 스텝 식별정보는 테스트스텝 정보의 생성에 따라 테스트 자동화 장치(120)가 자동으로 획득하는 스텝 식별정보일 수 있다. 예를 들어, 테스트 자동화 장치(120)는 자동 스텝 식별정보에 포함된 테스트스텝 고유번호(idx), 생성일시(created_at), 수정일시(modified_at), 연결된 테스트 디바이스에 대한 앱의 버전 정보(app_version), 연결된 테스트 디바이스에 대한 앱의 패키지명(package_name), 최초 생성 사용자 정보(creator), 사용자 uuid(owner_uuid), 고유식별값(unique_key) 및 테스트스텝 정보가 생성된 테스트케이스 정보의 고유번호(test_case_idx) 중 적어도 하나를 획득할 수 있다.
스텝생성종료 오브젝트(1150)에 대한 사용자의 입력 후, 테스트 자동화 장치(120)는 획득한 테스트스텝 정보를 서버(110)에 저장할 수 있다.
다시 도 6을 참조하면, 테스트 자동화 장치(120)는 제 3 인터페이스(1100)에 포함된 스텝생성종료 오브젝트(1150)에 대한 사용자의 입력에 기초하여 제 2 인터페이스(800)를 표시하는 단계(608)를 수행할 수 있다. 이때, 제 2 인터페이스(800)는 제 1-3 세부 인터페이스(930)를 포함할 수 있다.
다시 도 5를 참조하면, 테스트 자동화 장치(120)는 테스트케이스 정보를 포함하는 테스트시나리오 정보를 획득하는 단계(525)를 수행할 수 있다. 테스트시나리오 정보는 테스트케이스 정보보다 넓은 범위의 테스트를 수행하기 위해 데이터 개체 단위일 수 있다. 구체적으로, 테스트시나리오 정보는 복수의 테스트케이스 정보를 순서대로 또는 동시에 수행하기 위한 데이터일 수 있다. 테스트시나리오 정보는 사용자 서비스 사용의 흐름에 따라 테스트를 실행하고 시뮬레이션하기 위한 것일 수 있다. 예를 들어, '상품 구매 시나리오'에 대한 테스트시나리오 정보는 '앱 실행 단계 → 로그인 화면 이동 단계 → 로그인 실행 단계 → 홈 화면 이동 단계 → 상품 검색 단계 → 상품 선택 단계 → 상품 구매 단계 → 결제 단계 → 결제 확인 단계'의 순서와 단계에 따라 이루어질 수 있다. 이때, 테스트시나리오 정보의 각 단계는 개별적인 테스트케이스 정보일 수 있다. 사용자는 테스트시나리오 정보를 이용한 테스트를 통해 통합 테스트, 회귀 테스트 및 서비스 모니터링 등 복잡한 테스트 작업을 손쉽게 시뮬레이션 할 수 있다.
테스트시나리오 정보는 시나리오 식별정보를 포함할 수 있다. 시나리오 식별정보는 테스트 자동화 장치(120)가 특정한 테스트시나리오 정보를 식별하기 위하여 획득하는 테스트시나리오 정보 고유의 정보일 수 있다. 시나리오 식별정보는 수동 시나리오 식별정보 및 자동 시나리오 식별정보 중 적어도 하나를 포함할 수 있다.
테스트 자동화 장치(120)는 수동 시나리오 식별정보를 획득할 수 있다. 수동 시나리오 식별정보는 사용자의 입력에 기초하여 획득되는 시나리오 식별정보일 수 있다. 예를 들어, 테스트 자동화 장치(120)는 시나리오 식별정보에 포함된 테스트시나리오 제목(title) 및 상세설명(description) 중 적어도 하나를 획득할 수 있다.
테스트 자동화 장치(120)는 수동 시나리오 식별정보를 획득할 수 있다. 수동 시나리오 식별정보는 테스트시나리오 정보의 생성에 따라 테스트 자동화 장치(120)가 자동으로 획득하는 시나리오 식별정보일 수 있다. 예를 들어, 테스트 자동화 장치(120)는 시나리오 식별정보에 포함된 테스트시나리오 고유번호(idx), 생성일시(created_at), 수정일시(modified_at), 최초 생성 사용자(creator), 사용자 uuid(owner_uuid), 테스트시나리오 정보가 속한 테스트프로젝트의 고유 번호(project_idx), 고유식별값(unique_key) 및 생성된 서버의 URL 주소(server_url) 중 적어도 하나를 획득할 수 있다. 테스트 자동화 장치(120)는 테스트시나리오 정보의 생성 직전, 동시 또는 직후의 시점을 기준으로 자동 시나리오 식별정보를 획득할 수 있다.
테스트시나리오 정보는 케이스 목록을 포함할 수 있다. 케이스 목록은 테스트시나리오 정보가 포함하는 테스트케이스 정보의 테스트케이스 고유번호를 목록 형태로 구성한 데이터일 수 있다. 케이스 목록은 테스트케이스 정보가 실행되는 순서를 의미하는 케이스 순서 정보를 포함할 수 있다. 테스트 실행 시, 테스트 자동화 장치(120)는 테스트케이스 고유번호에 대응되는 테스트케이스 정보를 케이스 순서 정보에 기초하여 순서대로 실행할 수 있다.
테스트시나리오 정보를 획득하는 단계(525)에서, 테스트 자동화 장치(120)는 테스트프로젝트 정보에 포함된 적어도 하나의 테스트케이스 정보에 포함된 케이스 식별정보를 테스트시나리오 정보에 포함시킬 수 있다. 보다 구체적으로, 테스트 자동화 장치(120)는 테스트케이스 정보의 테스트케이스 고유번호를 테스트시나리오 정보의 케이스 목록에 포함시킬 수 있다.
테스트 자동화 장치(120)는 적어도 하나의 테스트케이스 정보의 케이스 순서 정보를 테스트시나리오 정보에 포함시킬 수 있다. 테스트시나리오 정보의 케이스 목록은 케이스 순서 정보를 포함할 수 있다. 테스트 자동화 장치(120)는 사용자 인터페이스에 대한 사용자의 입력을 통해 케이스 순서 정보를 획득할 수 있다.
단계(525)에서 테스트 자동화 장치(120)는 도 13과 같이 사용자 인터페이스를 제공할 수 있다.
도 13은 본 개시의 일 실시예에 따른 테스트시나리오 정보와 관련된 세부 인터페이스를 나타내는 도면이다.
도 6 및 도 13을 참조하면, 테스트 자동화 장치(120)는 제 1 프로젝트영역(810)에 포함된 테스트시나리오 탭(833)에 대한 입력에 기초하여 제 2 프로젝트영역(820)에 제 3-1 세부 인터페이스(1310)를 표시하는 단계(609)를 수행할 수 있다. 제 3-1 세부 인터페이스(1310)는 테스트시나리오 정보를 관리하기 위한 사용자 인터페이스일 수 있다. 도 13의 (a)를 참조하면, 제 3-1 세부 인터페이스(1310)는 테스트시나리오 리스트를 포함할 수 있다. 테스트시나리오 리스트는 테스트시나리오 정보를 시각화하여 나열한 목록일 수 있다. 테스트시나리오 리스트는 테스트시나리오 정보에 대응되는 시나리오 오브젝트(1311)를 포함할 수 있다. 시나리오 오브젝트(1311)는 시나리오 정보와 일대일 대응되며 대응되는 테스트시나리오 정보를 시각적으로 나타낼 수 있다. 시나리오 오브젝트(1311)는 테스트시나리오 정보에 포함된 테스트시나리오 고유번호, 제목, 수정일시 및 케이스 목록에 포함된 테스트케이스 정보의 개수 중 적어도 하나를 시각적으로 나타낼 수 있다.
시나리오 오브젝트(1311)는 시나리오 테스트 버튼(1311a)을 포함할 수 있다. 시나리오 테스트 버튼(1311a)은 테스트시나리오 정보에 대한 테스트를 개별적으로 실행할 것을 나타내는 입력을 받기 위한 오브젝트 객체일 수 있다. 시나리오 테스트 버튼(1311a)에 대한 사용자의 입력(1313)에 기초하여 테스트 자동화 시스템(100)은 해당 시나리오 테스트 버튼(1311a)을 포함하는 시나리오 오브젝트(1311)에 대응되는 테스트시나리오 정보의 테스트를 개별적으로 실행할 수 있다. 보다 구체적으로, 테스트 자동화 시스템(100)은 시나리오 테스트 버튼(1311a)이 포함된 시나리오 오브젝트(1311)에 대응되는 테스트시나리오 정보를 획득하고, 해당 테스트시나리오 정보에 대응되는 동작을 실행할 수 있다. 테스트시나리오 정보에 대응되는 동작은 테스트시나리오 정보에 포함된 적어도 하나의 테스트케이스 정보를 케이스 순서 정보에 기초하여 순서대로 실행하는 것일 수 있다.
시나리오 오브젝트(1311)는 시나리오 상세 버튼(1311b)을 포함할 수 있다. 시나리오 상세 버튼(1311b)은 테스트시나리오 정보를 상세하게 시각적으로 나타내기 위하여 제 3-3 세부 인터페이스(1330)를 표시할 것을 나타내는 입력을 받기 위한 오브젝트 객체일 수 있다. 테스트 자동화 장치(120)는 시나리오 상세 버튼(1311b)에 대한 사용자의 입력에 기초하여 제 3-3 세부 인터페이스(1330)를 표시할 수 있다. 이에 한정하지 않고, 테스트 자동화 장치(120)는 시나리오 오브젝트(1311) 중 시나리오 테스트 버튼(1311a)에 대응되는 영역을 제외한 시나리오 오브젝트(1311)의 미리 정해진 영역에 대한 사용자의 입력에 기초하여 제 3-3 세부 인터페이스(1330)를 표시할 수 있다. 제 3-3 세부 인터페이스(1330)는 추후 자세히 설명된다.
제 3-1 세부 인터페이스(1310)는 시나리오생성 오브젝트(1312)를 포함할 수 있다. 시나리오생성 오브젝트(1312)는 테스트시나리오 정보를 생성하기 위한 사용자 인터페이스를 디스플레이에 표시하기 위한 오브젝트 객체이다.
테스트 자동화 장치(120)는 제 3-1 세부 인터페이스(1310)에 포함된 시나리오생성 오브젝트(1312)에 대한 사용자의 입력에 기초하여 제 2 프로젝트영역(820)에 제 3-2 세부 인터페이스(1320)를 표시하는 단계(610)를 수행할 수 있다. 제 3-2 세부 인터페이스(1320)는 테스트시나리오 정보를 생성하기 위한 사용자 인터페이스일 수 있다. 도 13의 (b)를 참조하면, 제 3-2 세부 인터페이스(1320)는 제 1 시나리오영역(1321), 제 2 시나리오영역(1322) 및 제 3 시나리오영역(1323) 중 적어도 하나를 포함할 수 있다. 제 1 시나리오영역(1321)은 제 2 프로젝트영역(820)의 상단에 위치한 영역일 수 있다. 제 2 시나리오영역(1322) 및 제 3 시나리오영역(1323)은 각각 제 2 프로젝트영역(820)의 좌측 하단 및 우측 하단에 위치한 영역일 수 있다.
테스트 자동화 장치(120)는 제 1 시나리오영역(1321)에 시나리오 정보 입력창을 표시할 수 있다. 시나리오 정보 입력창은 테스트 자동화 장치(120)가 사용자로부터 테스트시나리오 정보를 입력 받기 위한 인터페이스일 수 있다. 테스트 자동화 장치(120)는 시나리오 정보 입력창에 대한 사용자의 입력에 기초하여 수동 시나리오 식별정보를 획득할 수 있다. 예를 들어, 테스트 자동화 장치(120)는 시나리오 정보 입력창에 대한 사용자의 텍스트 입력을 통해 테스트시나리오 제목 및 상세설명 중 적어도 하나를 획득할 수 있다.
테스트 자동화 장치(120)는 제 2 시나리오영역(1322)에 전체 테스트케이스 리스트를 표시할 수 있다. 전체 테스트케이스 리스트는 테스트프로젝트 정보에 포함된 테스트케이스 정보를 시각화한 목록일 수 있다. 또한 전체 테스트케이스 리스트는 팀 구성원에 포함된 복수의 사용자가 생성한 테스트케이스 정보를 시각화한 목록일 수 있다. 전체 테스트케이스 리스트는 현재 테스트프로젝트 정보에 포함된 테스트케이스 정보에 대응되는 케이스 오브젝트(1324)를 포함할 수 있다. 케이스 오브젝트(1324)는 제 1-1 세부 인터페이스(910)에 포함된 케이스 오브젝트(911)보다 간략하게 표시될 수 있다. 예를 들어, 케이스 오브젝트(1324)는 테스트케이스 제목만을 시각적으로 표시할 수 있다.
테스트 자동화 장치(120)는 제 3 시나리오영역(1323)에 시나리오 테스트케이스 리스트를 표시할 수 있다. 시나리오 테스트케이스 리스트는 테스트시나리오 정보에 포함시킬 테스트케이스 정보를 시각화한 목록일 수 있다. 즉, 시나리오 테스트케이스 리스트는 테스트시나리오 정보의 케이스 목록을 시각화한 것일 수 있다. 테스트케이스 리스트는 현재 테스트시나리오 정보에 포함된 테스트케이스 정보에 대응되는 케이스 오브젝트(1325)를 포함할 수 있다.
전체 테스트케이스 리스트에 포함된 케이스 오브젝트(1324)는 사용자의 드래그 앤 드롭 입력(1327)에 기초하여 전체 테스트케이스 리스트로부터 시나리오 테스트케이스 리스트로 이동할 수 있다. 구체적으로, 테스트 자동화 장치(120)는 전체 테스트케이스 리스트에 포함된 케이스 오브젝트(1324)를 시나리오 테스트케이스 리스트로 이동시킴에 따라 테스트 자동화 장치(120)는 시나리오 테스트케이스 리스트에 케이스 오브젝트(1325)를 추가할 수 있다. 이때, 케이스 오브젝트(1325)에 대응되는 테스트케이스 정보는 케이스 오브젝트(1324)에 대응되는 테스트케이스 정보와 동일할 수 있다. 테스트 자동화 장치(120)는 케이스 오브젝트(1324)에 대응되는 테스트케이스 정보를 테스트시나리오 정보의 케이스 목록에 추가할 수 있다.
또한, 시나리오 테스트케이스 리스트에 포함된 케이스 오브젝트(1325)는 사용자의 드래그 앤 드롭 입력에 기초하여 시나리오 테스트케이스 리스트로부터 전체 테스트케이스 리스트로 이동할 수 있다. 테스트 자동화 장치(120)는 시나리오 테스트케이스 리스트에 포함된 케이스 오브젝트(1325)를 전체 테스트케이스 리스트로 이동시킴에 따라 테스트 자동화 장치(120)는 시나리오 테스트케이스 리스트에 케이스 오브젝트(1325)를 삭제할 수 있다. 테스트 자동화 장치(120)는 케이스 오브젝트(1325)에 대응되는 테스트케이스 정보를 테스트시나리오 정보의 케이스 목록에서 제외시킬 수 있다.
뿐만 아니라, 시나리오 테스트케이스 리스트에 포함된 케이스 오브젝트(1325)는 사용자의 드래그 앤 드롭 입력에 기초하여 순서가 변경될 수 있다. 시나리오 테스트케이스 리스트에 포함된 케이스 오브젝트(1325)의 순서 및 배열은 테스트시나리오 정보에 포함된 케이스 목록의 케이스 순서 정보를 나타낼 수 있다. 케이스 순서 정보는 테스트시나리오 정보에 대한 테스트를 수행할 때 테스트케이스 정보의 실행 순서를 나타낼 수 있다. 예를 들어, 시나리오 테스트케이스 리스트에 복수의 케이스 오브젝트(1325)가 수직으로 배열될 수 있다. 테스트 자동화 장치(120)는 테스트시나리오 정보에 대한 테스트를 수행할 때 케이스 오브젝트(1325)에 대응되는 테스트케이스 정보를 위에서부터 아래로 순서대로 실행할 수 있다.
제 3-2 세부 인터페이스(1320)는 시나리오생성완료 오브젝트(1326)를 포함할 수 있다. 시나리오생성완료 오브젝트(1326)는 테스트시나리오 정보의 생성을 완료하고 저장하기 위한 오브젝트 객체일 수 있다. 테스트 자동화 장치(120)는 시나리오생성완료 오브젝트(1326)에 대한 사용자의 입력에 기초하여 자동 시나리오 식별정보를 획득할 수 있다. 예를 들어, 테스트 자동화 장치(120)는 시나리오생성완료 오브젝트(1326)에 대한 사용자의 클릭 입력 직전, 동시 또는 직후의 시점을 기준으로 테스트시나리오 고유번호(idx), 생성일시(created_at), 수정일시(modified_at), 최초 생성 사용자(creator), 사용자 uuid(owner_uuid), 테스트시나리오 정보가 속한 테스트프로젝트의 고유 번호(project_idx), 고유식별값(unique_key) 및 생성된 서버의 URL 주소(server_url) 중 적어도 하나를 획득할 수 있다.
테스트 자동화 장치(120)는 시나리오생성완료 오브젝트(1326)에 대한 사용자의 입력을 받은 테스트시나리오 정보를 제 3-1 세부 인터페이스(1310)의 테스트시나리오 리스트에 시나리오 오브젝트(1311)로 표시할 수 있다.
도 13의 (c)를 참조하면, 테스트 자동화 장치(120)는 제 3-1 세부 인터페이스(1310)에 포함된 시나리오 오브젝트(1311)에 대한 사용자의 입력에 기초하여 제 2 프로젝트영역(820)에 제 3-3 세부 인터페이스(1330)를 표시할 수 있다. 제 3-3 세부 인터페이스(1330)는 테스트시나리오 정보를 수정하기 위한 사용자 인터페이스일 수 있다. 제 3-3 세부 인터페이스(1330)의 구성은 제 3-2 세부 인터페이스(1320)의 구성과 동일할 수 있다. 제 3-3 세부 인터페이스(1330)를 통해 테스트시나리오 정보를 수정하는 방법은 제 3-2 세부 인터페이스(1320)에서 테스트시나리오 정보를 생성하는 방법과 유사할 수 있다. 사용자는 제 3-3 세부 인터페이스(1330)를 통해 기존의 테스트시나리오 정보를 손쉽게 수정할 수 있다.
다시 도 5를 참조하면, 테스트 자동화 장치(120)는 테스트시나리오 정보에 대한 스케줄러 정보를 획득하는 단계(526)를 수행할 수 있다. 스케줄러 정보는 특정한 테스트시나리오 정보를 주기적으로 실행하여 테스트하기 위한 데이터일 수 있다. 스케줄러 정보는 스케줄러 테스트환경, 실행 대상 테스트시나리오 정보, 실행 대상 테스트 디바이스의 디바이스 정보, 테스트 시작일시 및 실행주기 중 적어도 하나를 포함할 수 있다. 테스트 자동화 장치(120)는 사용자 인터페이스에 대한 사용자의 입력을 통해 스케줄러 정보를 획득할 수 있다.
단계(526)에서 테스트 자동화 장치(120)는 도 14와 같이 사용자 인터페이스를 제공할 수 있다.
도 14는 본 개시의 일 실시예에 다른 스케줄러 정보와 관련된 세부 인터페이스를 나타내는 도면이다.
도 6 및 도 14를 참조하면, 테스트 자동화 장치(120)는 제 1 프로젝트영역(810)에 포함된 스케줄러 탭(832)에 대한 입력에 기초하여 제 2 프로젝트영역(820)에 제 4-1 세부 인터페이스(1410)를 표시하는 단계(611)를 수행할 수 있다. 제 4-1 세부 인터페이스(1410)는 스케줄러 정보를 관리하기 위한 사용자 인터페이스일 수 있다. 제 4-1 세부 인터페이스(1410)는 스케줄러 리스트를 포함할 수 있다. 스케줄러 리스트는 스케줄러 정보를 시각화하여 나열한 목록일 수 있다. 스케줄러 리스트는 스케줄러 정보에 대응되는 스케줄러 오브젝트(1411)를 포함할 수 있다. 스케줄러 오브젝트(1411)는 스케줄러 정보와 일대일 대응되며 대응되는 스케줄러 정보를 시각적으로 나타낼 수 있다. 스케줄러 오브젝트(1411)는 스케줄러 정보에 포함된 테스트환경, 실행 대상 테스트시나리오 정보, 테스트 시작일시 및 실행주기 중 적어도 하나를 시각적으로 나타낼 수 있다.
스케줄러 오브젝트(1411)는 스케줄러 상태 버튼(1411a)을 포함할 수 있다. 스케줄러 상태 버튼(1411a)은 스케줄러 정보를 활성화 또는 비활성화할 것을 입력 받기 위한 오브젝트 객체일 수 있다. 스케줄러 상태 버튼(1411a)은 테스트시나리오 정보의 활성화 상태를 시각적으로 나타낼 수 있다. 테스트 자동화 장치(120)는 스케줄러 상태 버튼(1411a)에 대한 사용자의 입력에 기초하여 시나리오 활성화 상태를 결정할 수 있다. 즉, 테스트 자동화 장치(120)는 스케줄러 상태 버튼(1411a)에 대한 사용자의 입력에 기초하여 테스트시나리오 정보를 활성화 또는 비활성화할 수 있다. 시나리오 정보가 활성화될 경우, 테스트 자동화 장치(120)는 테스트시나리오 정보에 포함된 테스트 시작일시 및 실행주기에 기초하여 테스트시나리오 정보에 대한 테스트를 실행할 수 있다. 시나리오 정보가 비활성화될 경우, 테스트 자동화 장치(120)는 테스트시나리오 정보에 대한 테스트를 실행하지 않을 수 있다.
스케줄러 오브젝트(1411)는 스케줄러 상세 버튼(1411b)을 포함할 수 있다. 스케줄러 상세 버튼(1411b)은 스케줄러 정보를 상세하게 시각적으로 나타내기 위하여 제 4-3 세부 인터페이스(1430)를 표시할 것을 나타내는 입력을 받기 위한 오브젝트 객체일 수 있다. 테스트 자동화 장치(120)는 스케줄러 상세 버튼(1411b)에 대한 사용자의 입력에 기초하여 제 4-3 세부 인터페이스(1430)를 표시할 수 있다. 이에 한정하지 않고, 테스트 자동화 장치(120)는 스케줄러 오브젝트(1411) 중 스케줄러 상태 버튼(1411a)에 대응되는 영역을 제외한 스케줄러 오브젝트(1411)의 미리 정해진 영역에 대한 사용자의 입력에 기초하여 제 4-3 세부 인터페이스(1430)를 표시할 수 있다. 제 4-3 세부 인터페이스(1430)에 대해서는 추후 자세히 설명한다.
제 4-1 세부 인터페이스(1410)는 스케줄러생성 오브젝트(1412)를 포함할 수 있다. 스케줄러생성 오브젝트(1412)는 스케줄러 정보를 생성하기 위한 사용자 인터페이스를 디스플레이에 표시하기 위한 오브젝트 객체이다.
테스트 자동화 장치(120)는 제 4-1 세부 인터페이스(1410)에 포함된 스케줄러생성 오브젝트(1412)에 대한 사용자의 입력에 기초하여 제 2 프로젝트영역(820)에 제 4-2 세부 인터페이스(1420)를 표시하는 단계(612)를 수행할 수 있다. 제 4-2 세부 인터페이스(1420)는 스케줄러 정보를 생성하기 위한 사용자 인터페이스일 수 있다. 도 14의 (b)를 참조하면, 제 4-2 세부 인터페이스(1420)는 스케줄러 정보 입력창을 포함할 수 있다. 스케줄러 정보 입력창은 테스트 자동화 장치(120)가 사용자로부터 스케줄러 정보를 입력 받기 위한 인터페이스일 수 있다. 테스트 자동화 장치(120)는 스케줄러 정보 입력창을 통해 스케줄러 정보에 포함되는 스케줄러 테스트환경, 실행 대상 테스트시나리오 정보, 실행 대상 테스트 디바이스의 디바이스 정보, 테스트 시작일시 및 실행주기 중 적어도 하나를 획득할 수 있다. 또한, 테스트 자동화 장치(120)는 스케줄러 정보 입력창을 통해 스케줄러 실행 결과 대시보드 자동 등록 여부에 대한 정보를 획득하고, 스케줄러 정보에 대한 스케줄러 실행 결과를 서버(110)에 자동으로 저장할지 여부를 결정할 수 있다. 스케줄러 실행 결과 대시보드 자동 등록 여부는 기본적으로 스케줄러 실행 결과가 서버(110)에 자동으로 저장되도록 설정되어 있을 수 있다. 테스트 자동화 장치(120)는 스케줄러 정보 입력창을 통해 스케줄러 실행 결과를 수신할 이메일 정보를 획득할 수 있다. 이때 이메일 정보는 테스트프로젝트가 포함하는 멤버 정보를 선택하거나 사용자의 직접 입력에 의해 획득될 수 있다.
제 4-2 세부 인터페이스(1420)는 스케줄러생성취소 오브젝트(1421)를 포함할 수 있다. 스케줄러생성취소 오브젝트(1421)는 제 4-1 세부 인터페이스(1410)로 돌아가기 위한 오브젝트 객체일 수 있다. 스케줄러생성취소 오브젝트(1421)에 대한 사용자의 클릭 입력 후, 테스트 자동화 장치(120)는 스케줄러 정보 입력창을 통해 획득된 스케줄러 정보를 저장하지 않고 제 2 프로젝트영역(820)에 제 4-1 세부 인터페이스(1410)를 표시할 수 있다.
제 4-2 세부 인터페이스(1420)는 스케줄러생성완료 오브젝트(1422)를 포함할 수 있다. 스케줄러생성완료 오브젝트(1422)는 스케줄러 정보의 생성을 완료하고 저장하기 위한 오브젝트 객체일 수 있다. 스케줄러생성완료 오브젝트(1422)에 대한 사용자의 클릭 입력 후, 테스트 자동화 장치(120)는 스케줄러 정보 입력창을 통해 획득된 스케줄러 정보를 저장하고 제 2 프로젝트영역(820)에 제 4-1 세부 인터페이스(1410)를 표시할 수 있다.
테스트 자동화 장치(120)는 제 4-1 세부 인터페이스(1410)에 포함된 시나리오 상세 버튼에 대한 사용자의 입력에 기초하여 제 2 프로젝트영역(820)에 제 4-3 세부 인터페이스(1430)를 표시할 수 있다. 제 4-3 세부 인터페이스(1430)는 하나의 스케줄러 정보를 상세하게 시각적으로 나타내기 위한 사용자 인터페이스일 수 있다.
제 4-3 세부 인터페이스(1430)는 시나리오 활성화 버튼(1431)을 포함할 수 있다. 시나리오 활성화 버튼(1431)은 시나리오 활성화 상태를 결정하기 위한 오브젝트일 수 있다. 시나리오 정보는 시나리오 활성화 상태에 따라 활성화되거나 비활성화될 수 있다. 시나리오 정보가 활성화될 경우, 테스트 자동화 장치(120)는 시나리오 정보에 포함된 테스트 시작일시 및 실행주기에 기초하여 시나리오 정보에 대한 테스트를 실행할 수 있다. 시나리오 정보가 비활성화될 경우, 테스트 자동화 장치(120)는 시나리오 정보에 대한 테스트를 실행하지 않을 수 있다.
제 4-3 세부 인터페이스(1430)는 시나리오상세정보창을 포함할 수 있다. 시나리오상세정보창은 제 4-2 세부 인터페이스(1420)의 스케줄러 정보 입력창과 동일한 구성을 포함할 수 있다.
다시 도 5를 참조하면, 테스트 자동화 장치(120)는 스케줄러 정보, 테스트시나리오 정보, 테스트스텝 정보 및 테스트케이스 정보 중 적어도 하나를 서버로 전송하여 저장하는 단계(511)를 수행할 수 있다. 테스트 자동화 장치(120)는 스케줄러 정보, 테스트시나리오 정보, 테스트스텝 정보 및 테스트케이스 정보 중 적어도 하나를 서버(110)로 전송할 수 있다. 서버(110)는 테스트 자동화 장치(120)로부터 수신한 스케줄러 정보, 테스트시나리오 정보, 테스트스텝 정보 및 테스트케이스 정보 중 적어도 하나를 저장할 수 있다. 추후 서버(110)는 테스트 실행 시 필요한 스케줄러 정보, 테스트시나리오 정보, 테스트스텝 정보 및 테스트케이스 정보 중 적어도 하나를 테스트 자동화 장치(120)로 전송할 수 있다.
테스트 자동화 시스템(100)은 스케줄러 정보, 테스트시나리오 정보, 테스트스텝 정보 및 테스트케이스 정보 중 적어도 하나를 테이블 형식으로 저장할 수 있다. 예를 들어 테이블 형식으로 저장된 테스트스텝 정보는 도 17과 같을 수 있다. 테스트와 관련된 데이터에 있어서, 스크립트 형식을 이용하는 경우, 테스트 자동화 장치(120)에는 IDE(121) 이외에 스크립트를 번역하기 위한 별도의 툴이 설치되어야 한다. 또한 스크립트를 번역하기 위한 툴의 버전이 달라지는 경우 테스트 자동화 시스템(100)은 테스트를 정상적을 수행하지 못할 수 있다. 그러나 본 개시의 테스트 자동화 시스템(100)은 테스트와 관련된 데이터를 스크립트가 아닌 테이블 형식으로 저장함으로써 스크립트를 작성하지 않고 즉시 테스트를 실행할 수 있다. 예를 들어, 테스트와 관련된 테이블 데이터는 테스트케이스 정보에 테스트스텝 정보가 순서대로 테이블 형식으로 저장되고, 테스트시나리오 정보에 테스트케이스 정보가 순서대로 테이블 형식으로 저장될 수 있다. 따라서 테스트 자동화 시스템(100)은 테스트 자동화 장치(120)에 IDE(121)를 설치하는 것만으로 테스트를 수행할 수 있다.
또한 테스트 자동화 시스템(100)은 테이블 형식의 데이터를 통해 복잡한 코드 작성 및 수정 작업을 거치지 않고 간단한 데이터 작성 및 수정을 통해 테스트 실행할 수 있다. 실행 대상 테스트 데이터에 있어서 실행 환경이 앱 또는 웹으로 변경되더라도 사용자는 테스트 자동화 시스템(100)을 이용하여 테스트시나리오 정보, 테스트케이스 정보 및 테스트스텝정보중 적어도 하나를 유저 인터페이스에 기초하여 간단하게 수정할 수 있다. 따라서 테스트 자동화 시스템(100)은 코딩에 대한 전문 지식이 부족한 사용자도 빠르게 테스트를 구성하고 실행할 수 있어 프로젝트 단위의 테스트를 생성하는 데 걸리는 준비 시간을 대폭 줄이고 프로젝트의 생산성을 증가시킬 수 있다.
테스트 자동화 시스템(100)은 테스트에 필요한 데이터를 서버(110)에 저장함으로써 관련 데이터가 저장되어 있지 않은 테스트 자동화 장치(120)에서도 테스트를 수행할 수 있다. 사용자는 테스트 자동화 장치(120)에 IDE(121)를 설치하고 로그인하여 어디서든 테스트를 수행할 수 있다. 따라서 테스트프로젝트에 참여하는 멤버는 특정 테스트 자동화 장치(120)에 구애받지 않고 IDE가 설치된 다양한 유형의 테스트 자동화 장치(120)에서 테스트를 수행할 수 있다.
단계(511)의 적어도 일부는 도 5의 다른 단계에서 수행될 수 있다. 예를 들어, 스케줄러 정보, 테스트시나리오 정보, 테스트스텝 정보 및 테스트케이스 정보 중 적어도 하나는 해당 정보의 생성이 완료된 후 서버(110)에 저장될 수 있다. 예를 들어, 테스트케이스 정보, 테스트스텝 정보, 테스트시나리오 정보 및 스케줄러 정보 중 적어도 하나는 앞서 전술한 케이스생성완료 오브젝트(921), 스텝생성완료 오브젝트(1121), 시나리오생성완료 오브젝트(1326) 및 스케줄러생성완료 오브젝트(1422) 중 적어도 하나에 대한 입력이 획득된 후 서버(110)에 저장될 수 있다.
테스트 자동화 장치(120)는 테스트 디바이스(130), 서버(110) 및 테스트 자동화 장치(120) 중 적어도 하나는 스케줄러 정보 및 테스트시나리오 정보에 대한 사용자의 테스트 요청 입력 중 적어도 하나에 기초하여 테스트를 수행하는 단계(527)를 수행할 수 있다. 스케줄러 정보 및 테스트시나리오 정보에 대한 사용자의 테스트 요청 입력은 예를 들어 스케줄러 상태 버튼(1411a), 시나리오 활성화 버튼(1431) 및 시나리오 테스트 버튼(1311a) 중 적어도 하나에 대한 사용자의 입력일 수 있다.
테스트를 수행하는 단계(527)에서 테스트 디바이스(130), 서버(110) 및 테스트 자동화 장치(120) 중 적어도 하나는 아래와 같은 과정을 수행할 수 있다.
테스트 자동화 장치(120)는 스케줄러 정보 및 테스트시나리오 정보에 대한 사용자의 테스트 요청 입력 중 적어도 하나에 기초하여 테스트 실행 정보를 서버(110)로부터 수신할 수 있다. 테스트 실행 정보는 테스트를 실행하기 위해 필요한 정보로, 테스트 실행 대상이 되는 데이터 및 디바이스에 대한 정보일 수 있다. 테스트 실행 정보는 실행 대상 테스트시나리오 정보 및 실행 대상 테스트 디바이스의 디바이스 정보 중 적어도 하나를 포함할 수 있다. 실행 대상 테스트시나리오 정보는 테스트 실행 대상이 되는 테스트시나리오 정보일 수 있다. 테스트 자동화 장치(120)는 서버(110)에 저장된 테스트시나리오 정보 중 실행 대상 테스트시나리오 정보를 서버(110)로부터 획득할 수 있다. 실행 대상 테스트 디바이스는 테스트를 위해 테스트 자동화 장치(120)와 연결된 테스트 디바이스(130)로, 테스트시 실행 대상 테스트시나리오 정보가 테스트 실행되는 단수 또는 복수의 테스트 디바이스(130)일 수 있다. 테스트 자동화 장치(120)는 서버(110)에 저장된 디바이스 정보 중 실행 대상 테스트 디바이스의 디바이스 정보를 서버(110)로부터 획득할 수 있다.
실행 대상 테스트 디바이스에 해당하는 테스트 디바이스(130)는 테스트 실행 정보에 기초하여 테스트 동작을 실행할 수 있다. 테스트 자동화 장치(120)는 테스트 자동화 장치(120)와 연결된 테스트 디바이스(130)에 대한 디바이스 세션 또는 브라우저 세션을 생성할 수 있다. 테스트 자동화 장치(120)에 의해 테스트 디바이스(130)는 테스트 동작을 실행할 수 있다. 테스트 자동화 시스템(100)은 복수의 테스트시나리오 정보에 대하여 병렬 테스트 수행할 수 있다. 테스트 자동화 시스템(100)의 병렬 테스트 수행은 복수의 단말기에서 하나씩 수행될 수도 있고, 하나의 단말기에서 병렬처리되어 동시에 수행될 수도 있다. 테스트 자동화 시스템(100)의 병렬 테스트 수행을 통해 사용자는 프로젝트에서 테스트에 소요되는 시간 및 인력을 절약할 수 있다. 테스트 자동화 장치(120)는 실행 대상 테스트 디바이스가 실행 대상 테스트시나리오 정보에 포함된 모든 테스트케이스 정보 및 테스트스텝 정보를 순서대로 실행하도록 할 수 있다.
구체적으로, 모바일 환경의 테스트시나리오 정보에 대하여 테스트를 실행하는 경우, 테스트 자동화 장치(120)의 IDE 서버는 Appium 서버에 선택된 테스트 디바이스(130)에 대한 드라이버 생성을 요청할 수 있다. Appium 서버는 드라이버를 통해 테스트 디바이스(130)의 자동 테스트를 실행할 수 있다. 실행 대상 시나리오에 포함된 테스트케이스 정보에 포함된 테스트스텝 정보를 순차적으로 IDE 서버에서 Appium 서버로 요청하여 테스트를 실행할 수 있다. IDE 서버는 각 테스트스텝 정보의 스텝 객체 정보를 Appium 서버로 전달할 수 있다. Appium 서버는 현재 테스트 디바이스의 화면 또는 화면 이미지에서 전달받은 데이터를 기준으로 스텝 객체를 탐지할 수 있다. 스텝 객체에 대한 탐지 결과에 따라 테스트스텝 정보의 커맨드 정보에 의해 정의된 테스트 실행 명령을 IDE 서버에서 Appium 서버로 요청할 수 있다. Appium 서버는 전달받은 요청에 대한 테스트를 실행할 수 있다. Appium 서버는 테스트 실행결과를 IDE 서버로 전달할 수 있다.
웹 브라우저 환경의 테스트시나리오 정보에 대하여 테스트를 실행하는 경우, IDE 서버는 실행 대상 웹 브라우저에 대한 테스트 실행을 위하여 웹 애플리케이션 서버(124)에 포함된 Selenium 서버에 드라이버 생성을 요청할 수 있다. Selenium 서버는 생성된 드라이버를 통해 테스트케이스 정보 및 테스트스텝 정보에 대한 테스트가 순차적으로 실행될 수 있다. IDE 서버는 테스트스텝 정보에 포함된 스텝 객체 정보를 Selenium 서버로 전송할 수 있다. Selenium 서버는 스텝 객체 탐지를 수행할 수 있다. Selenium 서버는 스텝 객체에 대한 탐지 결과에 따라 테스트 동작을 실행할 수 있다. Selenium 서버는 테스트 실행결과를 IDE 서버로 전달할 수 있다.
테스트 자동화 장치(120)는 테스트 디바이스(130)의 테스트 실행결과정보를 획득할 수 있다. 테스트 실행결과정보는 실행 대상 테스트 디바이스에서 실행 대상 테스트 시나리오를 테스트한 결과에 대한 정보일 수 있다.
테스트 실행결과정보는 실행 대상 테스트시나리오 정보에 대한 시나리오 실행결과, 테스트 성공비율 및 실행 대상 테스트시나리오 정보에 포함된 실행 대상 테스트케이스 정보에 대한 케이스 실행결과 중 적어도 하나를 포함할 수 있다. 테스트 자동화 장치(120)는 테스트 디바이스(130)가 수행한 동작에 기초하여 테스트 실행결과정보를 획득할 수 있다.
예를 들어, 테스트 실행결과정보 중 일부는 아래와 같은 과정을 통해 획득될 수 있다.
테스트 자동화 장치(120)는 테스트 디바이스(130)가 실행 대상 테스트케이스 정보에 포함된 테스트스텝 정보를 모두 실행한 경우, 케이스 실행결과를 성공으로 결정할 수 있다. 테스트 자동화 장치(120)는 테스트 디바이스(130)가 실행 대상 테스트케이스 정보에 포함된 테스트스텝 정보 중 적어도 하나를 실행하지 못한 경우, 케이스 실행결과를 실패로 결정할 수 있다. 테스트 자동화 장치(120)는 성공한 케이스 실행결과 개수 및 실패한 케이스 실행결과 개수의 비율에 기초하여 테스트 성공비율을 계산할 수 있다. 테스트 자동화 장치(120)는 실패한 케이스 실행결과가 존재하지 않을 경우, 시나리오 실행결과를 성공으로 결정할 수 있다. 테스트 자동화 장치(120)는 실패한 케이스 실행결과가 적어도 하나 존재할 경우 시나리오 실행결과를 실패로 결정할 수 있다.
테스트 자동화 장치(120)는 테스트 실행결과정보를 서버(110)로 송신할 수 있다.
서버(110)는 테스트 자동화 장치(120)로부터 송신한 테스트 실행결과정보를 저장할 수 있다. 구체적으로, IDE 서버는 대시보드 서버로 테스트 실행결과정보에 대한 저장 요청을 할 수 있다. 대시보드 서버는 테스트 실행결과정보를 데이터베이스에 실시간으로 저장할 수 있다. 저장된 테스트 실행결과정보는 즉각적으로 IDE(121)의 사용자 인터페이스(125)에 표시될 수 있다. 실행 대상 테스트시나리오 정보에 포함된 테스트케이스 정보 또는 테스트스텝 정보에 대한 테스트 완료 시, IDE 서버는 Appium 서버 또는 Selenium 서버를 통해 실행 영상, 스크린샷, 디바이스 로그를 추출할 수 있다. 실행 영상 및 디바이스 로그는 테스트케이스 정보에 대한 테스트 실행 완료 시점에 클라우드 스토리지로 전송되어 저장될 수 있다. 스크린샷은 테스트스텝 정보에 대한 테스트 실행 완료 시점에 IDE 서버에서 클라우드 스토리지로 전송되어 저장될 수 있다.
단계(527)에서, 테스트 자동화 장치(120)는 제 3-2 세부 인터페이스에 포함된 시나리오 테스트 버튼(1311a)에 대한 사용자의 입력(1313) 및 스케줄러 정보 중 적어도 하나에 기초하여 테스트를 수행하는 단계(613)를 수행할 수 있다. 전술한 바와 같이, 테스트 자동화 장치(120)는 스케줄러 상태 버튼(1411a), 시나리오 활성화 버튼(1431) 및 시나리오 테스트 버튼(1311a) 중 적어도 하나에 대한 사용자의 입력에 기초하여 테스트시나리오 정보에 대한 테스트를 수행할 수 있다. 이에 한정되지 않고, 테스트 자동화 장치(120)는 케이스 테스트 버튼(911a) 및 스텝 리스트 실행 오브젝트(935) 중 적어도 하나에 대한 사용자의 입력에 기초하여 테스트케이스 정보에 대한 테스트를 수행할 수 있다. 단계(527)에서의 테스트 수행 과정은 도 3에서 설명한 테스트 실행 과정과 동일할 수 있다. 테스트 자동화 장치(120)는 테스트시나리오 정보 및 테스트케이스 정보 중 적어도 하나에 대한 테스트를 수행한 후, 테스트 결과를 출력할 수 있다.
다시 도 5를 참조하면, 테스트 자동화 장치(120)는 테스트의 결과를 출력하는 단계(528)를 수행할 수 있다. 테스트 자동화 시스템(100)은 테스트 자동화 장치(120)의 사용자 인터페이스를 통해 테스트의 결과를 사용자에게 제공할 수 있다. 단계(528)에서 테스트 자동화 장치(120)는 도 15 및 도 16과 같이 사용자 인터페이스를 제공할 수 있다.
도 15는 본 개시의 일 실시예에 따른 테스트 결과와 관련된 사용자 인터페이스를 나타내는 도면이다
도 16은 본 개시의 일 실시예에 따른 테스트 결과와 관련된 사용자 인터페이스를 나타내는 도면이다
단계(528)에서 테스트 자동화 장치(120)는 제 1 프로젝트영역(810)에 포함된 테스트결과 탭(835)에 대한 사용자의 입력에 기초하여 제 2 프로젝트영역(820)에 제 5-1 세부 인터페이스(1510)를 표시하는 단계(614)를 수행할 수 있다. 제 5-1 세부 인터페이스(1510)는 사용자가 테스트 결과를 열람하기 위한 사용자 인터페이스일 수 있다. 도 15의 (a)를 참조하면, 제 5-1 세부 인터페이스(1510)는 테스트 결과 리스트를 포함할 수 있다. 테스트 결과 리스트는 현재 테스트프로젝트에서 실행한 테스트들을 시각화하여 나열한 목록일 수 있다. 테스트 결과 리스트는 결과 오브젝트(1511)를 포함할 수 있다. 결과 오브젝트(1511)는 시나리오 테스트 버튼에 대한 사용자의 입력(1313) 또는 스케줄러 정보에 의해 수행된 테스트시나리오 정보에 대한 테스트를 시각화하기 위해 수행한 테스트에 대한 테스트 실행결과정보에 일대일 대응되는 오브젝트 객체일 수 있다. 결과 오브젝트(1511)는 실행 대상 테스트시나리오 정보의 제목, 테스트 실행일시, 실행 대상 디바이스의 디바이스 정보 및 실행 대상 테스트시나리오 정보에 대한 시나리오 실행결과 중 적어도 하나를 시각적으로 표시할 수 있다.
또한, 결과 오브젝트(1511)는 테스트 자동화 장치(120)가 테스트 실행결과정보를 사용자에게 상세하게 표시하기 위한 사용자 인터페이스를 디스플레이에 표시하기 위한 오브젝트 객체일 수 있다.
단계(528)에서 테스트 자동화 장치(120)는 제 5-1 세부 인터페이스(1510)에 포함된 결과 오브젝트(1511)에 대한 사용자의 입력에 기초하여 제 2 프로젝트영역(820)에 제 5-2 세부 인터페이스(1520)를 표시하는 단계(615)를 수행할 수 있다. 제 5-2 세부 인터페이스(1520)는 사용자에게 테스트 실행결과정보를 상세하게 제공하기 위한 사용자 인터페이스일 수 있다. 도 15의 (b)를 참조하면, 제 5-2 세부 인터페이스(1520)는 제 1 결과영역(1521), 제 2 결과영역(1522), 제 3 결과영역(1523) 및 제 4 결과영역(1524) 중 적어도 하나를 포함할 수 있다. 제 1 결과영역(1521), 제 2 결과영역(1522) 및 제 4 결과영역(1524)은 각각 제 5-2 세부 인터페이스(1520)의 좌측상단, 좌측중단 및 좌측하단에 위치한 영역일 수 있다. 제 3 결과영역(1523)은 제 5-2 세부 인터페이스(1520)의 우측에 위치한 영역일 수 있다.
테스트 자동화 장치(120)는 제 1 결과영역(1521)에 전체결과요약창을 표시할 수 있다. 전체결과요약창은 테스트 실행결과정보를 시각화하기 위한 것일 수 있다. 테스트 자동화 장치(120)는 테스트 실행결과정보에 기초하여 전체결과요약창을 표시할 수 있다. 테스트 자동화 장치(120)는 전체결과요약창을 통해 시나리오 실행결과를 성공 또는 실패로 표시할 수 있다. 테스트 자동화 장치(120)는 전체결과요약창을 통해 실행 대상 테스트시나리오 정보가 포함하는 테스트케이스 정보의 개수를 표시할 수 있다. 테스트 자동화 장치(120)는 전체결과요약창을 통해 실행 대상 테스트시나리오 정보가 포함하는 테스트케이스 정보에 대한 케이스 실행결과에 대하여, 성공한 케이스 실행결과 개수 및 실패한 케이스 실행결과 개수를 표시할 수 있다. 테스트 자동화 장치(120)는 전체결과요약창을 통해 성공한 케이스 실행결과 개수 및 실패한 케이스 실행결과 개수의 비율인 테스트 성공비율을 표시할 수 있다. 사용자는 제 1 결과영역(1521)을 통해 테스트 실행결과를 한눈에 알아볼 수 있다. 구체적으로 사용자는 테스트 성공비율을 통해 프로젝트가 얼마나 완성되었는지 알 수 있으며 프로젝트의 수정에 드는 시간을 계산하여 프로젝트의 인적 기술적 자원을 효율적으로 배분할 수 있다.
테스트 자동화 장치(120)는 제 2 결과영역(1522)에 테스트정보창을 표시할 수 있다. 테스트정보창은 실행 대상 테스트시나리오 정보 및 실행 대상 테스트 디바이스의 디바이스 정보 중 적어도 하나를 포함하는 테스트 실행 정보를 시각화한 것일 수 있다. 테스트 자동화 장치(120)는 테스트정보창을 통해 실행 대상 테스트시나리오 정보 및 실행 대상 테스트 디바이스의 디바이스 정보 중 적어도 하나를 시각화하여 표시할 수 있다.
테스트 자동화 장치(120)는 제 3 결과영역(1523)에 테스트케이스 결과 리스트를 표시할 수 있다. 테스트케이스 결과 리스트는 실행 대상 테스트시나리오 정보에 포함된 테스트케이스 정보 및 케이스 실행결과를 시각화한 목록일 수 있다. 테스트케이스 결과 리스트는 케이스 결과 오브젝트(1525)를 포함할 수 있다. 케이스 결과 오브젝트(1525)는 실행 대상 테스트시나리오 정보에 포함된 테스트케이스 정보의 제목을 표시할 수 있다. 케이스 결과 오브젝트(1525)는 케이스결과표시객체를 포함할 수 있다. 테스트 자동화 장치(120)는 케이스 결과 오브젝트(1525)의 케이스결과표시객체의 색깔에 따라 케이스 실행결과를 표시할 수 있다. 예를 들어, 케이스 실행결과가 성공인 경우 테스트 자동화 장치(120)는 케이스결과표시객체를 초록색으로 표시할 수 있다. 케이스 실행결과가 실패인 경우 테스트 자동화 장치(120)는 케이스결과표시객체를 빨간색으로 표시할 수 있다. 제 3 결과영역(1523)을 통해 사용자는 테스트시나리오 정보에 포함된 테스트케이스 정보 중 수정이 필요한 테스트케이스 정보를 직관적으로 알 수 있다.
테스트 자동화 장치(120)는 제 4 결과영역(1524)에 테스트케이스 상세결과 인터페이스를 표시할 수 있다. 테스트케이스 상세결과 인터페이스는 실행 대상 테스트시나리오 정보에 대한 케이스 실행결과를 상세하게 표시하기 위한 인터페이스일 수 있다. 테스트케이스 상세결과 인터페이스는 테스트케이스 결과선택탭, 테스트스텝 결과 리스트 및 표시방법 선택탭 중 적어도 하나를 포함할 수 있다.
테스트 자동화 장치(120)는 제 4 결과영역(1524) 상단에 테스트케이스 결과선택탭(1526)을 표시할 수 있다. 테스트케이스 결과선택탭(1526)은 실행 대상 테스트시나리오 정보에 포함된 실행 대상 테스트케이스 정보를 선택하기 위한 것일 수 있다. 테스트 자동화 장치(120)는 테스트케이스 결과선택탭(1526)에 대한 사용자의 선택입력을 받은 실행 대상 테스트케이스 정보에 대한 케이스 실행결과를 테스트케이스 상세결과 인터페이스에 표시할 수 있다. 즉, 테스트 자동화 장치(120)는 테스트케이스 결과선택탭(1526)에 대한 사용자의 선택입력을 통해 테스트케이스 상세결과 인터페이스에 표시할 케이스 실행결과를 결정할 수 있다. 이와 더불어, 테스트 자동화 장치(120)는 제 3 결과영역(1523)에 포함된 케이스 결과 오브젝트(1525)에 대한 사용자의 클릭입력을 통해 테스트케이스 상세결과 인터페이스에 표시할 케이스 실행결과를 결정할 수 있다.
테스트 자동화 장치(120)는 제 4 결과영역(1524)의 좌측하단에 테스트스텝 결과 리스트(1527)를 표시할 수 있다. 테스트스텝 결과 리스트(1527)는 실행 대상 테스트케이스 정보에 포함된 실행 대상 테스트스텝 정보에 대한 테스트스텝 정보의 스텝 실행결과를 시각화한 목록일 수 있다. 테스트스텝 결과 리스트(1527)는 스텝 결과 오브젝트(1528)를 포함할 수 있다. 스텝 결과 오브젝트(1528)는 실행 대상 테스트케이스 정보에 포함된 테스트스텝 정보의 제목을 표시할 수 있다. 스텝 결과 오브젝트(1528)는 스텝결과표시객체를 포함할 수 있다. 테스트 자동화 장치(120)는 스텝 결과 오브젝트(1528)의 스텝결과표시객체의 색깔에 따라 스텝 실행결과를 표시할 수 있다. 스텝 결과 오브젝트(1528) 케이스 결과 오브젝트(1525)와 동일한 방법으로 표시될 수 있다.
사용자는 제 5-2 세부 인터페이스(1520)를 통해 테스트시나리오 정보에 대한 실행이 실패한 경우, 실패한 테스트케이스 정보 또는 테스트스텝 정보를 바로 알 수 있다. 따라서 사용자는 테스트시나리오 정보에 대한 버그 수정 과정에서 실패한 테스트케이스 정보 또는 테스트스텝 정보를 손쉽게 수정할 수 있다. 즉 테스트 자동화 장치(120)는 사용자 인터페이스를 통해 테스트 후 버그 수정 과정에 걸리는 시간을 대폭 감소시킬 수 있다.
테스트 자동화 장치(120)는 제 4 결과영역(1524)의 우측하단에 표시방법 선택탭(1529)을 표시할 수 있다. 표시방법 선택탭(1529)은 실행 대상 테스트케이스 정보에 대한 테스트 실행 결과를 표시하는 방법으로 실행 영상, 스크린샷 및 로그파일 중 적어도 하나를 선택하기 위한 탭 형식의 인터페이스일 수 있다. 표시방법 선택탭(1529)은 실행 영상탭, 스크린샷탭 및 로그파일탭 중 적어도 하나를 포함할 수 있다. 테스트 자동화 장치(120)는 실행 영상탭, 스크린샷탭 및 로그파일탭에 대한 사용자의 클릭 입력에 따라 표시방법 선택탭(1529)의 하단에 각각 실행 영상, 스크린샷 및 로그파일을 표시할 수 있다. 실행 영상은 테스트 디바이스(130)에서 테스트케이스 정보에 포함된 테스트스텝 정보를 순서대로 실행하는 것을 녹화한 영상일 수 있다. 스크린샷은 테스트 디바이스(130)에서 테스트케이스 정보에 포함된 테스트스텝 정보를 순서대로 실행하는 것을 캡처한 이미지일 수 있다. 로그파일은 기테스트 디바이스(130)에서 테스트케이스 정보에 포함된 테스트스텝 정보를 순서대로 실행할 때 발생하는 이벤트나 소프트웨어 간의 메세지를 기록한 파일일 수 있다. 실행 영상, 스크린샷 및 로그파일은 하나의 테스트케이스 정보가 실행될 때마다 각각 하나씩 생성될 수 있다.
테스트 자동화 장치(120)는 테스트의 결과를 출력하기 위하여 도 16과 같은 사용자 인터페이스를 표시할 수 있다.
도 16을 참조하면, 테스트 자동화 장치(120)는 제 1 프로젝트영역(810)에 포함된 오버뷰 탭(831)에 대한 사용자의 입력에 기초하여 제 2 프로젝트영역(820) 오버뷰를 표시할 수 있다. 오버뷰는 테스트프로젝트에서의 최근에 실행된 테스트 결과에 대한 요약 정보를 제공하기 위한 인터페이스일 수 있다.
오버뷰는 모바일 앱에 대한 최근 테스트 결과 목록(1610)을 포함할 수 있다. 모바일 앱에 대한 최근 테스트 결과 목록(1610)은 스케줄러 정보에 의해 실행된 모바일 앱에서의 테스트에 대한 포함할 수 있다. 모바일 앱에 대한 최근 테스트 결과 목록(1610)은 개별적으로 실행된 테스트시나리오 정보, 테스트케이스 정보 또는 테스트스텝 정보에 대한 모바일 앱에서의 테스트에 대한 정보를 포함할 수 있다. 모바일 앱에 대한 최근 테스트 결과 목록(1610)의 각 테스트에 대응되는 객체는 테스트시나리오 정보, 테스트케이스 정보 또는 테스트스텝 정보의 제목, 테스트 실행일시 및 테스트 실행결과 중 적어도 하나를 시각적으로 표시할 수 있다.
오버뷰는 웹 브라우저에 대한 최근 테스트 결과 목록(1620)을 포함할 수 있다. 웹 브라우저에 대한 최근 테스트 결과 목록(1620)은 스케줄러 정보에 의해 실행된 웹 브라우저에서의 테스트에 대한 포함할 수 있다. 웹 브라우저에 대한 최근 테스트 결과 목록(1620)은 개별적으로 실행된 테스트시나리오 정보, 테스트케이스 정보 또는 테스트 스텝 정보에 대한 웹 브라우저에서의 테스트에 대한 정보를 포함할 수 있다. 웹 브라우저에 대한 최근 테스트 결과 목록(1620)의 각 테스트에 대응되는 객체는 테스트시나리오 정보, 테스트케이스 정보 또는 테스트 스텝 정보의 제목, 테스트 실행일시 및 테스트 실행결과 중 적어도 하나를 시각적으로 표시할 수 있다.
오버뷰는 모바일 앱에 대한 속도 테스트 결과(1630)를 포함할 수 있다. 모바일 앱에 대한 속도 테스트 결과(1630)는 모바일 앱에서의 사용자가 설정한 특정한 동작에 대한 정보일 수 있다. 이때, 특정한 동작은 테스트시나리오 정보, 테스트케이스 정보 또는 테스트스텝 정보를 실행한 동작일 수 있다. 테스트 자동화 장치(120)는 특정한 동작에 대한 AOS를 시각적으로 표시할 수 있다.
오버뷰는 웹 브라우저에 대한 속도 테스트 결과(1640)를 포함할 수 있다. 웹 브라우저에 대한 속도 테스트 결과(1640)는 웹 브라우저에서의 사용자가 설정한 특정한 동작에 대한 정보일 수 있다. 테스트 자동화 장치(120)는 특정한 동작에 대한 속도를 웹 브라우저별로 시각적으로 표시할 수 있다.
이제까지 다양한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
Claims (8)
- 디스플레이에 사용자 인터페이스를 표시하는 테스트 자동화 장치에 있어서,
상기 디스플레이에 테스트프로젝트 정보를 관리하기 위한 제 1 인터페이스를 표시하는 단계;
상기 제 1 인터페이스에 포함된 프로젝트 오브젝트에 대한 사용자의 입력에 기초하여 제 1 프로젝트영역 및 제 2 프로젝트영역을 포함하는 제 2 인터페이스를 표시하는 단계;
상기 제 1 프로젝트영역에 포함된 테스트케이스 탭에 대한 입력에 기초하여 상기 제 2 프로젝트영역에 테스트케이스 정보를 관리하기 위한 제 1-1 세부 인터페이스를 표시하는 단계;
상기 제 1-1 세부 인터페이스에 포함된 케이스생성 오브젝트에 대한 사용자의 입력에 기초하여 상기 제 2 프로젝트영역에 상기 테스트케이스 정보를 생성하기 위한 제 1-2 세부 인터페이스를 표시하는 단계;
상기 제 1-1 세부 인터페이스에 포함된 케이스 오브젝트에 대한 사용자의 입력에 기초하여 상기 제 2 프로젝트영역에 테스트케이스 정보를 시각적으로 나타내기 위한 제 1-3 세부 인터페이스를 표시하는 단계;
상기 제 1-3 세부 인터페이스에 포함된 스텝생성 오브젝트에 대한 사용자의 입력에 기초하여 상기 제 2 프로젝트영역에 디바이스 목록을 포함하는 제 2 세부 인터페이스를 표시하는 단계;
상기 디바이스 목록에 포함된 테스트 디바이스 오브젝트에 대한 사용자의 입력에 기초하여 상기 테스트케이스 정보에 포함되는 테스트스텝 정보를 생성하기 위한 제 3 인터페이스를 표시하는 단계;
상기 제 3 인터페이스에 포함된 스텝생성완료 오브젝트에 대한 사용자의 입력에 기초하여 제 1-3 세부 인터페이스를 포함하는 제 2 인터페이스를 표시하는 단계;
상기 제 1 프로젝트영역에 포함된 테스트시나리오 탭에 대한 입력에 기초하여 상기 제 2 프로젝트영역에 테스트시나리오 정보를 관리하기 위한 제 3-1 세부 인터페이스를 표시하는 단계;
상기 제 3-1 세부 인터페이스에 포함된 시나리오생성 오브젝트에 대한 사용자의 입력에 기초하여 상기 제 2 프로젝트영역에 상기 테스트시나리오 정보를 생성하기 위한 제 3-2 세부 인터페이스를 표시하는 단계;
상기 제 1 프로젝트영역에 포함된 스케줄러 탭에 대한 입력에 기초하여 상기 제 2 프로젝트영역에 스케줄러 정보를 관리하기 위한 제 4-1 세부 인터페이스를 표시하는 단계;
상기 제 4-1 세부 인터페이스에 포함된 스케줄러생성 오브젝트에 대한 사용자의 입력에 기초하여 상기 제 2 프로젝트영역에 상기 스케줄러 정보를 생성하기 위한 제 4-2 세부 인터페이스를 표시하는 단계;
상기 제 3-1 세부 인터페이스에 포함된 시나리오 테스트 버튼에 대한 사용자의 입력 및 상기 스케줄러 정보 중 적어도 하나에 기초하여 테스트를 수행하는 단계;
상기 제 1 프로젝트영역에 포함된 테스트결과 탭에 대한 사용자의 입력에 기초하여 상기 제 2 프로젝트영역에 테스트 결과를 열람하기 위한 제 5-1 세부 인터페이스를 표시하는 단계; 및
상기 제 5-1 세부 인터페이스에 포함된 결과 오브젝트에 대한 사용자의 입력에 기초하여 테스트 실행결과정보를 제공하기 위한 제 5-2 세부 인터페이스를 표시하는 단계;를 포함하는 테스트 자동화 장치의 동작방법. - 제 1 항에 있어서,
상기 제 2 프로젝트영역에 디바이스 목록을 포함하는 제 2 세부 인터페이스를 표시하는 단계는,
상기 테스트 자동화 장치와 연결된 테스트 디바이스가 존재할 경우, 상기 테스트 디바이스에 대응되는 상기 테스트 디바이스 오브젝트를 상기 디바이스 목록에 미리 정해진 형태로 표시하는 단계; 및
상기 테스트 디바이스 오브젝트에 대한 사용자의 입력에 기초하여 상기 테스트 디바이스 오브젝트에 대응되는 테스트 디바이스를 상기 테스트스텝 정보의 생성에 이용할 테스트 디바이스로 결정하는 단계;를 포함하는 테스트 자동화 장치의 동작방법. - 제 2 항에 있어서,
상기 제 3 인터페이스는 제 1 스텝영역, 제 2 스텝영역 및 제 3 스텝영역 중 적어도 하나를 포함하고,
상기 테스트케이스 정보에 포함되는 테스트스텝 정보를 생성하기 위한 제 3 인터페이스를 표시하는 단계는,
상기 제 1 스텝영역에 적어도 하나의 스텝 객체를 포함하는 화면 이미지를 포함하는 인스펙터창을 표시하는 단계;
상기 제 2 스텝영역에 테스트스텝 정보를 입력 받기 위한 스텝 정보 입력창을 표시하는 단계;
상기 제 3 스텝영역에 현재 테스트케이스 정보에 포함된 상기 테스트스텝 정보에 대응되는 스텝 오브젝트를 포함하는 테스트스텝 리스트를 표시하는 단계;를 포함하는 테스트 자동화 장치의 동작방법. - 제 3 항에 있어서,
상기 테스트스텝 리스트에 포함된 적어도 하나의 스텝 오브젝트는 상기 사용자의 드래그 앤 드롭 입력에 기초하여 순서가 변경되는 것을 특징으로 하는 테스트 자동화 장치의 동작방법. - 제 1 항에 있어서,
상기 제 3-2 세부 인터페이스는 제 1 시나리오영역, 제 2 시나리오영역 및 제 3 시나리오영역 중 적어도 하나를 포함하고,
상기 제 2 프로젝트영역에 상기 테스트시나리오 정보를 생성하기 위한 제 3-2 세부 인터페이스를 표시하는 단계는,
상기 제 1 시나리오영역에 테스트시나리오 정보를 입력 받기 위한 시나리오 정보 입력창을 표시하는 단계;
상기 제 2 시나리오영역에 현재 테스트프로젝트 정보에 포함된 테스트케이스 정보에 대응되는 케이스 오브젝트를 포함하는 전체 테스트케이스 리스트를 표시하는 단계; 및
상기 제 3 시나리오영역에 현재 테스트시나리오 정보에 포함된 테스트케이스 정보에 대응되는 케이스 오브젝트를 포함하는 시나리오 테스트케이스 리스트를 표시하는 단계;를 포함하는 테스트 자동화 장치의 동작방법. - 제 5 항에 있어서,
상기 전체 테스트케이스 리스트에 포함된 케이스 오브젝트는 상기 사용자의 드래그 앤 드롭 입력에 기초하여 상기 전체 테스트케이스 리스트로부터 상기 시나리오 테스트케이스 리스트로 이동하는 것을 특징으로 하는 테스트 자동화 장치의 동작방법. - 제 1 항에 있어서,
상기 제 5-2 세부 인터페이스는 제 1 결과영역, 제 2 결과영역, 제 3 결과영역 및 제 4 결과영역 중 적어도 하나를 포함하고,
상기 5-1 세부 인터페이스에 포함된 결과 오브젝트에 대한 사용자의 입력에 기초하여 테스트 실행결과정보를 제공하기 위한 제 5-2 세부 인터페이스를 표시하는 단계;는,
상기 제 1 결과영역에 테스트 실행결과정보에 기초하여 전체결과요약창을 표시하는 단계;
상기 제 2 결과영역에 실행 대상 테스트시나리오 정보 및 실행 대상 테스트 디바이스의 디바이스 정보 중 적어도 하나를 포함하는 테스트 실행 정보를 시각화한 테스트정보창을 표시하는 단계;
상기 제 3 결과영역에 상기 실행 대상 테스트시나리오 정보에 포함된 실행 대상 테스트케이스 정보의 테스트 결과를 나타내는 케이스결과 오브젝트를 포함하는 테스트케이스 결과 리스트를 표시하는 단계; 및
상기 제 4 결과영역에 상기 실행 대상 테스트케이스 정보에 포함된 실행 대상 테스트스텝 정보의 테스트 결과를 나타내기 위한 테스트케이스 상세결과 인터페이스를 표시하는 단계;를 포함하는 테스트 자동화 장치의 동작방법. - 제 7 항에 있어서,
상기 제 4 결과영역에 상기 실행 대상 테스트케이스 정보에 포함된 실행 대상 테스트스텝 정보의 테스트 결과를 나타내기 위한 테스트케이스 상세결과 인터페이스를 표시하는 단계는,
상기 제 4 결과영역의 상단에 상기 실행 대상 테스트시나리오 정보에 포함된 실행 대상 테스트케이스 정보를 선택하기 위한 테스트케이스 결과선택탭을 표시하는 단계;
상기 제 4 결과영역의 좌측하단에 상기 실행 대상 테스트케이스 정보에 포함된 상기 실행 대상 테스트스텝 정보에 대한 테스트스텝 결과 리스트를 표시하는 단계;
상기 제 4 결과영역의 우측하단에 상기 실행 대상 테스트케이스 정보에 대한 테스트 실행 결과를 표시하는 방법으로 실행 영상, 스크린샷 및 로그파일 중 적어도 하나를 선택하기 위한 표시방법 선택탭을 표시하는 단계;를 포함하는 테스트 자동화 장치의 동작방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020240033695A KR102694524B1 (ko) | 2024-03-11 | 2024-03-11 | 사용자 인터페이스를 제공하는 테스트 자동화 장치 및 장치의 동작방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020240033695A KR102694524B1 (ko) | 2024-03-11 | 2024-03-11 | 사용자 인터페이스를 제공하는 테스트 자동화 장치 및 장치의 동작방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102694524B1 true KR102694524B1 (ko) | 2024-08-12 |
Family
ID=92376791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020240033695A KR102694524B1 (ko) | 2024-03-11 | 2024-03-11 | 사용자 인터페이스를 제공하는 테스트 자동화 장치 및 장치의 동작방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102694524B1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101118602B1 (ko) * | 2011-10-10 | 2012-02-27 | 어니컴 주식회사 | 장면 기반 테스트 자동화 방법 및 그 시스템 |
KR102303182B1 (ko) * | 2020-02-13 | 2021-09-16 | 주식회사 카카오뱅크 | 테스트 자동화 네트워크 시스템 및 테스트 자동화 방법 |
KR20220048758A (ko) * | 2020-10-13 | 2022-04-20 | 주식회사 투비웨어 | 웹 기반 모바일 디바이스 검증 자동화 플랫폼 시스템 및 그 검증 방법 |
KR20220049334A (ko) * | 2020-10-14 | 2022-04-21 | 주식회사 케이티 | 어플리케이션 테스트 방법 및 테스트 시스템 |
KR20220053432A (ko) * | 2020-10-22 | 2022-04-29 | 주식회사 엔씨소프트 | 테스트 자동화 서비스 장치 및 방법 |
-
2024
- 2024-03-11 KR KR1020240033695A patent/KR102694524B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101118602B1 (ko) * | 2011-10-10 | 2012-02-27 | 어니컴 주식회사 | 장면 기반 테스트 자동화 방법 및 그 시스템 |
KR102303182B1 (ko) * | 2020-02-13 | 2021-09-16 | 주식회사 카카오뱅크 | 테스트 자동화 네트워크 시스템 및 테스트 자동화 방법 |
KR20220048758A (ko) * | 2020-10-13 | 2022-04-20 | 주식회사 투비웨어 | 웹 기반 모바일 디바이스 검증 자동화 플랫폼 시스템 및 그 검증 방법 |
KR20220049334A (ko) * | 2020-10-14 | 2022-04-21 | 주식회사 케이티 | 어플리케이션 테스트 방법 및 테스트 시스템 |
KR20220053432A (ko) * | 2020-10-22 | 2022-04-29 | 주식회사 엔씨소프트 | 테스트 자동화 서비스 장치 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11934301B2 (en) | System and method for automated software testing | |
WO2019144680A1 (zh) | 自动化测试方法及装置、存储介质、电子设备 | |
US20240037020A1 (en) | System and Method for Automated Software Testing | |
US9846638B2 (en) | Exposing method related data calls during testing in an event driven, multichannel architecture | |
US10324828B2 (en) | Generating annotated screenshots based on automated tests | |
US8676723B2 (en) | Automated test system based on three-dimensional application software framework and a method thereof | |
US9424167B2 (en) | Automated testing of an application system | |
US8392886B2 (en) | System, program product, and methods to enable visual recording and editing of test automation scenarios for web application | |
CN108959068B (zh) | 软件界面测试方法、设备及存储介质 | |
US20180137035A1 (en) | Simultaneous multi-platform testing | |
US10810113B2 (en) | Method and apparatus for creating reference images for an automated test of software with a graphical user interface | |
US20110173589A1 (en) | Cross-Browser Interactivity Testing | |
CN109739855B (zh) | 实现数据表拼接及自动训练机器学习模型的方法和系统 | |
US20180239692A1 (en) | Electronic technology resource evaluation system | |
US20170147480A1 (en) | Test script generation | |
EP3333712B1 (en) | Simultaneous multi-platform testing | |
JP4896909B2 (ja) | シナリオ生成装置及びプログラム | |
KR102694524B1 (ko) | 사용자 인터페이스를 제공하는 테스트 자동화 장치 및 장치의 동작방법 | |
WO2024119471A1 (zh) | 算法测试方法及算法测试平台、计算机可读存储介质 | |
JP7212238B2 (ja) | 情報処理装置、その制御方法及びプログラム | |
JP2017058983A (ja) | テスト支援システム及び支援方法 | |
CN113220596B (zh) | 应用的测试方法、装置、设备、存储介质及程序产品 | |
US11995146B1 (en) | System and method for displaying real-time code of embedded code in a browser-window of a software application | |
Huang | Visual Regression Testing in Practice: Problems, Solutions, and Future Directions | |
JP7219389B2 (ja) | 情報処理装置、その制御方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |