KR102481249B1 - 테스트 자동화 서비스 장치 및 방법 - Google Patents

테스트 자동화 서비스 장치 및 방법 Download PDF

Info

Publication number
KR102481249B1
KR102481249B1 KR1020200137887A KR20200137887A KR102481249B1 KR 102481249 B1 KR102481249 B1 KR 102481249B1 KR 1020200137887 A KR1020200137887 A KR 1020200137887A KR 20200137887 A KR20200137887 A KR 20200137887A KR 102481249 B1 KR102481249 B1 KR 102481249B1
Authority
KR
South Korea
Prior art keywords
test
registered
server
list
build
Prior art date
Application number
KR1020200137887A
Other languages
English (en)
Other versions
KR20220053430A (ko
Inventor
김경문
김기범
김문기
김종원
오현석
윤서현
이재영
홍상영
황연택
Original Assignee
주식회사 엔씨소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엔씨소프트 filed Critical 주식회사 엔씨소프트
Priority to KR1020200137887A priority Critical patent/KR102481249B1/ko
Publication of KR20220053430A publication Critical patent/KR20220053430A/ko
Application granted granted Critical
Publication of KR102481249B1 publication Critical patent/KR102481249B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

테스트 자동화 서비스 장치 및 방법이 개시된다. 일 실시예에 따른 테스트 자동화 서비스 방법은 테스트를 위한 하나 이상의 빌드 파일이 등록되는 제1 서버와 등록된 빌드 파일의 목록을 동기화하는 동작, 하나 이상의 테스트 스크립트가 등록되는 제2 서버와 등록된 테스트 스크립트의 목록을 동기화하는 동작, 사용자에게 등록된 빌드 파일의 목록 및 등록된 테스트 스크립트의 목록을 포함하는 테스트 옵션을 제공하는 동작, 테스트 옵션에 대한 사용자의 선택에 기초하여, 제1 서버로부터 하나 이상의 빌드 파일 중 적어도 하나를 획득하고, 제2 서버로부터 하나 이상의 테스트 스크립트 중 적어도 하나를 획득하는 동작 및 테스트 대상 단말과 연결된 제3 서버에 획득한 적어도 하나의 빌드 파일 및 획득한 적어도 하나의 테스트 스크립트를 포함하는 테스트 요청을 전송하는 동작을 포함한다.

Description

테스트 자동화 서비스 장치 및 방법{APPARATUS AND METHOD FOR TEST AUTOMATION SERVICE}
개시되는 실시예들은 테스트 자동화 서비스를 제공하는 기술에 관한 것이다.
온라인 게임을 비롯한 대부분의 소프트웨어들은 수많은 사용자들에게 배포 및 이용되기 때문에, 사용자들의 다양한 요구를 충족시킬 수 있도록 우수한 품질로 제작되어야 한다.
이를 위해, 소프트웨어를 배포하거나 소프트웨어를 배포한 이후 새 버전(version)을 업데이트하기 전에, 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성 등 여러 품질 특성의 측면에서 소프트웨어를 테스트할 필요가 있다.
그러나, 수많은 사용자 환경과 돌발 상황을 고려하여 개발자가 직접 소프트웨어를 테스트하기 위해서는 과도한 인력과 시간이 소요되는 문제가 있어, 단순히 테스트 스크립트와 빌드 파일을 선택하는 것만으로 테스트를 손쉽게 수행할 수 있는 방안이 필요하다.
대한민국 등록특허공보 제10-1196522호(2012.10.25. 등록)
개시되는 실시예들은 간단한 설정만으로 사용자에게 자동화된 소프트웨어 테스트 서비스를 제공하기 위한 것이다.
개시되는 일 실시예에 따른 테스트 자동화 서비스 방법은, 테스트를 위한 하나 이상의 빌드 파일이 등록되는 제1 서버와 등록된 빌드 파일의 목록을 동기화하는 동작, 하나 이상의 테스트 스크립트가 등록되는 제2 서버와 등록된 테스트 스크립트의 목록을 동기화하는 동작, 사용자에게 등록된 빌드 파일의 목록 및 등록된 테스트 스크립트의 목록을 포함하는 테스트 옵션을 제공하는 동작, 테스트 옵션에 대한 사용자의 선택에 기초하여, 제1 서버로부터 하나 이상의 빌드 파일 중 적어도 하나를 획득하고, 제2 서버로부터 하나 이상의 테스트 스크립트 중 적어도 하나를 획득하는 동작; 및 테스트 대상 단말과 연결된 제3 서버에 획득한 적어도 하나의 빌드 파일 및 획득한 적어도 하나의 테스트 스크립트를 포함하는 테스트 요청을 전송하는 동작을 포함한다.
테스트 옵션은, 기 정의된 하나 이상의 테스트 시나리오의 목록을 더 포함할 수 있고, 획득하는 동작은, 하나 이상의 테스트 시나리오 중 사용자가 선택한 테스트 시나리오에 대응되는 하나 이상의 테스트 스크립트를 획득할 수 있다.
테스트 옵션은, 하나 이상의 테스트 시나리오 각각을 구성하는 테스트 시나리오 별 테스트 스크립트의 목록을 더 포함할 수 있고, 획득하는 동작은, 사용자가 선택한 테스트 시나리오에 대응되는 테스트 스크립트의 목록 중 사용자가 선택한 적어도 일부의 테스트 스크립트를 획득할 수 있다.
등록된 빌드 파일의 목록을 동기화하는 동작은, 제1 서버에 등록되는 하나 이상의 테스트 가상 환경 파일의 목록을 동기화하는 동작을 포함할 수 있고, 테스트 옵션은, 등록된 테스트 가상 환경 파일의 목록을 더 포함할 수 있으며, 획득하는 동작은, 테스트 옵션에 대한 사용자의 선택에 기초하여, 제1 서버로부터 하나 이상의 테스트 가상 환경 파일 중 어느 하나를 더 획득할 수 있고, 테스트 요청은, 획득한 어느 하나의 테스트 가상 환경 파일을 더 포함할 수 있다.
테스트 요청은, 테스트 대상 단말에 획득한 빌드 파일이 적용되도록 요청하는 선행 명령 및 선행 명령에 의해 획득한 빌드 파일이 적용된 후 테스트 대상 단말에 획득한 테스트 스크립트가 적용되도록 요청하는 후행 명령을 포함할 수 있다.
선행 명령은, 획득한 빌드 파일이 애플리케이션에 대한 업데이트 파일인 경우, 테스트 대상 단말에 기 설치된 애플리케이션에 업데이트 파일이 적용되도록 요청하는 명령을 포함할 수 있고, 후행 명령은, 업데이트 파일이 적용된 애플리케이션에 획득한 테스트 스크립트가 적용되도록 요청하는 명령을 포함할 수 있다.
한편, 일 실시예에 따른 테스트 자동화 서비스 방법은 테스트 대상 단말에서 테스트가 수행됨에 따른 테스트 결과를 획득하는 동작 및 테스트 결과를 텍스트, 테이블, 그래프 중 적어도 어느 하나의 형태로 사용자에게 제공하는 동작을 더 포함할 수 있다.
또한, 일 실시예에 따른 테스트 자동화 서비스 방법은 테스트 대상 단말에서 테스트가 수행됨에 따른 테스트 결과를 획득하는 동작 및 테스트 대상 단말에 적용된 테스트 스크립트에 포함된 복수의 테스트 코드 중 기 설정된 조건을 만족하는 테스트 코드가 실행됨에 따른 테스트 결과를 스크린 샷의 형태로 사용자에게 제공하는 동작을 더 포함할 수 있다.
개시되는 다른 실시예에 따른 테스트 자동화 서비스 방법은 테스트를 위한 하나 이상의 빌드 파일이 등록되는 제1 서버와 등록된 빌드 파일의 목록을 동기화하는 동작, 하나 이상의 테스트 스크립트가 등록되는 제2 서버와 등록된 테스트 스크립트의 목록을 동기화하는 동작, 등록된 빌드 파일의 목록을 동기화한 결과 제1 서버에 신규 빌드 파일의 등록이 식별된 경우, 제1 서버로부터 신규 빌드 파일을 획득하고, 제2 서버로부터 신규 빌드 파일의 등록이 식별될 경우 매칭되도록 기 설정된 테스트 스크립트를 획득하는 동작 및 테스트 대상 단말과 연결된 제3 서버에 획득한 신규 빌드 파일 및 획득한 기 설정된 테스트 스크립트를 포함하는 테스트 요청을 전송하는 동작을 포함한다.
전송하는 동작은, 제1 서버에 신규 빌드 파일이 등록된 시점으로부터 기 설정된 시간이 경과한 경우, 테스트 요청을 전송할 수 있다.
개시되는 일 실시예에 따른 테스트 자동화 서비스 장치는, 하나 이상의 프로세서 및 하나 이상의 프로세서에 의해 실행되도록 구성되는 하나 이상의 프로그램을 저장하는 메모리를 포함하는 장치로서, 프로그램은, 테스트를 위한 하나 이상의 빌드 파일이 등록되는 제1 서버와 등록된 빌드 파일의 목록을 동기화하는 동작, 하나 이상의 테스트 스크립트가 등록되는 제2 서버와 등록된 테스트 스크립트의 목록을 동기화하는 동작, 사용자에게 등록된 빌드 파일의 목록 및 등록된 테스트 스크립트의 목록을 포함하는 테스트 옵션을 제공하는 동작, 테스트 옵션에 대한 사용자의 선택에 기초하여, 제1 서버로부터 하나 이상의 빌드 파일 중 적어도 하나를 획득하고, 제2 서버로부터 하나 이상의 테스트 스크립트 중 적어도 하나를 획득하는 동작 및 테스트 대상 단말과 연결된 제3 서버에 획득한 적어도 하나의 빌드 파일 및 획득한 적어도 하나의 테스트 스크립트를 포함하는 테스트 요청을 전송하는 동작을 실행하기 위한 명령어들을 포함한다.
테스트 옵션은, 기 정의된 하나 이상의 테스트 시나리오의 목록을 더 포함할 수 있고, 획득하는 동작은, 하나 이상의 테스트 시나리오 중 사용자가 선택한 테스트 시나리오에 대응되는 하나 이상의 테스트 스크립트를 획득할 수 있다.
테스트 옵션은, 하나 이상의 테스트 시나리오 각각을 구성하는 테스트 시나리오 별 테스트 스크립트의 목록을 더 포함할 수 있고, 획득하는 동작은, 사용자가 선택한 테스트 시나리오에 대응되는 테스트 스크립트의 목록 중 사용자가 선택한 적어도 일부의 테스트 스크립트를 획득할 수 있다.
등록된 빌드 파일의 목록을 동기화하는 동작은, 제1 서버에 등록되는 하나 이상의 테스트 가상 환경 파일의 목록을 동기화하는 동작을 포함하고, 테스트 옵션은, 등록된 테스트 가상 환경 파일의 목록을 더 포함할 수 있으며, 획득하는 동작은, 테스트 옵션에 대한 사용자의 선택에 기초하여, 제1 서버로부터 하나 이상의 테스트 가상 환경 파일 중 어느 하나를 더 획득할 수 있고, 테스트 요청은, 획득한 어느 하나의 테스트 가상 환경 파일을 더 포함할 수 있다.
테스트 요청은, 기 테스트 대상 단말에 획득한 빌드 파일이 적용되도록 요청하는 선행 명령 및 선행 명령에 의해 획득한 빌드 파일이 적용된 후 테스트 대상 단말에 획득한 테스트 스크립트가 적용되도록 요청하는 후행 명령을 포함할 수 있다.
선행 명령은, 획득한 빌드 파일이 애플리케이션에 대한 업데이트 파일인 경우, 테스트 대상 단말에 기 설치된 애플리케이션에 업데이트 파일이 적용되도록 요청하는 명령을 포함할 수 있고, 후행 명령은, 업데이트 파일이 적용된 애플리케이션에 획득한 테스트 스크립트가 적용되도록 요청하는 명령을 포함할 수 있다.
한편, 일 실시예에 따른 테스트 자동화 서비스 장치는 프로그램 내에 테스트 대상 단말에서 테스트가 수행됨에 따른 테스트 결과를 획득하는 동작 및 테스트 결과를 텍스트, 테이블, 그래프 중 적어도 어느 하나의 형태로 사용자에게 제공하는 동작을 실행하기 위한 명령어들을 더 포함할 수 있다.
또한, 일 실시예에 따른 테스트 자동화 서비스 장치는 프로그램 내에 테스트 대상 단말에서 테스트가 수행됨에 따른 테스트 결과를 획득하는 동작 및 테스트 대상 단말에 적용된 테스트 스크립트에 포함된 복수의 테스트 코드 중 기 설정된 조건을 만족하는 테스트 코드가 실행됨에 따른 테스트 결과를 스크린 샷의 형태로 사용자에게 제공하는 동작을 실행하기 위한 명령어들을 더 포함할 수 있다.
개시되는 다른 실시예에 따른 테스트 자동화 서비스 장치는, 하나 이상의 프로세서 및 하나 이상의 프로세서에 의해 실행되도록 구성되는 하나 이상의 프로그램을 저장하는 메모리를 포함하는 장치로서, 프로그램은, 테스트를 위한 하나 이상의 빌드 파일이 등록되는 제1 서버와 등록된 빌드 파일의 목록을 동기화하는 동작, 하나 이상의 테스트 스크립트가 등록되는 제2 서버와 등록된 테스트 스크립트의 목록을 동기화하는 동작, 등록된 빌드 파일의 목록을 동기화한 결과 제1 서버에 신규 빌드 파일의 등록이 식별된 경우, 제1 서버로부터 신규 빌드 파일을 획득하고, 제2 서버로부터 신규 빌드 파일의 등록이 식별될 경우 매칭되도록 기 설정된 테스트 스크립트를 획득하는 동작 및 테스트 대상 단말과 연결된 제3 서버에 획득한 신규 빌드 파일 및 획득한 기 설정된 테스트 스크립트를 포함하는 테스트 요청을 전송하는 동작을 실행하기 위한 명령어들을 포함한다.
전송하는 동작은, 제1 서버에 신규 빌드 파일이 등록된 시점으로부터 기 설정된 시간이 경과한 경우, 테스트 요청을 전송할 수 있다.
개시되는 실시예들에 따르면, 별도의 서버와 빌드 파일의 목록 및 테스트 스크립트의 목록을 동기화함으로써, 테스트를 수행하고자 하는 사용자가 직접 빌드 파일이나 테스트 스크립트를 업로드하지 않고도 손쉽게 테스트를 수행할 수 있다.
또한 개시되는 실시예들에 따르면, 테스트 시나리오를 구성하는 테스트 스크립트 중 일부만을 선택할 수 있는 테스트 옵션을 제공함으로써, 하나의 테스트 시나리오 중 일부에 대한 테스트만 수행할 수도 있다.
또한 개시되는 실시예들에 따르면, 신규 빌드 파일이 등록된 경우 예약된 시점에 자동으로 테스트를 수행함으로써, 사용자의 테스트 일정 관리에 대한 부담을 경감시킬 수 있다.
도 1은 일 실시예에 따른 테스트 자동화 서비스 시스템을 설명하기 위한 블록도
도 2는 일 실시예에 따른 테스트 자동화 서비스 장치의 블록도
도 3은 다른 실시예에 따른 테스트 자동화 서비스 장치의 블록도
도 4는 일 실시예에 따른 테스트 자동화 서비스 화면을 나타낸 예시도
도 5는 다른 실시예에 따른 테스트 자동화 서비스 화면을 나타낸 예시도
도 6은 일 실시예에 따른 테스트 자동화 서비스 방법을 설명하기 위한 흐름도
도 7은 다른 실시예에 따른 테스트 자동화 서비스 방법을 설명하기 위한 흐름도
도 8은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 개시되는 실시예들은 이에 제한되지 않는다.
실시예들을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 개시되는 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 개시되는 실시예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 일 실시예에 따른 테스트 자동화 서비스 시스템을 설명하기 위한 블록도이다.
도 1을 참조하면, 일 실시예에 따른 테스트 자동화 서비스 시스템은 제1 서버(1), 제2 서버(2), 제3 서버(3), 테스트 후보 단말(4) 및 테스트 자동화 서비스 장치(100)를 포함한다.
한편, 실시예에 따라서는 도시된 테스트 자동화 서비스 장치(100)가 이하 도 3에 도시된 테스트 자동화 서비스 장치(200)로 대체될 수도 있다.
이하의 실시예들에서, '테스트'는 소프트웨어가 일정 수준의 품질을 가질 수 있도록 소프트웨어의 개발 단계, 양산 단계 또는 배포 후 단계에서 검수하는 행위를 의미한다. 즉 다시 말하면, '테스트'는 소프트웨어에 대한 품질 보증(QA; Quality Assurance) 활동 및 품질 관리(QC; Quality Control) 활동을 포함하는 개념이다.
구체적으로, '테스트'는 소프트웨어에 잔존한 결함을 발견하거나, 비효율적으로 구성된 부분을 개선하거나, 소프트웨어가 소프트웨어 개발 명세서 상의 요구사항을 준수하였는지 확인하거나, 사용자의 요구를 충족하는지 확인하거나, 기 설정된 구동 환경 하에서 적절히 동작하는지 확인하는 등의 다양한 목적을 갖고 수행될 수 있다.
제1 서버(1) 및 제2 서버(2)는 소프트웨어 테스트를 수행하기 위해 필요한 파일들이 등록되는 장치로서, 테스트 자동화 서비스 장치(100)로부터 특정 파일들에 대한 접근 요청을 수신하여 테스트 자동화 서비스 장치(100)로 요청 받은 파일들의 원본 또는 사본을 송신할 수 있다.
한편, 도 1에서 제1 서버(1) 및 제2 서버(2)는 따로 도시되어 있으며, 이는 각 서버에 등록되는 파일의 종류가 상이하다는 점에서 각 서버를 기능적으로 구분하기 위한 것이다. 즉, 제1 서버(1) 및 제2 서버(2)는 실제로 서로 다른 컴퓨팅 장치일 수 있으나, 반드시 이에 한정되는 것은 아니며, 동일한 컴퓨팅 장치를 기능적으로 구분한 것에 불과할 수도 있다.
제3 서버(3)는 테스트 후보 단말(4)과 연결되어 테스트 자동화 서비스 장치(100)로부터 받은 요청에 따라 테스트 후보 단말(4) 중 적어도 일부의 테스트 대상 단말에 소프트웨어 테스트 수행을 위한 정보를 송신하는 장치이다.
구체적으로, 제3 서버(3)는 사용자가 테스트하고자 하는 소프트웨어를 테스트 후보 단말(4)에 제공하는 서버로서, 예를 들어 사용자가 A라는 특정 게임에 대해 테스트하고자 하는 경우, 제3 서버(3)는 테스트 후보 단말(4)에 게임 A를 서비스하는 서버를 의미한다.
이때, '게임'이란 한 명 또는 그 이상의 게이머들이 게이밍 디바이스에 탑재되거나 연결된 입력장치를 이용하여 즐길 수 있는 소프트웨어를 의미한다. 통상 플레이어 캐릭터를 직접 조작하거나, 게임 내 오브젝트의 움직임을 조작하는 등의 방식으로 진행되며, 롤플레잉, 어드벤쳐, 아케이드 등으로 장르가 구분되기도 한다.
또한, '게이밍 디바이스'는 게임 소프트웨어를 실행하되 입력장치를 통한 사용자의 입력에 따라 연산을 수행하며, 출력장치를 통해 결과를 출력하는 하드웨어로서, 예를 들어 스마트폰(Smart Phone), 태블릿 PC(Tablet PC), 스마트 워치(Smart Watch), 스마트 밴드(Smart Band) 또는 개인용 컴퓨터(Personal Computer) 등의 형태일 수 있다. 이외에도 상술한 정의를 만족하는 장치라면 게이밍 디바이스에 속하는 것으로 해석된다.
테스트 후보 단말(4)은 제3 서버(3)와 연결된 단말로서, 테스트 대상 단말을 포함하고, 테스트 대상 단말은 테스트 자동화 서비스 장치(100)로부터 제3 서버(3)로 전송되는 요청에 따라 자동화된 소프트웨어 테스트가 수행되는 장치를 의미한다.
실효성 있는 소프트웨어 테스트를 위해서는, 테스트 대상 단말은 테스트하고자 하는 소프트웨어를 지원 가능한 최대한 많은 종류의 단말을 포함해야 한다. 예를 들어, B라는 모바일 게임을 테스트하고자 하는 경우, 테스트 대상 단말은 모바일 게임 B를 지원하는 최대한 많은 종류의 모바일 디바이스를 포함해야 한다.
도 1에서는 예시적으로 테스트 후보 단말(4)을 총 N개의 단말(4-1, 4-2, ..., 4-N)들의 집합으로 도시하였으나, 이는 하나 이상의 단말이 제3 서버(3)에 연결될 수 있음을 나타낸 것이며, 테스트 후보 단말(4)은 제3 서버(3)의 소켓(socket) 또는 트래픽(traffic) 등을 고려하여 기 설정된 한도 내에서 연결될 수 있음에 유의해야 한다.
도 1을 참조하여 상술한 실시예들에서, 제1 서버(1), 제2 서버(2), 제3 서버(3), 테스트 후보 단말(4) 및 테스트 자동화 서비스 장치(100)가 주고받는 일련의 정보들은 통신 네트워크를 통해 전송될 수 있으며, 이때 통신 네트워크는 인터넷, 하나 이상의 로컬 영역 네트워크(local area networks), 광역 네트워크(wire area networks), 셀룰러 네트워크, 모바일 네트워크, 그 밖에 다른 종류의 네트워크들, 또는 이러한 네트워크들의 조합을 포함할 수 있다.
도 2는 일 실시예에 따른 테스트 자동화 서비스 장치(100)의 블록도이다.
도시된 바와 같이, 일 실시예에 따른 테스트 자동화 서비스 장치(100)는 동기화부(110), 테스트 옵션 제공부(120), 획득부(130) 및 테스트 요청부(140)를 포함한다.
동기화부(110)는 테스트를 위한 하나 이상의 빌드 파일이 등록되는 제1 서버(1)와 등록된 빌드 파일의 목록을 동기화하고, 하나 이상의 테스트 스크립트가 등록되는 제2 서버(2)와 등록된 테스트 스크립트의 목록을 동기화한다.
이하의 실시예들에서, '빌드 파일'은 개발자가 작성한 소스 코드(source code) 파일이 컴퓨팅 장치에서 실행 가능한 소프트웨어 산출물의 형태로 구현된 파일을 의미한다. 이에 따라, '빌드 파일'은 소프트웨어의 보안 상의 취약점, 코드의 비효율성, 구동 시 발생하는 버그(bug), 사용자의 요구 사항 등에 대응하여 소프트웨어를 개선한 사항이 반영된 파일을 의미할 수 있다. 예를 들어, A라는 게임에 대한 빌드 파일은 게임 A 내 구현된 특정 장소에서 발생하는 버그를 디버깅(debugging)하기 위한 파일일 수 있다.
또한 이하의 실시예들에서, '테스트 스크립트'는 개발자가 소프트웨어 테스트를 수행하기 위해 필요한 하나 이상의 액션(action)을 코드 형태로 기술한 파일을 의미한다. 이하에서는 설명의 편의를 위해, 테스트 스크립트를 기술한 코드를 테스트 코드로 지칭하도록 한다.
일 실시예에 따르면, 동기화부(110)는 제1 서버(1)와 제1 서버(1)에 등록되는 하나 이상의 테스트 가상 환경 파일의 목록을 추가로 동기화할 수 있다.
구체적으로, '테스트 가상 환경 파일'은 소프트웨어 테스트가 수행될 환경을 구현하기 위한 정보를 포함하는 파일로서, 보다 자세하게는 소프트웨어가 배포된 후 실제로 소프트웨어를 사용할 사용자들의 기기가 갖는 구동 환경과 동일한 환경을 구성하는 정보를 포함한다.
테스트 옵션 제공부(120)는 사용자에게 등록된 빌드 파일의 목록 및 등록된 테스트 스크립트의 목록을 포함하는 테스트 옵션을 제공한다.
구체적으로, '테스트 옵션'은 소프트웨어 테스트와 관련하여 사용자들이 빌드 파일이나 테스트 스크립트 등을 선택할 수 있도록 사용자에게 제공되는 선택 가능한 세부 사항을 의미한다.
일 실시예에 따르면, 테스트 옵션은 기 정의된 하나 이상의 테스트 시나리오의 목록을 더 포함할 수 있다.
이하의 실시예들에서, '테스트 시나리오'는 사용자가 소프트웨어 테스트를 수행함으로써 특정한 목적을 달성할 수 있도록 하나 이상의 테스트 스크립트의 조합 및 수행될 순서를 정의한 정보를 의미한다.
예를 들어, 게임 A의 게임 캐릭터 B가 게임 몹 C를 1회 공격하는 테스트를 수행하는 테스트 시나리오는, 게임 내 마우스 포인터를 게임 몹 C 위에 올린 채 왼쪽 클릭(click)을 하는 동작, 게임 캐릭터 B가 게임 몹 C 근처로 이동하는 동작, 게임 캐릭터 B가 자신이 착용한 무기로 게임 몹 C에 공격을 가하는 동작, 공격에 따라 게임 몹 C의 체력 및 상태에 변화를 적용하는 동작 등과 관련된 테스트 스크립트의 조합 및 순서를 정의한다.
또한, 일 실시예에 따르면, 테스트 옵션은 하나 이상의 테스트 시나리오 각각을 구성하는 테스트 시나리오 별 테스트 스크립트의 목록을 더 포함할 수 있다.
예를 들어, C-1, C-2, C-3라는 테스트 스크립트가 모여 C라는 테스트 시나리오를 구성하는 경우, 테스트 옵션 제공부(120)는 C라는 테스트 시나리오에 대한 하위 항목으로 C-1, C-2, C-3라는 테스트 스크립트의 목록을 제공할 수 있다.
일 실시예에 따르면, 동기화부(110)가 제1 서버(1)와 하나 이상의 테스트 가상 환경 파일의 목록을 추가로 동기화한 경우, 테스트 옵션은 제1 서버(1)에 등록된 테스트 가상 환경 파일의 목록을 더 포함할 수 있다.
획득부(130)는 테스트 옵션에 대한 사용자의 선택에 기초하여, 제1 서버(1)로부터 하나 이상의 빌드 파일 중 적어도 하나를 획득하고, 제2 서버(2)로부터 하나 이상의 테스트 스크립트 중 적어도 하나를 획득한다.
일 실시예에 따르면, 테스트 옵션에 기 정의된 하나 이상의 테스트 시나리오의 목록이 더 포함되는 경우, 획득부(130)는 하나 이상의 테스트 시나리오 중 사용자가 선택한 테스트 시나리오에 대응되는 하나 이상의 테스트 스크립트를 획득할 수 있다.
또한, 일 실시예에 따르면, 테스트 옵션에 하나 이상의 테스트 시나리오를 구성하는 테스트 시나리오 별 테스트 스크립트의 목록이 더 포함되는 경우, 획득부(130)는 사용자가 선택한 테스트 시나리오에 대응되는 테스트 스크립트의 목록 중, 사용자가 선택한 적어도 일부의 테스트 스크립트를 획득할 수 있다.
일 실시예에 따르면, 테스트 옵션에 제1 서버(1)에 등록된 테스트 가상 환경 파일의 목록이 더 포함된 경우, 획득부(130)는 테스트 옵션에 대한 사용자의 선택에 기초하여, 제1 서버(1)로부터 하나 이상의 테스트 가상 환경 파일 중 어느 하나를 더 획득할 수 있다.
테스트 요청부(140)는 테스트 대상 단말과 연결된 제3 서버(3)에 획득한 적어도 하나의 빌드 파일 및 획득한 적어도 하나의 테스트 스크립트를 포함하는 테스트 요청을 전송한다.
일 실시예에 따르면, 획득부(130)가 어느 하나의 테스트 가상 환경 파일을 획득한 경우, 테스트 요청부(140)는 획득부(130)가 획득한 어느 하나의 테스트 가상 환경 파일을 더 포함하는 테스트 요청을 제3 서버(3)에 전송할 수 있다.
일 실시예에 따르면, 테스트 요청은 테스트 대상 단말에 획득부(130)가 제1 서버(1)로부터 획득한 빌드 파일이 적용되도록 요청하는 선행 명령 및 선행 명령에 의해 획득한 빌드 파일이 적용된 후 테스트 대상 단말에 획득부(130)가 제2 서버(2)로부터 획득한 테스트 스크립트가 적용되도록 요청하는 후행 명령을 포함할 수 있다.
구체적으로, 선행 명령은 획득부(130)가 획득한 빌드 파일이 애플리케이션에 대한 업데이트 파일인 경우, 테스트 대상 단말에 기 설치된 애플리케이션에 해당 업데이트 파일이 적용되도록 요청하는 명령을 포함할 수 있다.
이때, 후행 명령은 해당 업데이트 파일이 적용된 애플리케이션에 획득부(130)가 획득한 테스트 스크립트가 적용되도록 요청하는 명령을 포함할 수 있다.
이에 따라, 사용자는 선행 명령을 통해 빌드 파일을 특정 애플리케이션에 적용함으로써, 해당 애플리케이션에 업데이트하고자 하는 사항을 반영할 수 있고, 이후 후행 명령을 통해 업데이트된 환경 하에서 해당 애플리케이션에 테스트 스크립트를 적용할 수 있다.
일 실시예에 따르면, 테스트 요청부(140)는 테스트 대상 단말에서 테스트가 수행됨에 따른 테스트 결과를 획득하고, 테스트 결과를 텍스트, 테이블, 그래프 중 적어도 어느 하나의 형태로 사용자에게 제공할 수 있다.
일 실시예에 따르면, 테스트 요청부(140)는 테스트 대상 단말에서 테스트가 수행됨에 따른 테스트 결과를 획득하고, 테스트 대상 단말에 적용된 테스트 스크립트에 포함된 복수의 테스트 코드 중 기 설정된 조건을 만족하는 테스트 코드가 실행됨에 따른 테스트 결과를 스크린 샷의 형태로 사용자에게 제공할 수 있다.
구체적으로, 테스트 스크립트에 포함된 테스트 코드 중 적어도 일부는 스크린 샷을 캡처(capture)하기 위한 명령어를 포함하는 메소드(method)일 수 있고, 해당 메소드가 호출될 경우 테스트 요청부(140)는 해당 메소드에 대응되는 테스트 결과를 스크린 샷의 형태로 사용자에게 제공할 수 있다.
도 3은 다른 실시예에 따른 테스트 자동화 서비스 장치(200)의 블록도이다.
도시된 바와 같이, 다른 실시예에 따른 테스트 자동화 서비스 장치(200)는 동기화부(110), 획득부(210) 및 테스트 요청부(220)를 포함하며, 이 중 동기화부(110)는 도 2를 참조하여 설명한 일 실시예에서와 동일한 기능을 수행하는 바, 이에 대한 중복되는 설명은 생략하기로 한다.
획득부(210)는 동기화부(110)가 등록된 빌드 파일의 목록을 동기화한 결과 제1 서버(1)에 신규 빌드 파일의 등록이 식별된 경우, 제1 서버(1)로부터 신규 빌드 파일을 획득한다.
또한, 획득부(210)는 제1 서버(1)에 신규 빌드 파일의 등록이 식별될 경우 매칭되도록 기 설정된 테스트 스크립트를 제2 서버(2)로부터 획득한다.
테스트 요청부(220)는 테스트 대상 단말과 연결된 제3 서버(3)에 획득부(210)가 획득한 신규 빌드 파일 및 획득부(210)가 획득한 기 설정된 테스트 스크립트를 포함하는 테스트 요청을 전송한다.
이를 통해, 테스트 자동화 서비스 장치(200)는 제1 서버(1)에 신규 빌드 파일이 등록된 경우 사용자로부터 테스트 옵션 중 일부를 선택 받을 필요 없이 자동으로 테스트 대상 단말에서 소프트웨어 테스트가 수행되도록 할 수 있다.
일 실시예에 따르면, 테스트 요청부(220)는 제1 서버(1)에 신규 빌드 파일이 등록된 시점으로부터 기 설정된 시간이 경과한 경우, 제3 서버(3)로 테스트 요청을 전송할 수 있다.
이를 통해, 테스트 자동화 서비스 장치(200)는 제1 서버(1)에 신규 빌드 파일이 등록된 경우 즉각적으로 테스트 요청을 송신하지 않고, 사용자가 설정한 시간이 경과한 이후에 테스트 요청을 송신할 수 있다.
도 4는 일 실시예에 따른 테스트 자동화 서비스 화면을 나타낸 예시도이다.
도 4를 참조하면, 화면 좌측에는 '테스트 옵션 편집 페이지'가, 화면 우측 상단에는 '빌드 등록 페이지'가, 화면 우측 하단에는 '테스트 스크립트 관리 페이지'가 도시된다.
먼저, '테스트 옵션 편집 페이지'는 테스트 옵션 제공부(120)를 통해 사용자에게 제공되는 그래픽 유저 인터페이스(GUI; Graphical User Interface)로서, '이름', '설명', '테스트 자원', '기기', '결과 수신자', '자동 실행' 등의 항목을 포함한다.
'이름'은 소프트웨어 테스트를 구별하기 위해 사용자가 임의로 입력 가능한 항목이며, '설명'은 해당 소프트웨어 테스트에 대해 사용자가 주석(comment)을 기재하는 항목이다.
한편, '테스트 자원'은 소프트웨어 테스트의 수행에 사용될 파일 및 테스트 시나리오 등을 선택할 수 있는 항목이다.
구체적으로, 사용자는 안드로이드(Android) 운영체제 또는 iOS 운영체제 중 하나를 선택하여 해당 운영체제 하에서의 테스트 가상 환경을 선택할 수 있다. 이를 위해, '테스트 자원' 항목에는 안드로이드 운영체제 하의 테스트 가상 환경 파일의 목록을 제공하는 그래픽 객체(401)와, iOS 운영체제 하의 테스트 가상 환경 파일의 목록을 제공하는 그래픽 객체(402)가 포함된다.
아울러, '테스트 자원' 항목에는 사용자가 원하는 테스트 시나리오를 선택할 수 있도록 기 정의된 하나 이상의 테스트 시나리오의 목록을 제공하는 그래픽 객체(403)가 포함된다.
또한, 사용자는 제2 서버(2)에 등록된 테스트 스크립트 외에도, 자신이 원하는 테스트 스크립트를 직접 업로드하여 테스트 대상 단말에 적용되도록 할 수 있는데, 이를 위해 '테스트 자원' 항목에는 사용자가 클릭을 통해 사용자의 컴퓨팅 장치 내 저장 공간에 저장된 테스트 스크립트를 업로드할 수 있는 '파일 선택' 그래픽 객체(405)가 포함된다.
'기기'는 사용자가 테스트 후보 단말(4) 중에 테스트 대상 단말을 선택할 수 있는 항목으로서, 이를 위해 '기기' 항목에는 '기기 선택' 그래픽 객체(406)가 포함된다.
'결과 수신자'는 사용자가 테스트 결과를 수신 받을 대상을 지정할 수 있는 항목이며, 이를 위해 '결과 수신자' 항목에는 수신자 입력란(407)이 마련된다. 또한, 테스트가 전부 수행된 이후에만 아니라 테스트가 수행되는 중간에도 사용자가 중간 결과를 확인할 수 있도록, '결과 수신자' 항목에는 '중간 결과 받기' 체크 버튼(408)이 마련된다.
'자동 실행'은 제1 서버(1)에 신규 빌드 파일이 등록된 경우 사용자의 테스트 옵션 선택을 통한 개입 없이 자동으로 소프트웨어 테스트가 수행되도록, 자동 실행 여부를 결정하는 체크 버튼 및 경과 시간 조건에 대한 입력란이 마련된다.
한편, '빌드 등록 페이지'는 동기화부(110)와 제1 서버(1) 사이의 동기화 결과, 동기화된 빌드 파일의 목록을 사용자에게 제공하는 GUI로서, 서로 연관된 빌드 파일들을 상위 빌드 집합(빌드 1, 빌드 2 등) 아래에 나열하여 표시한다(빌드 1-1, 1-2, 1-3, 2-1, 2-2, 2-3 등).
이때, 빌드 파일을 제1 서버(1)에 등록하고자 하는 제3자는 '빌드 등록 페이지'에 로그인하여 빌드 파일을 등록할 수 있고, 등록을 마친 이후에는 '로그아웃' 그래픽 객체(409)를 클릭함으로써 '빌드 등록 페이지'에서 로그아웃할 수 있다.
뿐만 아니라, '빌드 등록 페이지'의 이용자는 각 상위 빌드 집합 옆에 도시된 '다운로드' 그래픽 객체(410, 411)를 클릭함으로써 연관된 빌드 파일들을 손쉽게 다운로드 받을 수 있다.
한편, '테스트 스크립트 관리 페이지'는 동기화부(110)와 제2 서버(2) 사이의 동기화 결과, 동기화된 테스트 스크립트의 목록을 사용자에게 제공하는 GUI로서, 사용자 정보 표시(412)를 통해 현재 '테스트 스크립트 관리 페이지'를 이용 중인 사용자의 정보를 표시한다.
또한, '테스트 스크립트명' 항목(413)을 통해 등록된 각 테스트 스크립트의 명칭을 제공하고, '최근 commit' 항목(414)을 통해 최근에 각 테스트 스크립트를 수정한 내용에 대한 설명을 제공하고, '최근 등록' 항목(415)을 통해 최근에 각 테스트 스크립트를 등록한 일자를 제공한다.
이상의 도 4에 도시된 각 항목, 그래픽 객체, 체크 버튼, 입력란 등은 예시적인 것으로, 이외에도 추가적인 구성이 '테스트 옵션 편집 페이지', '빌드 등록 페이지' 또는 '테스트 스크립트 관리 페이지'에 포함될 수 있음은 자명하다.
도 5는 다른 실시예에 따른 테스트 자동화 서비스 화면을 나타낸 예시도이다.
도 5를 참조하면, 사용자가 '테스트 옵션 편집 페이지' 내의 부분 실행 설정 여부를 결정하기 위한 체크 버튼(404)에 체크한 경우, 테스트 옵션 제공부(120)는 사용자가 선택한 테스트 시나리오를 구성하는 테스트 스크립트의 목록(501)을 제공한다.
예를 들어, 도 5에서는 사용자가 선택한 제3 시나리오를 구성하는 테스트 스크립트의 목록('설치 및 실행', '계정 로그인', 'NPC', '채팅', 'PVP', '성관리', '우편')이 사용자에게 제공되고, 사용자는 이 중 'NPC', '성관리', '우편'이라는 테스트 스크립트를 선택함으로써 획득부(130)로 하여금 이 3개의 테스트 스크립트를 획득하도록 할 수 있다.
이상의 도 5에 도시된 각 항목, 그래픽 객체, 체크 버튼, 입력란 등은 예시적인 것으로, 이외에도 추가적인 구성이 '테스트 옵션 편집 페이지', '빌드 등록 페이지' 또는 '테스트 스크립트 관리 페이지'에 포함될 수 있음은 자명하다.
도 6은 일 실시예에 따른 테스트 자동화 서비스 방법을 설명하기 위한 흐름도이다. 도 6에 도시된 방법은 예를 들어, 상술한 테스트 자동화 서비스 장치(100)에 의해 수행될 수 있다.
우선, 테스트 자동화 서비스 장치(100)는 테스트를 위한 하나 이상의 빌드 파일이 등록되는 제1 서버(1)와 등록된 빌드 파일의 목록을 동기화한다(610).
이후, 테스트 자동화 서비스 장치(100)는 하나 이상의 테스트 스크립트가 등록되는 제2 서버(2)와 등록된 테스트 스크립트의 목록을 동기화한다(620).
이후, 테스트 자동화 서비스 장치(100)는 사용자에게 등록된 빌드 파일의 목록 및 등록된 테스트 스크립트의 목록을 포함하는 테스트 옵션을 제공한다(630).
이후, 테스트 자동화 서비스 장치(100)는 테스트 옵션에 대한 사용자의 선택에 기초하여, 제1 서버(1)로부터 하나 이상의 빌드 파일 중 적어도 하나를 획득하고, 제2 서버(2)로부터 하나 이상의 테스트 스크립트 중 적어도 하나를 획득한다(640).
이후, 테스트 자동화 서비스 장치(100)는 테스트 대상 단말(4)과 연결된 제3 서버(3)에 획득한 적어도 하나의 빌드 파일 및 획득한 적어도 하나의 테스트 스크립트를 포함하는 테스트 요청을 전송한다(650).
도 7은 다른 실시예에 따른 테스트 자동화 서비스 방법을 설명하기 위한 흐름도이다. 도 7에 도시된 방법은 예를 들어, 상술한 테스트 자동화 서비스 장치(200)에 의해 수행될 수 있다.
우선, 테스트 자동화 서비스 장치(200)는 테스트를 위한 하나 이상의 빌드 파일이 등록되는 제1 서버(1)와 등록된 빌드 파일의 목록을 동기화한다(710).
이후, 테스트 자동화 서비스 장치(200)는 하나 이상의 테스트 스크립트가 등록되는 제2 서버(2)와 등록된 테스트 스크립트의 목록을 동기화한다(720).
이후, 테스트 자동화 서비스 장치(200)는 등록된 빌드 파일의 목록을 동기화한 결과 제1 서버(1)에 신규 빌드 파일이 등록되었는지 판단한다(730).
이후, 제1 서버(1)에 신규 빌드 파일이 등록된 것으로 식별된 경우, 테스트 자동화 서비스 장치(200)는 제1 서버(1)로부터 신규 빌드 파일을 획득하고, 제2 서버(2)로부터 신규 빌드 파일의 등록이 식별될 경우 매칭되도록 기 설정된 테스트 스크립트를 획득한다(740).
이후, 테스트 자동화 서비스 장치(200)는 테스트 대상 단말(4)과 연결된 제3 서버(3)에 획득한 신규 빌드 파일 및 획득한 기 설정된 테스트 스크립트를 포함하는 테스트 요청을 전송한다(750).
상기 도 6 및 도 7에서는 상기 방법을 복수 개의 동작으로 나누어 기재하였으나, 적어도 일부의 동작들은 순서를 바꾸어 수행되거나, 다른 동작과 결합되어 함께 수행되거나, 생략되거나, 세부 동작들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 동작이 부가되어 수행될 수 있다.
도 8은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 테스트 자동화 서비스 장치(100)일 수 있다. 또한, 컴퓨팅 장치(12)는 다른 실시예에 따른 테스트 자동화 서비스 장치(200)일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.
1: 제1 서버
2: 제2 서버
3: 제3 서버
4(4-1, 4-2, ..., 4-N): 테스트 후보 단말
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100, 200: 테스트 자동화 서비스 장치
110: 동기화부
120: 테스트 옵션 제공부
130, 210: 획득부
140, 220: 테스트 요청부

Claims (20)

  1. 테스트를 위한 하나 이상의 빌드 파일과 하나 이상의 테스트 가상 환경 파일이 등록되는 제1 서버와 상기 등록된 빌드 파일의 목록 및 상기 등록된 하나 이상의 테스트 가상 환경 파일의 목록을 동기화하는 동작;
    하나 이상의 테스트 스크립트가 등록되는 제2 서버와 상기 등록된 테스트 스크립트의 목록을 동기화하는 동작;
    사용자에게 상기 등록된 빌드 파일의 목록, 상기 등록된 가상 환경 파일의 목록 및 상기 등록된 테스트 스크립트의 목록을 포함하는 테스트 옵션을 제공하는 동작;
    상기 테스트 옵션에 대한 상기 사용자의 선택에 기초하여, 상기 제1 서버로부터 상기 하나 이상의 빌드 파일 중 적어도 하나와 상기 하나 이상의 테스트 가상 환경 파일 중 어느 하나를 획득하고, 상기 제2 서버로부터 상기 하나 이상의 테스트 스크립트 중 적어도 하나를 획득하는 동작; 및
    테스트 대상 단말과 연결된 제3 서버에 상기 획득한 적어도 하나의 빌드 파일, 상기 획득한 어느 하나의 테스트 가상 환경 파일 및 상기 획득한 적어도 하나의 테스트 스크립트를 포함하는 테스트 요청을 전송하는 동작을 포함하는, 테스트 자동화 서비스 방법.
  2. 청구항 1에 있어서,
    상기 테스트 옵션은,
    기 정의된 하나 이상의 테스트 시나리오의 목록을 더 포함하고,
    상기 획득하는 동작은,
    상기 하나 이상의 테스트 시나리오 중 상기 사용자가 선택한 테스트 시나리오에 대응되는 하나 이상의 테스트 스크립트를 획득하는, 테스트 자동화 서비스 방법.
  3. 청구항 2에 있어서,
    상기 테스트 옵션은,
    상기 하나 이상의 테스트 시나리오 각각을 구성하는 테스트 시나리오 별 테스트 스크립트의 목록을 더 포함하고,
    상기 획득하는 동작은,
    상기 사용자가 선택한 테스트 시나리오에 대응되는 테스트 스크립트의 목록 중 상기 사용자가 선택한 적어도 일부의 테스트 스크립트를 획득하는, 테스트 자동화 서비스 방법.
  4. 삭제
  5. 청구항 1에 있어서,
    상기 테스트 요청은,
    상기 테스트 대상 단말에 상기 획득한 빌드 파일이 적용되도록 요청하는 선행 명령; 및
    상기 선행 명령에 의해 상기 획득한 빌드 파일이 적용된 후 상기 테스트 대상 단말에 상기 획득한 테스트 스크립트가 적용되도록 요청하는 후행 명령을 포함하는, 테스트 자동화 서비스 방법.
  6. 청구항 5에 있어서,
    상기 선행 명령은,
    상기 획득한 빌드 파일이 애플리케이션에 대한 업데이트 파일인 경우, 상기 테스트 대상 단말에 기 설치된 애플리케이션에 상기 업데이트 파일이 적용되도록 요청하는 명령을 포함하고,
    상기 후행 명령은,
    상기 업데이트 파일이 적용된 상기 애플리케이션에 상기 획득한 테스트 스크립트가 적용되도록 요청하는 명령을 포함하는, 테스트 자동화 서비스 방법.
  7. 청구항 1에 있어서,
    상기 테스트 대상 단말에서 테스트가 수행됨에 따른 테스트 결과를 획득하는 동작; 및
    상기 테스트 결과를 텍스트, 테이블, 그래프 중 적어도 어느 하나의 형태로 상기 사용자에게 제공하는 동작을 더 포함하는, 테스트 자동화 서비스 방법.
  8. 청구항 1에 있어서,
    상기 테스트 대상 단말에서 테스트가 수행됨에 따른 테스트 결과를 획득하는 동작; 및
    상기 테스트 대상 단말에 적용된 테스트 스크립트에 포함된 복수의 테스트 코드 중 기 설정된 조건을 만족하는 테스트 코드가 실행됨에 따른 테스트 결과를 스크린 샷의 형태로 상기 사용자에게 제공하는 동작을 더 포함하는, 테스트 자동화 서비스 방법.
  9. 테스트를 위한 하나 이상의 빌드 파일이 등록되는 제1 서버와 상기 등록된 빌드 파일의 목록을 동기화하는 동작;
    하나 이상의 테스트 스크립트가 등록되는 제2 서버와 상기 등록된 테스트 스크립트의 목록을 동기화하는 동작;
    상기 등록된 빌드 파일의 목록을 동기화한 결과 상기 제1 서버에 신규 빌드 파일의 등록이 식별된 경우, 상기 제1 서버로부터 상기 신규 빌드 파일을 획득하고, 상기 제2 서버로부터 상기 신규 빌드 파일의 등록이 식별될 경우 매칭되도록 기 설정된 테스트 스크립트를 획득하는 동작; 및
    상기 제1 서버에 상기 신규 빌드 파일이 등록된 시점으로부터 기 설정된 시간이 경과한 경우, 테스트 대상 단말과 연결된 제3 서버에 상기 획득한 신규 빌드 파일 및 상기 획득한 기 설정된 테스트 스크립트를 포함하는 테스트 요청을 전송하는 동작을 포함하는, 테스트 자동화 서비스 방법.
  10. 삭제
  11. 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해 실행되도록 구성되는 하나 이상의 프로그램을 저장하는 메모리를 포함하는 장치로서,
    상기 프로그램은,
    테스트를 위한 하나 이상의 빌드 파일과 하나 이상의 테스트 가상 환경 파일이 등록되는 제1 서버와 상기 등록된 빌드 파일의 목록 및 상기 등록된 하나 이상의 테스트 가상 환경 파일의 목록을 동기화하는 동작;
    하나 이상의 테스트 스크립트가 등록되는 제2 서버와 상기 등록된 테스트 스크립트의 목록을 동기화하는 동작;
    사용자에게 상기 등록된 빌드 파일의 목록, 상기 등록된 가상 환경 파일의 목록 및 상기 등록된 테스트 스크립트의 목록을 포함하는 테스트 옵션을 제공하는 동작;
    상기 테스트 옵션에 대한 상기 사용자의 선택에 기초하여, 상기 제1 서버로부터 상기 하나 이상의 빌드 파일 중 적어도 하나와 상기 하나 이상의 테스트 가상 환경 파일 중 어느 하나를 획득하고, 상기 제2 서버로부터 상기 하나 이상의 테스트 스크립트 중 적어도 하나를 획득하는 동작; 및
    테스트 대상 단말과 연결된 제3 서버에 상기 획득한 적어도 하나의 빌드 파일, 상기 획득한 어느 하나의 테스트 가상 환경 파일 및 상기 획득한 적어도 하나의 테스트 스크립트를 포함하는 테스트 요청을 전송하는 동작을 실행하기 위한 명령어들을 포함하는, 테스트 자동화 서비스 장치.
  12. 청구항 11에 있어서,
    상기 테스트 옵션은,
    기 정의된 하나 이상의 테스트 시나리오의 목록을 더 포함하고,
    상기 획득하는 동작은,
    상기 하나 이상의 테스트 시나리오 중 상기 사용자가 선택한 테스트 시나리오에 대응되는 하나 이상의 테스트 스크립트를 획득하는, 테스트 자동화 서비스 장치.
  13. 청구항 12에 있어서,
    상기 테스트 옵션은,
    상기 하나 이상의 테스트 시나리오 각각을 구성하는 테스트 시나리오 별 테스트 스크립트의 목록을 더 포함하고,
    상기 획득하는 동작은,
    상기 사용자가 선택한 테스트 시나리오에 대응되는 테스트 스크립트의 목록 중 상기 사용자가 선택한 적어도 일부의 테스트 스크립트를 획득하는, 테스트 자동화 서비스 장치.
  14. 삭제
  15. 청구항 11에 있어서,
    상기 테스트 요청은,
    상기 테스트 대상 단말에 상기 획득한 빌드 파일이 적용되도록 요청하는 선행 명령; 및
    상기 선행 명령에 의해 상기 획득한 빌드 파일이 적용된 후 상기 테스트 대상 단말에 상기 획득한 테스트 스크립트가 적용되도록 요청하는 후행 명령을 포함하는, 테스트 자동화 서비스 장치.
  16. 청구항 15에 있어서,
    상기 선행 명령은,
    상기 획득한 빌드 파일이 애플리케이션에 대한 업데이트 파일인 경우, 상기 테스트 대상 단말에 기 설치된 애플리케이션에 상기 업데이트 파일이 적용되도록 요청하는 명령을 포함하고,
    상기 후행 명령은,
    상기 업데이트 파일이 적용된 상기 애플리케이션에 상기 획득한 테스트 스크립트가 적용되도록 요청하는 명령을 포함하는, 테스트 자동화 서비스 장치.
  17. 청구항 11에 있어서,
    상기 프로그램은,
    상기 테스트 대상 단말에서 테스트가 수행됨에 따른 테스트 결과를 획득하는 동작; 및
    상기 테스트 결과를 텍스트, 테이블, 그래프 중 적어도 어느 하나의 형태로 상기 사용자에게 제공하는 동작을 실행하기 위한 명령어들을 더 포함하는, 테스트 자동화 서비스 장치.
  18. 청구항 11에 있어서,
    상기 프로그램은,
    상기 테스트 대상 단말에서 테스트가 수행됨에 따른 테스트 결과를 획득하는 동작; 및
    상기 테스트 대상 단말에 적용된 테스트 스크립트에 포함된 복수의 테스트 코드 중 기 설정된 조건을 만족하는 테스트 코드가 실행됨에 따른 테스트 결과를 스크린 샷의 형태로 상기 사용자에게 제공하는 동작을 실행하기 위한 명령어들을 더 포함하는, 테스트 자동화 서비스 장치.
  19. 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해 실행되도록 구성되는 하나 이상의 프로그램을 저장하는 메모리를 포함하는 장치로서,
    상기 프로그램은,
    테스트를 위한 하나 이상의 빌드 파일이 등록되는 제1 서버와 상기 등록된 빌드 파일의 목록을 동기화하는 동작;
    하나 이상의 테스트 스크립트가 등록되는 제2 서버와 상기 등록된 테스트 스크립트의 목록을 동기화하는 동작;
    상기 등록된 빌드 파일의 목록을 동기화한 결과 상기 제1 서버에 신규 빌드 파일의 등록이 식별된 경우, 상기 제1 서버로부터 상기 신규 빌드 파일을 획득하고, 상기 제2 서버로부터 상기 신규 빌드 파일의 등록이 식별될 경우 매칭되도록 기 설정된 테스트 스크립트를 획득하는 동작; 및
    전송하는 동작은,
    상기 제1 서버에 상기 신규 빌드 파일이 등록된 시점으로부터 기 설정된 시간이 경과한 경우, 테스트 대상 단말과 연결된 제3 서버에 상기 획득한 신규 빌드 파일 및 상기 획득한 기 설정된 테스트 스크립트를 포함하는 테스트 요청을 전송하는 동작을 실행하기 위한 명령어들을 포함하는, 테스트 자동화 서비스 장치.
  20. 삭제
KR1020200137887A 2020-10-22 2020-10-22 테스트 자동화 서비스 장치 및 방법 KR102481249B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200137887A KR102481249B1 (ko) 2020-10-22 2020-10-22 테스트 자동화 서비스 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200137887A KR102481249B1 (ko) 2020-10-22 2020-10-22 테스트 자동화 서비스 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20220053430A KR20220053430A (ko) 2022-04-29
KR102481249B1 true KR102481249B1 (ko) 2022-12-26

Family

ID=81428818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200137887A KR102481249B1 (ko) 2020-10-22 2020-10-22 테스트 자동화 서비스 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102481249B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009519544A (ja) * 2005-12-12 2009-05-14 アーカイブス,インク. 自動ソフトウェアテストフレームワーク
KR101881804B1 (ko) * 2017-08-16 2018-07-25 넷마블 주식회사 게임 테스트 자동화 장치 및 방법
KR101874590B1 (ko) * 2017-08-25 2018-08-02 주식회사 케이제이게임즈 게임 범용 네트워크 라이브러리를 이용한 통신 미들웨어 서비스 제공 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101196522B1 (ko) 2010-11-03 2012-11-01 주식회사 엔씨소프트 스크립트를 이용한 온라인 게임 서버의 스트레스 테스트 시스템 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009519544A (ja) * 2005-12-12 2009-05-14 アーカイブス,インク. 自動ソフトウェアテストフレームワーク
KR101881804B1 (ko) * 2017-08-16 2018-07-25 넷마블 주식회사 게임 테스트 자동화 장치 및 방법
KR101874590B1 (ko) * 2017-08-25 2018-08-02 주식회사 케이제이게임즈 게임 범용 네트워크 라이브러리를 이용한 통신 미들웨어 서비스 제공 방법

Also Published As

Publication number Publication date
KR20220053430A (ko) 2022-04-29

Similar Documents

Publication Publication Date Title
US11606320B2 (en) Dynamic application configuration
Lou A comparison of Android native app architecture MVC, MVP and MVVM
US10628294B2 (en) Mock services for software infrastructures
US9720799B1 (en) Validating applications using object level hierarchy analysis
CN110928791B (zh) 程序测试方法、装置、计算机设备和存储介质
CN104040946A (zh) 用于协作远程应用程序共享和会议的方法和系统
KR20140110520A (ko) 단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체
US9575979B1 (en) Determining application composition and ownership
CN110013672B (zh) 用于机器运行的游戏的自动化测试的方法、设备、装置以及计算机可读存储介质
CN108399331B (zh) 应用进程试用方法和系统
US11726800B2 (en) Remote component loader
US20210339152A1 (en) Game testing system
US9501388B2 (en) Method and system for creating reference data
CN110543789A (zh) 手柄与第三方应用程序进行适配的方法、装置及存储介质
US10705858B2 (en) Automatic import of third party analytics
KR20190113050A (ko) 모바일 어플리케이션 환경설정을 시험하기 위한 시험 항목 자동 생성 방법 및 시스템
EP4246332A1 (en) System and method for serverless application testing
US11872488B2 (en) Method and system for providing game using switching between continuous and automatic battle and manual battle
CN110825383A (zh) 一种视频交互方法、装置及计算机可读存储介质
KR102481249B1 (ko) 테스트 자동화 서비스 장치 및 방법
US20230333820A1 (en) Replacing remote device functions
KR102481502B1 (ko) 테스트 자동화 서비스 장치 및 방법
US20230297496A1 (en) System and method for serverless application testing
KR102481254B1 (ko) 테스트 자동화 서비스 장치 및 방법
KR20200076273A (ko) 얼굴 이미지와 메신저 계정의 연동에 기반한 이미지 관리 방법 및 시스템

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant