KR102243379B1 - 게임 테스트 자동화 장치 및 방법 - Google Patents

게임 테스트 자동화 장치 및 방법 Download PDF

Info

Publication number
KR102243379B1
KR102243379B1 KR1020180083824A KR20180083824A KR102243379B1 KR 102243379 B1 KR102243379 B1 KR 102243379B1 KR 1020180083824 A KR1020180083824 A KR 1020180083824A KR 20180083824 A KR20180083824 A KR 20180083824A KR 102243379 B1 KR102243379 B1 KR 102243379B1
Authority
KR
South Korea
Prior art keywords
test
game
information
script
generating
Prior art date
Application number
KR1020180083824A
Other languages
English (en)
Other versions
KR20190019009A (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 KR1020180083824A priority Critical patent/KR102243379B1/ko
Publication of KR20190019009A publication Critical patent/KR20190019009A/ko
Application granted granted Critical
Publication of KR102243379B1 publication Critical patent/KR102243379B1/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
    • 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/50Controlling the output signals based on the game progress
    • 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/70Game security or game management aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Debugging And Monitoring (AREA)

Abstract

게임 테스트를 자동화 할 수 있는 게임 테스트 자동화 장치가 개시된다. 게임 테스트 자동화 장치는 게임 서비스 내에서 테스트하고자 하는 게임 스크립트들의 조합인 테스트 프로시져(test procedure) 정보를 저장하는 데이터베이스, 및 상기 테스트 프로시져 정보에 기초하여 상기 게임 서비스의 게임 빌드에 대하여 테스트를 수행하고, 상기 테스트의 수행 과정에서 도출된 게임 상태 정보 및 상기 테스트에 대한 테스트 리포트를 생성하는 테스트 수행부를 포함할 수 있다.

Description

게임 테스트 자동화 장치 및 방법{METHOD AND APPARATUS FOR AUTOMATING GAME TEST}
아래의 설명은 게임 테스트 자동화 장치 및 방법에 관한 것이다.
게임 서비스는 그래픽 기반으로 구성되므로, 텍스트 기반의 프로그램과 달리 컴퓨터가 자동으로 게임 서비스 내의 상황을 파악하기가 어려울 수 있다. 따라서, 그래픽 기반의 게임 서비스의 게임 빌드를 테스트하기 위해서는, 게임 빌드를 테스트하는 테스터가 직접 개별 게임 플레이를 수행함으로써 게임 빌드에 오류가 존재하는 지 여부를 검증해야 했다. 이러한 이유 때문에 테스트를 진행하기 위한 다수의 테스터 인력이 요구되는 문제점이 있었다. 또한, 테스트를 수행하기 위한 시나리오는 텍스트 문장 기반으로 작성되었으므로, 개발자가 의도한 시나리오와 테스터가 인지한 시나리오가 일치하지 않는 소통상의 문제점이 존재할 수 있었다.
일실시예에 따른 게임 테스트 자동화 장치는 게임 서비스 내에서 테스트하고자 하는 게임 스크립트들의 조합인 테스트 프로시져(test procedure) 정보를 저장하는 데이터베이스; 및 상기 테스트 프로시져 정보에 기초하여 상기 게임 서비스의 게임 빌드에 대하여 테스트를 수행하고, 상기 테스트의 수행 과정에서 도출된 게임 상태 정보 및 상기 테스트의 테스트 리포트를 생성하는 테스트 수행부를 포함할 수 있다.
일실시예에 따른 게임 테스트 자동화 장치는 게임 서비스의 테스트를 수행하는 테스트 디바이스와 통신을 수행하는 통신부를 더 포함하고, 상기 테스트 수행부는 상기 테스트 디바이스를 통해 게임 서비스의 게임 빌드에 대해 테스트를 수행하기 위해 상기 테스트 디바이스를 제어하는 제어 신호를 생성하고, 상기 통신부를 통해 상기 생성된 제어 신호를 상기 테스트 디바이스에 전송하고, 전송된 제어 신호에 기초하여 상기 테스트 디바이스에서 상기 게임 빌드에 대한 테스트를 수행하고, 상기 테스트의 수행 과정에서 도출된 게임 상태 정보 및 상기 테스트에 대한 테스트 결과 정보를 생성할 수 있다.
일실시예에 따른 게임 테스트 자동화 장치는 상기 게임 스크립트들 및 상기 테스트 프로시져 정보를 관리하는 게임 스크립트 및 테스트 프로시져 관리부를 더 포함하고, 상기 게임 스크립트 및 테스트 프로시져 관리부는 사용자 입력에 기초하여 상기 게임 스크립트들 또는 테스트 상기 프로시져 정보를 생성할 수 있다.
일실시예에 따른 게임 테스트 자동화 장치에서 상기 테스트 프로시져 정보는 상기 테스트 프로시져 정보에 포함된 게임 스크립트들의 실행 순서에 대한 정보를 포함하고, 상기 프로시져 정보는 상기 프로시져 정보에 포함된 게임 스크립트들 중 복수의 테스트 디바이스에 의해 동시에 실행되는 게임 스크립트들에 대한 정보를 포함하고, 상기 테스트 리포트는 상기 테스트 결과에 대한 정보, 상기 테스트가 수행되는 테스트 디바이스의 성능에 대한 정보, 로그 정보 및 테스트가 수행되는 상황이 포함된 영상 정보 중 적어도 하나를 포함할 수 있다.
일실시예에 따른 게임 테스트 자동화 방법은 게임 서비스 내에서 테스트하고자 하는 게임 스크립트들의 조합인 테스트 프로시져 정보를 생성하는 단계; 상기 생성된 테스트 프로시져 정보에 기초하여 상기 게임 서비스의 게임 빌드에 대하여 테스트를 수행하는 단계; 상기 테스트의 수행 과정에서 도출된 게임 상태 정보 및 상기 테스트에 대한 테스트 리포트를 생성하는 단계를 포함할 수 있다.
일실시예에 따른 게임 테스트 자동화 방법에서 상기 테스트를 수행하는 단계는 테스트 디바이스에서 테스트를 수행하기 위해 상기 테스트 디바이스를 제어하는 제어 신호를 생성하는 단계; 상기 생성된 제어 신호를 상기 테스트 디바이스에 전송하는 단계를 포함하고, 상기 테스트 결과 정보를 생성하는 단계는 상기 테스트 디바이스에서 수행되는 테스트의 수행 과정에서 도출된 게임 상태 정보 및 상기 수행된 테스트에 대한 테스트 리포트를 생성할 수 있다.
일실시예에 따른 게임 테스트 자동화 방법에서 상기 테스트 리포트는 상기 테스트 결과에 대한 정보, 상기 테스트가 수행되는 테스트 디바이스의 성능에 대한 정보, 로그 정보 및 테스트가 수행되는 상황이 포함된 영상 정보 중 적어도 하나를 포함할 수 있다.
도 1은 일실시예에 따른 개발자 및 테스터 관점에서 게임 테스트 자동화 방법을 도시하는 흐름도이다.
도 2는 일실시예에 따른 게임 테스트 자동화 장치의 전체적인 구성을 도시하는 도면이다.
도 3은 일실시예에 따른 게임 스크립트가 생성되는 방법을 설명하기 위한 화면의 일례를 도시하는 도면이다.
도 4는 일실시예에 따른 게임 스크립트 및 테스트 프로시져 관리부에 의해 생성된 테스트 프로시져의 일례를 도시하는 도면이다.
도 5는 일실시예에 따른 게임 테스트 자동화 장치의 디스플레이부에 도시되는 테스트 디바이스의 화면들의 일례를 도시한다.
도 6은 일실시예에 따른 테스트 자동화 장치에 의해 생성되는 테스트 리포트의 일례를 도시한다.
도 7은 일실시예에 따른 게임 테스트 자동화 장치에 의한 게임 테스트 자동화 방법을 설명하기 위한 흐름도이다.
실시예들에 대한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 본 명세서의 범위는 개시된 실시예들의 특정한 형태로 한정되는 것이 아니라 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도와 다르게 수행될 수 있다. 예를 들어, 연속하는 두 블록들이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 해당 블록들의 순서가 뒤바뀌어 수행될 수도 있다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
게임 테스트 자동화 장치는 미리 결정된 테스트 시나리오에 기초하여 자동으로 게임 서비스에 대한 테스트를 수행하도록 함으로써 테스터가 직접 게임 플레이를 수행하지 않고 게임 서비스에 대한 테스트를 수행하는 장치를 의미할 수 있다. 여기에서 테스트는 개발자가 의도한 바대로 게임 서비스의 게임 빌드가 동작하는 지 여부를 검증하는 동작을 의미할 수 있다. 게임 빌드라는 용어는 게임 테스트 자동화 장치가 최종적으로 테스트하고자 하는 실행 파일을 의미할 수 있고, 스크립트란 용어는 테스트가 자동으로 진행되기 위하여 코드로 작성된 테스트 시나리오를 의미할 수 있다. 또한 테스트 프로시져(Test Procedure)라는 용어는 복수의 스크립트들이 테스트 과정에서 진행될 수 있도록 생성된 스크립트들의 조합을 의미할 수 있다.
도 1은 일실시예에 따른 개발자 및 테스터 관점에서의 게임 테스트 자동화 방법을 도시하는 흐름도이다.
도 1을 참조하면, 개발자(110)는 게임 빌드(120)를 개발하고, 개발된 게임 빌드(120)를 인터넷 상에 업로드할 수 있다. 개발된 게임 빌드(120)는 개발자(110)가 의도하지 않은 오류를 포함할 수 있기 때문에, 개발자의 의도대로 게임 빌드(120)가 동작하는 지 여부가 검증되기 위해서, 개발된 게임 빌드(120)는 테스트를 거칠 수 있다. 개발자는 과정(130)을 통해 게임 빌드(120)를 테스트하기 위한 게임 스크립트를 직접 작성할 수 있다.
테스트를 진행하기 위하여 테스터(113)의 테스트 디바이스 상에 게임 빌드(120)가 설치될 수 있고, 테스터(113)는 과정(130)을 통해 게임 빌드(120)를 테스트하기 위한 게임 스크립트를 작성할 수 있다. 또한, 테스터(113)는 과정(140)을 통해 작성된 게임 스크립트들이 조합된 테스트 프로시져(Test Procedure) 정보를 작성할 수 있다. 테스터(113)는 과정(150)을 통해 테스트 디바이스에 테스트 프로시져의 수행을 지시할 수 있다. 예를 들어, 테스터(113)에 의해 테스트 프로시져가 실행되는 게임 빌드(120) 상의 시점이 결정될 수 있고, 테스터(113)에 의해 설정된 시점이 도래하는 경우, 게임 테스트 자동화 장치는 자동적으로 테스트 프로시져 정보에 기초한 테스트를 수행할 수 있다. 테스터(113)는 게임 테스트 자동화 장치가 테스트 수행을 시작하는 시간을 예약할 수 있고, 게임 테스트 자동화 장치는 테스터(113)가 예약한 시간에 게임 빌드(120)의 테스트의 수행을 시작할 수 있다. 과정(160)에서 테스터(113) 및 개발자(110)는 테스트 수행 과정에서 생성된 테스트 결과 정보를 검토하고, 테스트 결과 정보를 통해 게임 빌드 상의 오류를 확인할 수 있고, 확인된 오류를 수정함으로써 게임 빌드를 개선시킬 수 있다.
도 2는 일실시예에 따른 게임 테스트 자동화 장치의 전체적인 구성을 도시하는 도면이다.
도 2를 참조하면, 게임 테스트 자동화 장치는 게임 스크립트 및 테스트 프로시져를 관리하는 게임 스크립트 및 테스트 프로시져 관리부(220), 게임 빌드에 대한 정보, 게임 스크립트 및 테스트 프로시져 정보를 저장하는 데이터베이스(250), 테스트 프로시져 정보에 기초하여 게임 서비스의 게임 빌드에 대한 테스트를 수행하는 테스트 수행부(210), 외부의 테스트 디바이스와 통신을 수행하는 통신부(230), 테스트 진행 상황을 디스플레이하는 디스플레이부(240)를 포함할 수 있다.
일실시예에 따르면, 게임 스크립트 및 테스트 프로시져 관리부(220)는 사용자 입력에 기초하여 게임 스크립트들 또는 게임 스크립트들이 조합된 테스트 프로시져 정보를 생성할 수 있다. 게임 스크립트들 및 테스트 프로시져 정보가 생성되는 구체적인 방법은 도 3 및 도 4를 통해 구체적으로 설명될 것이다. 게임 스크립트 및 테스트 프로시져 관리부(220)에 의해 생성된 게임 스크립트들 및 테스트 프로시져 정보는 데이터베이스(250)에 저장될 수 있다. 게임 서비스의 게임 빌드 또한 데이터베이스(250)에 저장될 수 있다. 저장되는 게임 빌드는 사전에 분석되어 용량, 버전, 탑재된 모듈 등과 같은 게임 빌드에 대한 정보가 결정될 수 있다.
테스트 수행부(210)는 데이터베이스(250)에 저장된 테스트 프로시져 정보에 기초하여 데이터베이스(250)에 저장된 게임 서비스의 게임 빌드에 대한 테스트를 수행할 수 있다. 예를 들어, 테스트 수행부(210)는 사용자 입력에 기초하여 데이터 베이스(250)에 저장된 게임 빌드 중 어떠한 게임 빌드에 대하여, 데이터베이스(250)에 저장된 테스트 프로시져 정보 중 어떠한 테스트 프로시져에 기초하여 테스트를 수행할 지 여부를 결정할 수 있고, 결정된 게임 빌드의 어떠한 시점에 결정된 테스트 프로시져에 대응하는 동작을 수행할 지 여부를 결정할 수 있다. 테스트 수행부(210)는 게임 빌드에 대한 테스트 수행 과정에서 도출된 게임 상태 정보 및 테스트의 테스트 결과 정보를 생성할 수 있다. 또한, 외부의 테스트 디바이스에 의해 테스트가 진행되는 경우, 테스트 수행부(210)는 테스트 디바이스를 통해 게임 서비스의 게임 빌드에 대한 테스트를 수행하기 위해 테스트 디바이스를 제어하는 제어 신호를 생성할 수 있고, 생성된 제어 신호를 통신부(230)를 통해 테스트 디바이스에 전송함으로써 테스트 디바이스를 제어할 수 있다. 제어 신호에 기초하여 테스트 디바이스에서 게임 빌드에 대한 테스트가 수행될 수 있고, 테스트 수행부(210)는 테스트 디바이스에서 수행된 테스트에 대한 정보에 기초하여 게임 상태 정보 및 테스트 결과 정보를 생성할 수 있다.
게임 상태 정보는 게임 서비스 내의 다양한 상태에 대한 정보를 포함할 수 있다. 예를 들어, 게임 상태 정보는 게임 서비스 내의 특정 이미지에 대한 정보(예를 들어, 특정한 이미지 객체가 무엇인지에 대한 정보), 특정 문자에 대한 정보, 게임 서비스의 현재 상황(예를 들어, 아이템 구매 상황)에 대한 정보들을 포함할 수 있다.
게임 상태 정보는 이미지 인식을 통해 결정될 수 있다. 예를 들어, 게임 서비스 내의 이미지 또는 텍스트가 OCR(Optical Character Reader)을 통해 인식될 수 있다. 또한 게임 상태 정보는 게임 서비스의 게임 빌드에 내장된 라이브러리에 기초하여 결정될 수 있다. 예를 들어, 게임 빌드에 내장된 라이브러리는 게임 상태 정보에 대응되는 텍스트 데이터를 포함할 수 있고, 테스트 수행부(210)는 게임 빌드에 내장된 라이브러리에 포함된 텍스트 데이터에 기초하여 게임 상태에 대한 정보를 결정할 수 있다. 예를 들어, 게임 빌드에 내장되는 라이브러리는 게임 서비스 내의 이미지 오브젝트에 대응되는 텍스트 정보, 추상화된 원격 호출(Abstract RPC(Remote Procedure Call))과 관련된 정보를 포함할 수 있다. 또 다른 예시에서, 게임 상태 정보는 테스트 수행 과정에서 생성된 로그 정보에 기초하여 결정될 수 있다. 예를 들어, 테스트 수행부(210)는 테스트 디바이스의 테스트 수행 과정에서 생성되는 로그 정보를 분석함으로써 게임 상태에 대한 정보를 결정할 수 있다. 로그 정보는 별도의 웹 프록시 서버를 통한 로그 후킹을 통해 획득될 수 있다.
일실시예에 따르면, 테스트 리포트는 테스트 결과에 대한 정보, 테스트가 수행되는 테스트 디바이스의 성능에 대한 정보, 로그 정보, 테스트가 수행되는 상황이 포함된 영상 정보 중 적어도 하나를 포함할 수 있다.
테스트 결과 정보에 대한 정보는 테스트 프로시져 정보에 포함된 개별 게임 스크립트에 대한 테스트 결과 정보를 포함할 수 있다. 테스트 수행부(210)는 개별 게임 스크립트에 포함된 개별 테스트 케이스 중 적어도 하나가 예외 상태라고 판단되면 게임 스크립트의 테스트에 에러가 발생된 것으로 결정할 수 있고, 적어도 하나의 테스트 케이스가 실패 상태로 판단되면 게임 스크립트의 테스트가 실패한 것으로 결정할 수 있다. 또한, 예외 상태 혹은 실패 상태로 판단된 테스트 케이스가 존재하지 않지만, 적어도 하나의 테스트 케이스가 미실행 상태로 판단된 경우, 테스트 수행부(210)는 게임 스크립트의 테스트가 실행 중인 것으로 결정할 수 있다. 모든 테스트 케이스가 성공 상태로 판단된 경우, 테스트 수행부(210)는 게임 스크립트의 테스트가 성공한 것으로 결정할 수 있다. 테스트 수행 중 사용자 입력에 기초하여 강제 종료 요청이 발생한 경우, 테스트 수행부(210)는 게임 스크립트의 테스트가 종료된 것으로 결정할 수 있다.
테스트 디바이스 성능에 대한 정보는 테스트가 수행되는 테스트 디바이스의 CPU, 메모리, 배터리 등에 대한 시계열적인 사용량에 대한 정보를 포함할 수 있다.
일실시예에 따르면, 테스트 리포트에 포함되는 로그 정보는, 테스트 상황을 캡쳐한 이미지 정보, 테스트 상황에 대한 텍스트 정보, 테스트 디바이스의 자체 로그 정보, 테스트 수행 과정에서 테스트 디바이스가 호출한 웹 전송 로그 정보 중 적어도 하나를 포함할 수 있다. 예를 들어, 이미지 정보는 미리 결정된 시간 주기에 따라 테스트 상황을 캡쳐한 이미지 정보를 포함할 수 있다. 텍스트 정보는 테스트 구간 별로 테스트 시나리오의 진행 상황 및 현재 상태에 대한 정보를 포함할 수 있다. 테스트 디바이스 로그 정보는 테스트 구간 별로 테스트 디바이스가 자체적으로 기록하는 로그 정보일 수 있다. 테스트 디바이스 로그 정보는 테스트가 비정상적으로 종료될 경우 종료 원인을 검증하는 데에 사용될 수 있다. 웹 전송 로그 정보는 테스트 구간 별로 테스트 디바이스가 호출한 웹 전송 로그 정보일 수 있다.
일 실시예에 따르면 테스트 리포트에 포함되는 테스트가 수행되는 상황이 포함된 영상 정보는 테스트 수행 과정이 모두 기록된 동영상 정보에 해당할 수 있다.
일실시예에 따르면 디스플레이부(240)는 테스트가 진행되는 상황을 디스플레이할 수 있다. 예를 들어, 디스플레이부(240)는 게임 테스트 자동화 장치에 의해 테스트가 진행되는 상황을 실시간으로 디스플레이하거나, 외부의 테스트 디바이스에 의해 게임 빌드에 대한 테스트가 진행되는 경우, 테스트가 수행되는 테스트 디바이스의 화면을 실시간으로 디스플레이할 수 있다. 또한, 게임 테스트 자동화 장치가 복수의 테스트 디바이스를 제어하는 경우, 복수의 테스트 디바이스의 각각의 현재 화면을 실시간으로 디스플레이할 수 있다. 테스터는 디스플레이부(240)를 통해 각각의 테스트 디바이스에서 진행되는 테스트 진행 상황을 인식할 수 있고 이를 통해 가용한 테스트 디바이스를 식별할 수 있다. 디스플레이부(240)를 통해 테스트 상황이 디스플레이되는 일례는 도 5를 통해 도시된다.
도 3은 일실시예에 따른 게임 스크립트가 생성되는 방법을 설명하기 위한 화면의 일례를 도시하는 도면이다.
화면(320)은 게임 서비스가 실행 중인 테스트 디바이스의 화면에 디스플레이된 인터페이스를 도시한다. 게임 테스트 자동화 장치는 화면(320)에 디스플레이된 인터페이스를 통해 게임 플레이가 진행되는 방식과 유사한 방식으로 게임 스크립트를 생성하기 위한 입력이 수신할 수 있다. 게임 테스트 자동화 장치의 게임 스크립트 및 테스트 프로시져 관리부는 화면(320)을 통해 입력된 내용에 대응하는 게임 스크립트 생성하여 화면(310)에 디스플레이할 수 있다. 예를 들어, 테스터 혹은 개발자에 의해 화면(310)의 보관함 버튼(321)이 탭(tap)되고, 그 다음 나가기 버튼(323)이 탭되고, 60초간 대기하는 동작이 수행된 경우, 화면(310)은 수행된 동작에 대응하여 생성된 게임 스크립트를 도시할 수 있다. 생성된 게임 스크립트는 보관함 확인과 관련된 테스트 케이스 1(311) 및 나가기 동작과 관련된 테스트 케이스 2(313)을 포함할 수 있다. 각각의 테스트 케이스(311, 313)는 동작 내용에 대한 정보(예: 버튼을 탭함.), 동작 수행 위치(예: 버튼의 위치)에 대한 정보 등을 포함할 수 있다.
도 4는 일실시예에 따른 게임 스크립트 및 테스트 프로시져 관리부에 의해 생성된 테스트 프로시져의 일례를 도시하는 도면이다.
일실시예에 따르면 테스트 프로시져 정보는 게임 스크립트들의 조합에 의해 결정될 수 있다. 또한 테스트 프로시져 정보는 테스트 프로시져 정보에 포함된 게임 스크립트들의 실행 순서에 대한 정보를 포함할 수 있다. 예를 들어, 테스트 프로시져 정보를 메인 스크립트가 수행되기 전에 수행되는 전처리 스크립트, 메인 스크립트, 메인 스크립트가 실행된 후에 실행되는 후처리 스크립트를 포함할 수 있고, 프로시저에 포함된 스크립트는 전처리 스크립트, 메인 스크립트, 후처리 스크립트 순으로 실행될 수 있다. 전처리 스크립트는 메인 스크립트가 수행되기 전에 수행되는 스크립트로써, 예를 들어 로그인 동작, 보관함을 채우기 전에 보관함을 비우는 동작을 포함할 수 있다. 메인 스크립트는 테스트하고자 하는 주된 스크립트들일 수 있고, 도 4를 참조하면 메인 스크립트는 메인 스크립트 1, 메인 스크립트 2, 메인 스크립트 3 순으로 실행될 수 있다. 후처리 스크립트는 메인 스크립트가 실행된 뒤 실행되는 스크립트를 의미할 수 있고, 메인 스크립트에 해당하는 동작들이 수행되기 전 상태로 상태 변경을 하는 동작을 포함할 수 있다. 각각의 스크립트에 포함되는 동작의 내용 및 순서 등은 제시된 예시에 한정되지 않는다.
일실시예에 따르면 테스트 프로시져 정보는 프로시져 정보에 포함된 게임 스크립트들 중 복수의 테스트 디바이스에 의해 동시에 실행되는 게임 스크립트들에 대한 정보를 포함할 수 있다. 예를 들어 메인 스크립트에 포함된 메인 스크립트 1, 메인 스크립트 2, 메인 스크립트 3은 각각 별도의 테스트 디바이스에 의해 동시에 실행될 수 있고, 동시에 실행되는 스크립트들에 대한 정보는 별도의 표시를 통해 테스트 프로시져 정보에 포함될 수 있다. 동시에 메인 스크립트들이 실행되는 경우 순차적으로 메인 스크립트들이 실행되는 경우보다 테스트의 시간의 효율성이 증대될 수 있다.
도 5는 일실시예에 따른 게임 테스트 자동화 장치의 디스플레이부에 도시되는 테스트 디바이스의 화면들의 일례를 도시한다.
도 5를 참조하면, 게임 테스트 자동화 장치의 디스플레이부는 3 개의 테스트 디바이스의 실시간 화면을 디스플레이할 수 있다. 제시된 예시에서는 화면(510)에 대응되는 테스트 디바이스는 현재 테스트를 수행 중이고, 나머지 화면(520, 530)에 대응되는 테스트 디바이스들은 현재 테스트를 수행하지 않고 있는 상황을 도시한다. 이 경우 화면(520, 530)에 대응되는 테스트 디바이스들은 추가적으로 테스트를 수행하기 위한 테스트 디바이스로 결정될 수 있다.
도 6은 일실시예에 따른 테스트 자동화 장치에 의해 생성되는 테스트 리포트의 일례를 도시한다.
도 6을 참조하면, 게임 스크립트에 포함된 테스트 케이스에 대한 테스트 결과에 대한 정보를 포함하는 영역(610), 게임 스크립트에 대한 테스트 결과에 대한 정보를 포함하는 영역(620), 로그 정보를 포함하는 영역(630) 및 테스트 디바이스의 성능 정보를 포함하는 영역(640)을 포함할 수 있다.
영역(610)을 참조하면 총 31개의 테스트 케이스에서 20개이 테스트 케이스가 성공 상태로 판단되고, 10개의 테스트 케이스가 미실행 상태로 판단되며, 1개의 테스트 케이스가 실패 상태로 판단된 것을 알 수 있다. 영역(620)을 참조하면 1개의 테스트 케이스가 실패 상태로 결정된 것에 기인하여 게임 스크립트가 실패한 것으로 결정된 것을 알 수 있다. 영역(630)은 테스트 수행에 따라 생성된 로그 및 기타 로그 정보를 제시할 수 있고, 영역(640)은 테스트 디바이스의 CPU, 메모리 등의 시계열적인 사용 정보를 제시할 수 있다.
도 7은 일실시예에 따른 게임 테스트 자동화 장치에 의한 게임 테스트 자동화 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 단계(710)에서 게임 테스트 자동화 장치는 게임 서비스 내에서 테스트하고자 하는 게임 스크립트들의 조합인 테스트 프로시저 정보를 생성할 수 있다. 테스트 프로시저 정보는 게임 스크립트들이 실행되는 순서에 대한 정보 및 복수의 테스트 디바이스에 의해 동시에 수행되는 게임 스크립트들에 대한 정보를 포함할 수 있다.
단계(720)에서 게임 테스트 자동화 장치는 생성된 테스트 프로시져 정보에 기초하여 게임 서비스의 게임 빌드에 대한 테스트를 수행할 수 있다. 사용자 입력에 기초하여 결정된 게임 빌드 내의 특정 시점에 테스트 프로시져 정보에 포함된 게임 스크립트들이 실행될 수 있다. 게임 스크립트들이 실행됨에 따라 개발자가 의도하지 않은 오류가 게임 빌드 상에 발생하는 것을 확인할 수 있고, 이를 통해 게임 빌드에 내재된 오류가 검출될 수 있다. 외부의 테스트 디바이스에 의해 게임 빌드에 대한 테스트가 수행되는 경우, 게임 테스트 자동화 장치는 테스트 디바이스에서 게임 빌드에 대한 테스트를 수행하기 위해 테스트 디바이스를 제어하는 제어 신호를 생성하고, 생성된 제어 신호를 테스트 디바이스에 전송할 수 있고, 테스트 디바이스에서 수행되는 테스트의 수행 과정에서 도출된 게임 상태 정보 및 수행된 테스트에 대한 테스트 리포트를 생성할 수 있다. 테스트 리포트는 테스트 결과에 대한 정보, 테스트가 수행되는 테스트 디바이스의 성능에 대한 정보, 로그 정보 및 테스트가 수행되는 상황이 포함된 영상 정보 중 적어도 하나를 포함할 수 있다.
단계(730)에서 게임 테스트 자동화 장치는 테스트 수행 과정에서 도출된 게임 상태 정보 및 테스트에 대한 테스트 리포트를 생성할 수 있다.
실시예들에서 설명된 구성요소들은 하나 이상의 DSP (digital signal processor), 프로세서, 컨트롤러, ASIC (application specific integrated circuit), FPGA (field programmable gate array)와 같은 프로그래머블 논리 소자, 다른 전자 기기들 및 이것들의 조합 중 하나 이상을 포함하는 하드웨어 구성 요소에 의해 구현될 수 있다. 실시예들에서 설명된 과정들 또는 기능들 중 적어도 일부는 소프트웨어에 의해 구현될 수 있고, 해당 소프트웨어는 기록 매체에 기록될 수 있다. 실시예들에서 설명된 구성요소들, 기능들 및 과정들은 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (16)

  1. 게임 테스트 자동화 장치에 있어서,
    게임 서비스와 관련하여 테스트하고자 하는 게임 스크립트에 대한 정보를 저장하는 데이터베이스; 및
    상기 게임 스크립트에 대한 정보에 기초하여 상기 게임 서비스에 대한 테스트를 수행하는 테스트 수행부를 포함하고,
    상기 게임 스크립트는, 상기 게임 스크립트를 생성하기 위한 사용자 입력을 수신하기 위해 제공되는 인터페이스에 기초하여 생성되고,
    상기 인터페이스를 통해, 게임 플레이가 진행되는 방식으로 상기 게임 스크립트를 생성하기 위한 사용자 입력이 수신되고,
    상기 게임 플레이가 진행되는 방식으로 입력된 사용자 입력에 의해, 상기 사용자 입력에 대응하는 동작, 복수의 동작들의 수행 순서, 동작의 지속 시간 및 동작의 수행 위치에 대한 정보를 포함하는 게임 스크립트가 생성되고,
    상기 테스트 수행부는, 상기 테스트의 수행 결과에 기초하여 테스트 리포트를 생성하고,
    상기 테스트 리포트는, 상기 게임 스크립트에 대한 테스트 결과 정보, 상기 테스트가 수행되는 테스트 디바이스의 성능에 대한 정보, 테스트 구간 별로 테스트 시나리오의 진행 상황 및 현재 상태에 대한 정보, 및 상기 테스트의 수행 과정이 기록된 동영상 정보를 포함하는,
    게임 테스트 자동화 장치.
  2. 제1항에 있어서,
    상기 게임 스크립트는,
    대기하는 동작에 대한 정보를 더 포함하는, 게임 테스트 자동화 장치.
  3. 제1항에 있어서,
    상기 게임 스크립트는,
    복수의 테스트 디바이스들에 의해 동시에 실행되는 게임 스크립트인, 게임 테스트 자동화 장치.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 테스트 수행부는, 상기 테스트의 수행 과정에서 도출된 게임 상태 정보를 생성하고,
    상기 게임 상태 정보는, 상기 게임 서비스 내의 이미지 또는 텍스트의 인식을 통해 결정되는, 게임 테스트 자동화 장치.
  8. 제1항에 있어서,
    상기 게임 서비스의 테스트를 수행하는 테스트 디바이스와 통신을 수행하는 통신부
    를 더 포함하고,
    상기 테스트 수행부는,
    상기 테스트 디바이스를 통해 게임 서비스에 대한 테스트를 수행하기 위해 상기 테스트 디바이스를 제어하는 제어 신호를 생성하고,
    상기 통신부를 통해 상기 제어 신호를 상기 테스트 디바이스에 전송하고, 상기 전송된 제어 신호에 기초하여 상기 테스트 디바이스에서 상기 테스트를 수행하고, 상기 테스트에 대한 테스트 결과 정보를 생성하는, 게임 테스트 자동화 장치.
  9. 제1항에 있어서,
    상기 테스트가 수행되는 테스트 디바이스의 화면을 실시간으로 디스플레이하거나 또는 상기 게임 테스트 자동화 장치에 의해 테스트가 진행되는 상황을 실시간으로 디스플레이하는 디스플레이부
    를 더 포함하는 게임 테스트 자동화 장치.
  10. 게임 테스트 자동화 장치에 의해 수행되는 게임 테스트 자동화 방법에 있어서,
    게임 서비스와 관련하여 테스트하고자 하는 게임 스크립트에 대한 정보를 생성하는 단계;
    상기 게임 스크립트에 대한 정보에 기초하여 상기 게임 서비스에 대한 테스트를 수행하는 단계; 및
    상기 테스트에 대한 테스트 리포트를 생성하는 단계를 포함하고,
    상기 게임 스크립트는, 상기 게임 스크립트를 생성하기 위한 사용자 입력을 수신하기 위해 제공되는 인터페이스에 기초하여 생성되고,
    상기 인터페이스를 통해, 게임 플레이가 진행되는 방식으로 상기 게임 스크립트를 생성하기 위한 사용자 입력이 수신되고,
    상기 게임 플레이가 진행되는 방식으로 입력된 사용자 입력에 의해, 상기 사용자 입력에 대응하는 동작, 복수의 동작들의 수행 순서, 동작의 지속 시간 및 동작의 수행 위치에 대한 정보를 포함하는 게임 스크립트가 생성되고,
    상기 테스트 리포트는, 상기 게임 스크립트에 대한 테스트 결과 정보, 상기 테스트가 수행되는 테스트 디바이스의 성능에 대한 정보, 테스트 구간 별로 테스트 시나리오의 진행 상황 및 현재 상태에 대한 정보, 및 상기 테스트의 수행 과정이 기록된 동영상 정보를 포함하는,
    게임 테스트 자동화 방법.
  11. 제10항에 있어서,
    상기 게임 스크립트는,
    대기하는 동작에 대한 정보를 더 포함하는, 게임 테스트 자동화 방법.
  12. 제10항에 있어서,
    상기 게임 스크립트는,
    복수의 테스트 디바이스들에 의해 동시에 실행되는 게임 스크립트인, 게임 테스트 자동화 방법.
  13. 삭제
  14. 삭제
  15. 제10항에 있어서,
    상기 테스트를 수행하는 단계는,
    상기 테스트의 수행 과정에서 도출된 게임 상태 정보를 생성하는 단계를 포함고,
    상기 게임 상태 정보는, 상기 게임 서비스 내의 이미지 또는 텍스트의 인식을 통해 결정되는, 게임 테스트 자동화 방법.
  16. 제10항 내지 제12항 및 제15항 중 어느 한 항에 기재된 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020180083824A 2018-07-19 2018-07-19 게임 테스트 자동화 장치 및 방법 KR102243379B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180083824A KR102243379B1 (ko) 2018-07-19 2018-07-19 게임 테스트 자동화 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180083824A KR102243379B1 (ko) 2018-07-19 2018-07-19 게임 테스트 자동화 장치 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170103543A Division KR101881804B1 (ko) 2017-08-16 2017-08-16 게임 테스트 자동화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190019009A KR20190019009A (ko) 2019-02-26
KR102243379B1 true KR102243379B1 (ko) 2021-04-22

Family

ID=65562427

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180083824A KR102243379B1 (ko) 2018-07-19 2018-07-19 게임 테스트 자동화 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102243379B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7126355B2 (ja) 2018-02-21 2022-08-26 株式会社ニューフレアテクノロジー 荷電粒子ビーム検査方法
US11216358B2 (en) 2019-04-12 2022-01-04 GameDriver, Inc. Video game testing and automation framework
JP7362371B2 (ja) * 2019-09-03 2023-10-17 株式会社バンダイナムコエンターテインメント 処理システム及びプログラム
JP7362370B2 (ja) * 2019-09-03 2023-10-17 株式会社バンダイナムコエンターテインメント 処理システム及びプログラム
KR20220034327A (ko) 2020-09-11 2022-03-18 김수한 딥러닝 오브젝트 검출 기반의 스마트폰 애플리케이션 자동 제어방법
KR102481502B1 (ko) * 2020-10-22 2022-12-26 주식회사 엔씨소프트 테스트 자동화 서비스 장치 및 방법
KR20220086872A (ko) 2020-12-17 2022-06-24 한국전자통신연구원 인공지능 에이전트를 이용한 게임 품질 보증 방법 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101118602B1 (ko) * 2011-10-10 2012-02-27 어니컴 주식회사 장면 기반 테스트 자동화 방법 및 그 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140122414A (ko) * 2013-04-10 2014-10-20 에스케이플래닛 주식회사 검증 프로세스 관리 시스템 및 방법
KR101698029B1 (ko) * 2015-02-13 2017-01-20 어니컴 주식회사 스크립트를 이용한 자동 테스트 방법 및 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101118602B1 (ko) * 2011-10-10 2012-02-27 어니컴 주식회사 장면 기반 테스트 자동화 방법 및 그 시스템

Also Published As

Publication number Publication date
KR20190019009A (ko) 2019-02-26

Similar Documents

Publication Publication Date Title
KR101881804B1 (ko) 게임 테스트 자동화 장치 및 방법
KR102243379B1 (ko) 게임 테스트 자동화 장치 및 방법
US10853232B2 (en) Adaptive system for mobile device testing
US10176079B2 (en) Identification of elements of currently-executing component script
CN104281520B (zh) 跟踪和调试的方法、装置及系统
US20100115496A1 (en) Filter generation for load testing managed environments
US10162742B2 (en) System and method for end to end performance response time measurement based on graphic recognition
CN110013672B (zh) 用于机器运行的游戏的自动化测试的方法、设备、装置以及计算机可读存储介质
CN111124919A (zh) 一种用户界面的测试方法、装置、设备及存储介质
CN103729294B (zh) 应用软件性能脚本测试方法与装置
US11237948B2 (en) Rendering engine component abstraction system
CN104246714A (zh) 软件缺陷验证
CN112882930B (zh) 自动化测试方法、装置、存储介质及电子设备
CN109388556A (zh) 一种测试过程的分析方法及装置
Tuovenen et al. MAuto: Automatic mobile game testing tool using image-matching based approach
US9792195B2 (en) Terminal data logger
CN116719707A (zh) 一种bmc压力测试方法、装置及存储介质
CN110837467A (zh) 软件测试方法、装置以及系统
KR102430523B1 (ko) 웹 기반 모바일 디바이스 검증 자동화 플랫폼 시스템 및 그 검증 방법
KR101174716B1 (ko) 장비 검증 장치 및 시스템
CN113117340A (zh) 游戏运行方法、装置、存储介质及电子设备
US11520690B2 (en) Automated testing of walkthroughs
US20240211360A1 (en) Method and system for test script generation and execution
CN115061919A (zh) 播放器自动测试方法及装置
KR20120058753A (ko) 디버거를 이용한 임베디드 소프트웨어 단위 테스트 자동화 장치 및 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)