Game testing method and device, computer readable medium and electronic equipment
By using the user operation instruction file corresponding to the target game character and the version matching of the target logic core program in game testing, test playback on multiple versions of the game clients is achieved, solving the problems of limited test scenarios, high costs and out-of-synchronization in the existing technology, and improving testing efficiency and cost-effectiveness.
Patent Information
- Application Number
- CN202311371335.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-20
- Publication Date
- 2025-04-25
AI Technical Summary
In the prior art, user operation instruction files can only be played back on the corresponding version of the game package, resulting in limited game testing scenarios, high cost and low efficiency, and playing back on the mismatched version of the game package will lead to the game being out of synchronization.
By obtaining the user operation instruction file corresponding to the target game character and determining the target logic core program matching the file version, the user operation instruction file is parsed through the target logic core program, and the parsing results are run through the target game client to achieve playback, and at the same time, the screen during the playback process is recorded to determine the test results.
It realizes testing on multiple versions of the game client, improves game testing efficiency, reduces costs, and avoids game out-of-synchronization, expands the applicability of game testing scenarios.
Smart Images

Figure CN119868964A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of software testing technology, and in particular, to a game testing method, device, computer-readable medium, and electronic device. Background Art
[0002] Replaying a game is an important part of game testing. A common way to replay a game is to replay it according to a user operation command file.
[0003] However, at present, since a user operation command file can only be played back on the game package of its corresponding version, that is, the user operation command file cannot be played back on the game package of a version that does not match it, the game testing scenarios applicable to game playback are relatively narrow, and a large amount of manpower costs are required to conduct game testing, resulting in high game testing costs and low efficiency; and if the user operation command file is played back on a game package of an incompatible version, the actual playback performance of the game will be inconsistent with the original playback, which is a game asynchronism. Summary of the invention
[0004] The embodiments of the present application provide a game testing method, device, computer-readable medium and electronic device, which can expand the game testing scenarios applicable to playback to at least a certain extent, and can improve game testing efficiency and reduce costs.
[0005] Other features and advantages of the present application will become apparent from the following detailed description, or may be learned in part by the practice of the present application.
[0006] According to one aspect of an embodiment of the present application, a game testing method is provided, the method comprising: obtaining a user operation instruction file corresponding to a target game character, the user operation instruction file comprising a plurality of user operation instructions arranged in chronological order; determining a target logic core program whose version matches the user operation instruction file, the target logic core program being used to process and forward the user operation instructions; parsing the user operation instruction file through the target logic core program, and running the parsing result generated by the target logic core program through a target game client to be tested to replay the user operation instruction file; in the process of replaying the user operation instruction file, recording the target game client to obtain a recording screen; and determining a test result corresponding to the target game character based on the recording screen.
[0007] According to one aspect of an embodiment of the present application, a game testing device is provided, the device comprising: an acquisition unit, for acquiring a user operation instruction file corresponding to a target game character, the user operation instruction file comprising a plurality of user operation instructions arranged in chronological order; a first determination unit, for determining a target logic core program whose version matches the user operation instruction file, the target logic core program being used to process and forward the user operation instructions; a playback unit, for parsing the user operation instruction file through the target logic core program, and running the parsing result generated by the target logic core program through a target game client to be tested to replay the user operation instruction file; a recording unit, for recording the target game client during the playback of the user operation instruction file to obtain a recording screen; and a second determination unit, for determining a test result corresponding to the target game character based on the recording screen.
[0008] In some embodiments of the present application, based on the aforementioned scheme, the device also includes a protocol configuration unit; before parsing the user operation instruction file through the target logic core program and running the parsing result generated by the target logic core program through the target game client that needs to be tested, the protocol configuration unit is used to: obtain the protocol fields defined in the protocol file; for each of the protocol fields, generate identification information for uniquely identifying the protocol field, and add the identification information to the protocol file; configure the protocol file for the target game client and the target logic core program respectively, so that the target game client and the target logic core program communicate according to the protocol file.
[0009] In some embodiments of the present application, based on the aforementioned scheme, the device also includes an operation effect configuration unit; before the user operation instruction file is parsed by the target logic core program and the parsed result generated by the target logic core program is run through the target game client to be tested, the operation effect configuration unit is used to: obtain a first configuration file related to the target game character, the first configuration file includes a number of first operation effect information, and the first operation effect information is used to define the code logic triggered by the behavior of the target game character; for each first operation effect information, generate a first string uniquely corresponding to the first operation effect information, and add the first string to the first configuration file to bind the first string to the first operation effect information; configure the first configuration file to the target logic core program; obtain a second Configuration file, the second configuration file includes a plurality of second operation effect information, the second operation effect information is used to define the code logic triggered by the behavior of the target game character; for each second operation effect information, a second character string uniquely corresponding to the second operation effect information is generated, and the second character string is added to the second configuration file accordingly to bind the second character string to the second operation effect information; the second configuration file is configured to the target game client; the playback unit is configured to: parse the user operation instruction file and the first configuration file through the target logic core program to obtain each of the first character strings and the parsing result of the user operation instruction file; if the target game client determines that the second configuration file includes a first character string matching each of the first character strings, the parsing result of the user operation instruction file is run through the target game client.
[0010] In some embodiments of the present application, based on the aforementioned scheme, the protocol file corresponds to the second communication protocol, and the playback unit is configured to: parse the user operation instruction file according to the first communication protocol through the target logic core program to obtain the original parsing result, and convert at least a part of the original parsing result according to the second communication protocol.
[0011] In some embodiments of the present application, based on the aforementioned scheme, the first determination unit is configured to: obtain version number information of the game client that generates the user operation instruction file from the user operation instruction file; determine a list of game build products corresponding to the version number information; and determine the logical core program corresponding to the logical core program information in the list of game build products as the target logical core program.
[0012] In some embodiments of the present application, based on the aforementioned scheme, the device also includes a game operation configuration unit; before running the analysis result generated by the target logic core program through the target game client that needs to be tested, the game operation configuration unit is configured to: generate a game operation configuration file, and the game operation configuration file includes at least one of the following: game mode, game character identification in the game match, and quality parameters of the game display screen; configure the game operation configuration file to the target game client.
[0013] In some embodiments of the present application, based on the aforementioned scheme, the second determination unit is configured to: obtain a baseline recorded screen corresponding to the target game character; compare the recorded screen with the baseline recorded screen, and determine the test result corresponding to the target game character based on the comparison result.
[0014] In some embodiments of the present application, based on the aforementioned scheme, the user operation instruction file is a user operation instruction file corresponding only to the target game character or a user operation instruction file corresponding to the target game character entering the game match.
[0015] In some embodiments of the present application, based on the aforementioned solution, the target game client is a game client in the latest generated game build product.
[0016] According to one aspect of an embodiment of the present application, a computer-readable medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the game testing method described in the above embodiment is implemented.
[0017] According to one aspect of an embodiment of the present application, an electronic device is provided, comprising: one or more processors; a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the game testing method as described in the above embodiments.
[0018] According to one aspect of an embodiment of the present application, a computer program product is provided, which includes computer instructions, wherein the computer instructions are stored in a computer-readable storage medium, a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the game testing method described in the above embodiment.
[0019] In the technical solutions provided in some embodiments of the present application, a user operation instruction file corresponding to a target game character is first obtained, and a target logic core program whose version matches that of the user operation instruction file is determined. Then, the user operation instruction file is parsed by the target logic core program, and the parsed result generated by the target logic core program is run by the target game client to be tested, so as to realize the playback of the user operation instruction file. Therefore, the embodiments of the present application realize the decoupling between the game client and the logic core program, and each version of the game client can be tested only by matching the version of the user operation instruction file with that of the target logic core program. Therefore, it can be realized by The user operation instruction file is obtained once and continuously used in the playback of various subsequent versions of the game client, thereby realizing cross-version reuse of the user operation instruction file. On this basis, the test result is determined according to the recorded screen obtained in the process of replaying the user operation instruction file, which can improve the game testing efficiency and reduce the game testing cost. Since the version of the user operation instruction file and the target logic core program are matched, the game will not be out of sync. In addition, the method provided in the embodiment of the present application can also use real game data from the external network for testing, and can be used in various test scenarios such as integration testing, full testing, experience testing and performance testing.
[0020] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The drawings herein are incorporated into the specification and constitute a part of the specification, showing embodiments consistent with the present application, and together with the specification, are used to explain the principles of the present application. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. In the drawings:
[0022] Figure 1 A schematic diagram showing an exemplary system architecture to which the technical solution of the embodiments of the present application can be applied;
[0023] Figure 2 A flowchart of a method for testing a game according to an embodiment of the present application is shown;
[0024] Figure 3 A schematic diagram of an overall process according to an embodiment of the present application is shown;
[0025] Figure 4 A schematic diagram of a display interface corresponding to an abs file in a project platform according to an embodiment of the present application is shown;
[0026] Figure 5 A schematic diagram of a recording and playback task management interface in a project platform according to an embodiment of the present application is shown;
[0027] Figure 6 An embodiment according to the present application is shown. Figure 2 A flowchart of the details of step 220 in an embodiment;
[0028] Figure 7 A storage structure diagram of an abs file according to an embodiment of the present application is shown;
[0029] Figure 8 A schematic diagram of editing a pb protocol body in the related art is shown;
[0030] Fig. 9 A flowchart showing the steps before a user operation instruction file is parsed by a target logic core program and a parsing result generated by the target logic core program is run by a target game client to be tested according to an embodiment of the present application;
[0031] Fig.10 A schematic diagram showing part of the contents of a modified protocol file according to an embodiment of the present application is shown;
[0032] Fig.11 A schematic diagram of a process of cross-version playback under state synchronization according to an embodiment of the present application is shown;
[0033] Fig.12 A schematic diagram of the structure of an Age file according to an embodiment of the present application is shown;
[0034] Fig.13 A schematic diagram showing part of the contents of a configuration file with a character string added according to an embodiment of the present application is shown;
[0035] Fig.14 An embodiment according to the present application is shown. Figure 2 Flowchart of steps before step 250 in the embodiment;
[0036] Fig.15 A schematic diagram showing the contents of a game running configuration file according to an embodiment of the present application is shown;
[0037] Fig.16 An embodiment according to the present application is shown. Figure 2 A flowchart of the details of step 270 in an embodiment;
[0038] Fig.17 A schematic diagram of a comparison task management interface in a project platform according to an embodiment of the present application is shown;
[0039] Fig.18 A schematic diagram of the process of automated testing according to an embodiment of the present application is shown;
[0040] Fig.19 A block diagram of a game testing device according to an embodiment of the present application is shown;
[0041] Fig. 20 A schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present application is shown. DETAILED DESCRIPTION
[0042] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this application will be more comprehensive and complete and fully convey the concept of the example embodiments to those skilled in the art.
[0043] In addition, described feature, structure or characteristic can be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present application. However, those skilled in the art will appreciate that the technical scheme of the present application can be put into practice without one or more of the specific details, or other methods, components, devices, steps, etc. can be adopted. In other cases, known methods, devices, realizations or operations are not shown or described in detail to avoid blurring the various aspects of the application.
[0044] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0045] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.
[0046] A frame-synchronized game is one in which multiple players operate simultaneously in the same game scene. The operations of each player are synchronized to a common frame through frame synchronization technology, so that all players can play the game at the same time.
[0047] In the related art, in the playback solution adopted by the industry for frame synchronization games, the same user operation instruction file can only be played back on the game package with the corresponding version number, which poses a great limitation.
[0048] Specifically, the same version of user operation command files are played back on the same version of the client. Since they cannot be reused across versions, the application scenario is limited to reproducing some external network feedback problems, but it is not very helpful in reducing internal R&D costs.
[0049] Although the related art also proposes to optimize the reuse of ABS files as much as possible by frame slicing, there are still many defects, as follows:
[0050] 1. The user operation command file is a collection of frame synchronization commands. There is still a risk of game asynchrony in subsequent version iterations.
[0051] 2. This solution resulted in the number of hero slice use cases reaching 22,000, and the maintenance cost was extremely high.
[0052] 3. Video slicing, as a hero use case, cannot cover real game scenarios and cannot be used in more test scenarios, such as performance testing.
[0053] To this end, the present application first provides a game testing method. The game testing method provided based on the embodiment of the present application can overcome the above-mentioned defects. Not only can the user operation instruction file obtained by one-time recording be continuously played back in the subsequent version of the client for use, thereby improving the test efficiency, reducing the test cost, and avoiding the occurrence of asynchronous games, but also enriching the test scenarios, and using the real game data of the external network, and the test application is more abundant. The game testing method can cover all aspects such as integration testing, full testing, experience testing and performance testing.
[0054] Figure 1 A schematic diagram of an exemplary system architecture to which the technical solution of the embodiment of the present application can be applied is shown. Figure 1As shown, the system architecture 100 may include a first user terminal 110, a web server 120, a test terminal 130, a second user terminal 140, and a game version storage server 150. Communication connections are established between the second user terminal 140 and the game version storage server 150, as well as between the first user terminal 110, the test terminal 130, the game version storage server 150 and the web server 120. A test task management platform is deployed on the web server 120. The web server 120 stores a list of game build products corresponding to each game build version number and list information of user operation instruction files. A client capable of accessing the test task management platform is deployed on the first user terminal 110. The game version storage server 150 stores a number of pre-recorded user operation instruction files corresponding to the list information of the user operation instruction files. The web server 120 may be the execution subject of the embodiment of the present application. When a game testing method provided in the embodiment of the present application is applied to Figure 1In the system architecture shown in the figure, a process may be as follows: first, the second user terminal 140 periodically sends a group of game build products to the game version storage server 150, each game build product may be a package of a logic core program or a package of a game client, the game version storage server 150 generates a game build version number and game build product information corresponding to the group of game build products, and sends the game build version number and game build product information to the web server 120, the web server 120 creates a game build product list according to the game build product information, and stores the game build version number and the game build product information in correspondence; then, the user accesses the game through the first user terminal 1 The client on the first user terminal 10 accesses the test task management platform on the web server 120, and the test task management platform returns a web page to the client on the first user terminal 110, on which the list information of the user operation instruction file is displayed; then, the test task management platform receives a trigger instruction for the list information of the user operation instruction file, obtains the user operation instruction file information indicated by the trigger instruction, and creates a task corresponding to the user operation instruction file information; then, when the user requests to start the task, the test task management platform sends a request carrying the user operation instruction file information corresponding to the task to the game version storage server 150, and obtains the task created by the game version storage server 150 according to the request. The test task management platform then parses the user operation instruction file to obtain the game build version number contained therein, and determines the logic core program information in the game build product list corresponding to the game build version number; then, the test task management platform sends a program acquisition request carrying the logic core program information to the game version storage server 150, and obtains the package body of the target logic core program corresponding to the logic core program information returned by the game version storage server 150 according to the request; the game version storage server 150 also sends the target game client that needs to be tested to the web server 120. package body; then, the web server 120 automatically installs the target logic core program and the target game client to the test terminal 130, and sends the user operation instruction file to the test terminal 130. The test terminal 130 runs the target logic core program and the target game client. The target logic core program parses the user operation instruction file and sends the parsing result to the target game client. The target game client replays the user operation instruction file according to the parsing result. The test terminal 130 records the target game client during this process and returns the recorded screen to the web server 120. The web server 120 determines the test result according to the recorded screen.
[0055] In some embodiments of the present application, the package of the target game client to be tested is the game build product newly obtained by the game version storage server 150 on that day; or
[0056] The package of the target game client to be tested is specified by the user by accessing the test task management platform; or
[0057] The package of the target game client that needs to be tested is the package of all or any one of the game clients stored in the game version storage server 150 .
[0058] In some embodiments of the present application, the task corresponding to the user operation instruction file information is automatically triggered for execution after the test task management platform detects that the game version storage server 150 has received the package body of the logical core program that matches the user operation instruction file information.
[0059] In some embodiments of the present application, when creating a task, the user will also configure the game operation configuration information such as the game mode. The web server 120 will also generate a game operation configuration file based on the game operation configuration information configured by the user, and send the game operation configuration file to the test terminal 130. The test terminal 130 will configure the target game client, and the target game client will replay based on the game operation configuration file.
[0060] In some embodiments of the present application, the test task management platform displays the test results through its page.
[0061] In some embodiments of the present application, the user operation instruction file is generated based on the user's actual game experience.
[0062] It should be understood that Figure 1 The number of the first user terminal, web server, test terminal, second user terminal, and game version storage server is only illustrative. According to the implementation requirements, any number of the first user terminal, web server, test terminal, second user terminal, and game version storage server can be set. For example, the first user terminal, the second user terminal, and the test terminal are all multiple, and the web server and the game version storage server are a server cluster composed of multiple servers.
[0063] It should be noted that Figure 1 The embodiment shown is only one embodiment of the present application. Figure 1In the scheme of the embodiment, the first user terminal and the second user terminal are both desktop computers, and the test terminal is a smart phone. However, in other embodiments of the present application, the first user terminal, the second user terminal, and the test terminal may also be various types of terminals or devices such as smart phones, laptops, tablet computers, vehicle-mounted terminals, portable wearable devices, workstations, and cloud servers, and the first user terminal and the second user terminal may be different terminals or devices. Figure 1 In the embodiment, the user operation instruction file and the game construction product are stored on the same server, but in other embodiments of the present application, the two can be stored on the same server; Figure 1 In the solution of the embodiment, the target logic core program and the target game client are deployed and run on the same test terminal, but in other embodiments of the present application, the two can also be deployed and run on different test terminals or test devices; Figure 1 In the solution of the embodiment, the recorded screen is returned to the web server, but in other embodiments of the present application, the recorded screen can also be returned to other terminals or devices. The embodiment of the present application does not make any limitation to this, and the protection scope of the present application should not be limited by this.
[0064] It is easy to understand that the game testing method provided in the embodiment of the present application is generally executed by the server, and accordingly, the game testing device is generally set in the server. However, in other embodiments of the present application, the terminal or other device may also have similar functions as the server, so as to execute the game testing solution provided in the embodiment of the present application.
[0065] Therefore, the embodiments of the present application can be applied to a terminal or a server. The server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited to this. The terminal and the server can be directly or indirectly connected via wired or wireless communication, and this application is not limited here.
[0066] The solution of the embodiment of the present application can be applied to the field of cloud computing. Cloud computing is a computing model that distributes computing tasks on a resource pool composed of a large number of computers, so that various application systems can obtain computing power, storage space and information services as needed. The network that provides resources is called a "cloud". The resources in the "cloud" are infinitely expandable in the eyes of users, and can be obtained at any time, used on demand, expanded at any time, and paid for by use.
[0067] As a cloud computing basic capability provider, a cloud computing resource pool (referred to as a cloud platform, generally referred to as IaaS (Infrastructure as a Service)) will be established, and various types of virtual resources will be deployed in the resource pool for external customers to choose to use. The cloud computing resource pool mainly includes: computing devices (virtualized machines, including operating systems), storage devices, and network devices.
[0068] According to the logical function division, the PaaS (Platform as a Service) layer can be deployed on the IaaS (Infrastructure as a Service) layer, and the SaaS (Software as a Service) layer can be deployed on the PaaS layer. SaaS can also be deployed directly on IaaS. PaaS is a platform for software operation, such as databases, web containers, etc. SaaS is a variety of business software, such as web portals, SMS mass senders, etc. Generally speaking, SaaS and PaaS are upper layers relative to IaaS.
[0069] The implementation details of the technical solution of the embodiment of the present application are described in detail below:
[0070] The solution of the embodiment of the present application can be applied to various games including MOBA (Multiplayer Online Battle Arena) games, and the applied games can be run on mobile terminals or other terminals such as PC terminals. From a technical perspective, the solution of the embodiment of the present application can be applied to frame synchronization games or state synchronization games.
[0071] State synchronization, as the name implies, is to synchronize the states of each client. This is not necessarily real-time, but it can ensure that the state after each operation is consistent. It is mainly achieved by developing a server-side program, uploading the user's operation as input to the server in real time, and the server returns the result to each client through calculation. In this process, the battle logic of state synchronization is on the server, and the client is more like a presentation layer of server data. Generally speaking, for game types where the logic does not need to be accurate to the frame, it is allowed that the content displayed on each client screen is different, as long as they are unified into one logic. The main cost of this method is that the server needs to process and return a large amount of data. Frame synchronization is another way. Frame synchronization focuses more on the synchronization of each frame of data. It mainly transmits the data of each frame of the client to the server through the network, and then performs synchronization processing on the server. The data of each frame includes the user's input and the status information of other clients. Then, the server sends the synchronized data back to all clients. In this way, each client can receive the same instructions and data, so as to achieve a visual synchronization effect.
[0072] The following describes the solution of the embodiment of the present application by taking the application in MOBA games as an example.
[0073] Figure 2 The flowchart of a game testing method according to an embodiment of the present application is shown. The game testing method can be executed by various devices capable of computing and processing, such as user terminals or cloud servers. User terminals include but are not limited to mobile phones, computers, intelligent voice interaction devices, smart home appliances, vehicle terminals, aircraft, smart watches, etc. Please refer to Figure 2 As shown, the game testing method may at least include the following steps:
[0074] In step 210, a user operation instruction file corresponding to the target game character is obtained, and the user operation instruction file includes a plurality of user operation instructions arranged in chronological order.
[0075] The target game character can be any character in the game that can be controlled by a user or player, such as a hero in a MOBA game. The game can include multiple game characters. In a frame synchronization game, a frame command is generated in each frame. The user operation instruction file can be a collection file of frame commands, one frame command corresponds to one frame, and each frame command can include one or more user operation instructions. In an embodiment of the present application, the user operation instruction file can be an ABS file, which is a file type independently developed and defined by the inventor of the present application, and its format is .abs.
[0076] The user operation command file can be recorded from the user's real game game (such as the game content after entering the game of a MOBA game such as Battlefield). Therefore, a corresponding user operation command file can be generated in advance for each game character in a stable version of the game.
[0077] In one embodiment of the present application, the user operation instruction file is a user operation instruction file corresponding only to the target game character or a user operation instruction file corresponding to the target game character entering the game match.
[0078] The user operation instruction file corresponding to the target game character can be an ABS file obtained by only releasing the skills of a hero itself, and does not involve interaction with the environment. In this case, the user operation instruction file is a hero use case, such as that obtained by recording when the hero enters single-player mode; the user operation instruction file corresponding to the target game character entering the game is an ABS file obtained by the hero interacting with the creatures in the battlefield environment by releasing skills, which can be obtained by recording in a real battlefield environment, such as by recording real game games of ordinary game players. The user operation instruction file corresponding to the target game character entering the game is a battlefield use case.
[0079] Next, combine Figure 3 To further introduce the solution of the embodiment of the present application. Figure 3 FIG. 2 shows a schematic diagram of an overall process according to an embodiment of the present application. Figure 3 As shown, the overall process first needs to obtain an old version of ABS, that is, it can be an ABS file that does not match the version of the game currently being developed or launched.
[0080] Figure 4 A schematic diagram of a display interface corresponding to an abs file in a project platform according to an embodiment of the present application is shown. Figure 4 As shown, the project platform contains an ABS storage and display interface, and the list of pre-recorded ABS files can be displayed in this interface. It is easy to understand that the project platform can provide support for multiple games at the same time. Users can select or search for the game they want to query in the project platform and see the list of ABS files corresponding to the game.
[0081] Figure 5 A schematic diagram of a recording and playback task management interface in a project platform according to an embodiment of the present application is shown. Figure 5 As shown, the recording and playback task management interface in the project platform can display several tasks, and the task includes the name of the abs file required to execute the task. After the task is created, it can be recorded according to the corresponding abs file by executing the subsequent steps of the embodiment of the present application.
[0082] In step 220, a target logic core program whose version matches that of the user operation instruction file is determined, and the target logic core program is used to process and forward the user operation instruction.
[0083] The target logic core program, i.e., the DS program, can be run in the form of a DS process. The DS process is a process in the game for sending and receiving frame synchronization commands of each machine, and for processing and forwarding. Since the embodiments of the present application are usually applied to frame synchronization games, and the logic core program of frame synchronization games is completely bound to the game client, the game client presentation layer needs to parse the frame commands frame by frame through the logic core program to drive the performance operation, and the unpacking protocol body of the logic core program is implemented based on the protocol library TDR. The 1.0 version of the protocol library does not support version compatibility, resulting in the modification, addition, and deletion of any protocol field in the package body of the unpacking and ABS files, which will cause the unpacking to fail, and the subsequent game logic cannot be advanced. Even if the package is unpacked, some protocol fields will be incompatible, causing the game to make mistakes when performing the ABS frame-by-frame parsing operation logic, resulting in the game being out of sync. TDR is a component of the Tencent game service framework TSF4G (Tencent Service Framework for Game). TDR solves the problem of manually writing message encoding and decoding functions that are cumbersome and prone to errors. Therefore, cross-version ABS playback cannot be achieved under the background of frame synchronization. The embodiment of the present application has carried out state synchronization transformation on the game, separated the logical core program, and can run it alone in a process, thereby realizing the decoupling of the logical core program from the game client. The logical core program can be deployed separately and can be deployed on any terminal or device, such as on a server or a mobile phone.
[0084] Figure 6 An embodiment according to the present application is shown. Figure 2 Flow chart of details of step 220 in the embodiment. Figure 6 As shown, determining the target logic core program with a version matching the user operation instruction file may specifically include the following steps:
[0085] In step 221, the version number information of the game client that generates the user operation instruction file is obtained from the user operation instruction file.
[0086] Specifically, the user operation instruction file can be generated based on the game client. The version number information of the game client can be generated by the version control system. Specifically, every time the user completes a build through the version control system, the version control system can generate a game build product corresponding to a version number information. The game build product may include the package body (game apk) of the game client, the package body (DS apk) of the logic core program, logs, etc. Therefore, the version number information of the game client can actually be the version number corresponding to a group of game build products to which the game client that generates the user operation instruction file belongs. The game build product can be generated by daily build, that is, a group of game build products is generated every day.
[0087] Once created Figure 5 As shown in the task, whenever a new set of game construction products is generated, the solution of the embodiment of the present application can be used to test the game client in the game construction products.
[0088] The version number information of the game client that generates the user operation instruction file may be obtained from a specified location of the user operation instruction file, such as the header of the user operation instruction file.
[0089] Figure 7 FIG. 1 shows a storage structure diagram of an abs file according to an embodiment of the present application. Figure 7 As shown, the abs file includes a header, a start protocol, and several frame commands. The version number information can be obtained from the header of the abs file.
[0090] Please continue to see Figure 3 As shown, the build warehouse can be used to store the generated game build products. By performing ds process build matching, the DS independent process matching the old version of ABS can be found.
[0091] In step 222, a list of game build products corresponding to the version number information is determined.
[0092] The game build product list includes information corresponding to several game build products respectively, for example, may include logic core program information corresponding to the logic core program.
[0093] In step 223, the logic core program corresponding to the logic core program information in the game build product list is determined as the target logic core program.
[0094] Through the embodiments of the present application, a target logic core program that matches the version of a user operation instruction file can be determined, thereby laying a foundation for normal playback of the user operation instruction file.
[0095] In step 250, the user operation instruction file is parsed by the target logic core program, and the parsing result generated by the target logic core program is run by the target game client to be tested to play back the user operation instruction file.
[0096] This step corresponds to Figure 3 The target game client can be the game client in the latest generated game build product. Figure 3 As shown, when the client sends a start playback command to the DS independent process, the DS independent process will perform a DS single-game playback. The entire process can realize automatic drive testing of the client.
[0097] The target logic core program also needs to communicate with the target game client. The two can communicate based on the pb (protobuf) protocol. The protobuf (Protocol Buffers) protocol is a data serialization protocol developed by Google. It can be used to serialize structured data into a binary format for efficient data exchange and storage between different systems. In order to use the pb protocol, you need to configure the pb protocol body.
[0098] Figure 8 A schematic diagram of editing the pb protocol body in the related art is shown. Figure 8 As shown, the pb protocol allows developers to customize the index of each protocol field, but usually the index is defined in the order of 1, 2, 3... Because some developers use non-standard methods when defining the index of the protocol field, they do not use the method of appending to the original protocol body, but insert an old index into it. This will cause the index of a large number of other protocol fields to change, causing incompatibility issues when the game client communicates with the target logic core program. Figure 8 The shaded area on the left is the location of the protocol field to be inserted. You can see that Figure 8 The right area of shows that after the notReset protocol field is inserted into this position, the index of the protocol field uses the old index of the existing field "hpAlpha", and the index below the protocol field changes.
[0099] Specifically, the communication principle of the pb protocol is to match communication based on the protocol field and index at the same time. As long as there is a mismatch between one of the protocol field and index used by the game client and the target logic core program, the communication between the game client and the target logic core program for the protocol field will be blocked.
[0100] Based on this, before the game client and the target logic core program communicate, the embodiment of the present application also performs compatibility modification on the pb protocol body.
[0101] Fig. 9 A flowchart showing the steps before the target logic core program parses the user operation instruction file and runs the parsing result generated by the target logic core program through the target game client to be tested according to an embodiment of the present application. Fig. 9 As shown, before the user operation instruction file is parsed by the target logic core program and the parsing result generated by the target logic core program is run by the target game client to be tested, the method may further include the following steps:
[0102] In step 910, the protocol fields defined in the protocol file are obtained.
[0103] By reading the protocol file, you can get the protocol fields. Figure 8 The file in the .proto format shown is the protocol file of the pb protocol.
[0104] In step 920, for each protocol field, identification information for uniquely identifying the protocol field is generated, and the identification information is added to the protocol file.
[0105] Fig.10 A schematic diagram showing part of the contents of a modified protocol file according to an embodiment of the present application is shown.
[0106] See also Fig.10 As shown, for each protocol field in the modified protocol file, there is corresponding identification information generated for it by the embodiment of the present application. For example, 204686 can be the identification information corresponding to a protocol field.
[0107] In step 930, protocol files are configured for the target game client and the target logic core program respectively, so that the target game client and the target logic core program communicate according to the protocol files.
[0108] The protocol file may be pre-configured for each game client including the target game client and each logic core program including the target logic core program, and the protocol file may be configured for the game client and the logic core program when they are just generated.
[0109] Through the modified protocol file, it can be ensured that each new protocol field added by the R&D personnel must have a completely non-conflicting ID to ensure uniqueness; by configuring the modified protocol file for both the target game client and the target logic core program, the target game client and the target logic core program can communicate normally on the premise that the modified protocol file contains the developer's customized protocol field.
[0110] Step 250 is described in detail below.
[0111] In one embodiment of the present application, the protocol file corresponds to the second communication protocol, and the user operation instruction file is parsed by the target logic core program, including: parsing the user operation instruction file according to the first communication protocol by the target logic core program to obtain the original parsing result, and converting at least a part of the original parsing result according to the second communication protocol.
[0112] The second communication protocol may be the pb protocol, and the first communication protocol may be the TDR protocol. The original parsing result may include the opening protocol, frame command, etc. The opening protocol is information related to the opening of the game. The opening protocol and frame command in the original parsing result may be converted according to the second communication protocol, that is, Figure 3 The DS process will send the conversion result to the client, and the client will also play back the conversion result of the opening protocol, that is, Figure 3 The TDR and PB protocols are shown to be converted to each other.
[0113] Fig.11 FIG. 1 shows a schematic diagram of a process of cross-version playback under state synchronization according to an embodiment of the present application. Fig.11 As shown, the process of cross-version playback under state synchronization based on the application embodiment is as follows: first, the old version ABS is obtained, and the old version DS matching it is determined; then, when the client sends a start playback instruction to the communication module, the communication module in the old version DS parses the old version ABS based on the TDR protocol, and there is no compatibility problem at this time; then, the communication module parses the old version ABS based on the TDR protocol. Figure 7 After the start protocol in the ABS file shown, it is converted into a pb protocol format that supports cross-versions and sent to the client, that is, Fig.11 The communication module will also send the frame commands obtained by frame-by-frame analysis to the client based on the PB protocol, so as to replay the ABS file. During the playback process, the communication module in the old version of DS will also communicate with the gamecore it contains. Gamecore is the core implementation part of the old version of DS to infer the frame-by-frame calculation of the player's frame command data. This is the same as Figure 3The gamecore shown in the figure corresponds to the process in which the gamecore calculates the status of each creature and character in the current game world according to the operations performed by each player. Fig.11 You can also see that the client is driven by ADB. ADB (Android Debug Bridge) is a debugging tool used in Android development. ADB can be used to install DS APK and game client APK.
[0114] In one embodiment of the present application, before parsing the user operation instruction file through the target logic core program and running the parsing result generated by the target logic core program through the target game client to be tested to replay the user operation instruction file, the method may also include the following steps: obtaining a first configuration file related to the target game character, the first configuration file including a number of first operation effect information, the first operation effect information being used to define the code logic triggered by the behavior of the target game character; for each first operation effect information, generating a first string uniquely corresponding to the first operation effect information, and adding the first string to the first configuration file to bind the first string to the first operation effect information; configuring the first configuration file to the target logic core program; obtaining a second configuration file related to the target game character, the second configuration file including a number of second operation effect information, the second operation effect information being used to define the code logic triggered by the behavior of the target game character; The result information is used to define the code logic triggered by the behavior of the target game character; for each second operation effect information, a second character string uniquely corresponding to the second operation effect information is generated, and the second character string is added to the second configuration file accordingly to bind the second character string to the second operation effect information; the second configuration file is configured to the target game client; the user operation instruction file is parsed by the target logic core program, and the parsing result generated by the target logic core program is run by the target game client to be tested. It can specifically include the following steps: the user operation instruction file and the first configuration file are parsed by the target logic core program to obtain each first character string and the parsing result of the user operation instruction file; if the target game client determines that the second configuration file includes a first character string that matches each first character string, the parsing result of the user operation instruction file is run by the target game client.
[0115] Specifically, the first configuration file and the second configuration file can both be Age files, which are used to store the performance configuration information after the hero releases a skill, and the first operation effect information and the second operation effect information are the performance configuration information. The performance configuration information may include tracks and events bound to the tracks.
[0116] Fig.12 FIG. 1 shows a schematic diagram of the structure of an Age file according to an embodiment of the present application. Fig.12 As shown in the figure, the left part shows several tracks that show configuration information, and the right part shows the events bound to each track. By combining tracks and events, you can control what code logic a hero's behavior will trigger. For example, after a hero releases a skill, he will take a small step back. This can be configured as a TriggerActionAfterSkill track in the Age editor, and the response event RetreatStep() can be configured on the track. The specific implementation logic of RetreatStep() is implemented by the developer in the C# project code.
[0117] Due to the complexity of the Age file itself, it is a deeply nested XML file. As the version changes, if there are new or deleted operations in the new version of the Age configuration, it is easy to cause mapping failure in cross-version mode.
[0118] The inventor of the present application discovered that the fundamental reason for this problem is that although the fields of the pb protocol are compatible, the frequency of changes in the Age fields and nested substructures is much higher than that of ordinary game protocols. Therefore, developers often forget to set the uniqueness of the tags for the substructures, resulting in the failure of the pb protocol here.
[0119] In the embodiment of the present application, the first string uniquely corresponding to the first operation effect information and the second string uniquely corresponding to the second operation effect information can both be generated by using the library Guid.NewGuid().ToString() on the Windows platform according to each age track and its bound event to generate a unique GUID string. Event modifications configured on the track will not affect the GUID string, and adding other tracks or deleting tracks will not affect the track. The GUID string is a binary digital identifier with a length of 128 bits generated by an algorithm, that is, a unique identifier.
[0120] In the embodiment of the present application, Figure 3 The cross-version pairing of Age shown can ensure that the Age file can be mapped successfully during cross-version playback.
[0121] Fig.13 FIG. 1 is a schematic diagram showing a partial content of a configuration file with a string added according to an embodiment of the present application. Fig.13 As shown in the figure, the dashed box is the GUID string added to the configuration file.
[0122] The DS process parses out all the GUID strings in the Age file it uses and sends them to the client. The client parses out all the GUID strings in the new version of the Age file and determines whether all the GUID strings sent by the DS process are in the new version of the Age file. If so, the driver hero runs. Otherwise, protection is performed to prevent abnormal crashes.
[0123] Fig.14 An embodiment according to the present application is shown. Figure 2 Flowchart of steps before step 250 in the embodiment. Fig.14 As shown, before the target game client to be tested runs the parsing result generated by the target logic core program, the method may further include the following steps:
[0124] In step 230, a game operation configuration file is generated, and the game operation configuration file includes at least one of the following: a game mode, a game character identifier in a game match, and a quality parameter of a game display screen.
[0125] like Figure 5 As shown, when creating a task, the user can configure part of the game running configuration information corresponding to the task, such as the synchronization mode, hero perspective, layering mode, etc. A game running configuration file can be generated according to the game running configuration information configured when the user creates the task.
[0126] Fig.15 A schematic diagram of the contents of a game running configuration file according to an embodiment of the present application is shown.
[0127] See also Fig.15 As shown, the game running configuration file can include six lines of content, as follows:
[0128] The first line is the IP address. You need to fill in the WiFi address (not the router address) of the phone where the ds apk is installed (it will only be used for status synchronization, and the default for frame synchronization is 127.0.0.1).
[0129] The second line is the file name of the abs file to be played back.
[0130] The third line is the hero index, which ranges from 0 to 9 (for example, in a 5V5 game, filling in 0 means the first hero is the main perspective).
[0131] The fourth line is the playback mode, 0 means frame-synchronized playback, and 1 means state-synchronized playback.
[0132] The fifth line is the view mode, with a value of 0-3.
[0133] The sixth line is the quality parameters, separated by vertical lines. The first parameter is the picture quality (0: smooth, 1: medium, 2: high, 3: ultra high, 4: extreme), and the second parameter is the particle quality (0: smooth, 1: high, 2: extreme).
[0134] The seventh line is optional and determines whether to enable key data logging (0: disable, 1: enable)
[0135] Please continue to see Fig.14 In step 240, the game operation configuration file is configured to the target game client.
[0136] By configuring the game running configuration file to the target game client, the target game client can play back the ABS file according to the information indicated by the configuration file.
[0137] Please continue to see Figure 2 In step 260, during the playback of the user operation command file, the target game client is recorded to obtain a recorded screen.
[0138] The recorded screen may be a recorded video or image.
[0139] In step 270, a test result corresponding to the target game character is determined based on the recorded image.
[0140] Fig.16 An embodiment according to the present application is shown. Figure 2 Flow chart of details of step 270 in the embodiment. Fig.16 As shown, step 270 may specifically include:
[0141] In step 271, a reference recording screen corresponding to the target game character is obtained.
[0142] The benchmark recording screen can be obtained by playing back the ABS file in a stable version of the game, and has high reliability.
[0143] In step 272, the recorded image is compared with the reference recorded image, and a test result corresponding to the target game character is determined based on the comparison result.
[0144] The recorded footage can be compared to a baseline recorded footage using various algorithms including deep learning algorithms.
[0145] The comparison result may be a match, a mismatch, etc. If the comparison result is a match, the test result is determined to be a test pass; if the comparison result is a mismatch, the test result is determined to be a test fail.
[0146] Fig.17A schematic diagram of a comparison task management interface in a project platform according to an embodiment of the present application is shown. Fig.17 As shown, the benchmark graph, comparison graph and result graph can be displayed in the comparison task management interface. The result graph can be obtained by comparing the benchmark graph and the comparison graph, and the differences between the two can be highlighted. It can be seen that the interface can also display the review status. When a mismatch is determined, the information involved in the comparison can be submitted to relevant personnel for secondary review to ensure the reliability of the test.
[0147] Fig.18 FIG. 1 shows a flow chart of an automated test according to an embodiment of the present application. Fig.18 As shown, the following steps are included: first, record the hero use case ABS; then, obtain the daily build package and DS package, the daily build package is the game build product obtained every day; then, start the automation task to automatically start the test task; then, automatically pull the package required for the test and the hero use case ABS, play back the ABS and record the game screen; next, compare the playback video with the benchmark video; finally, review the bill of lading, that is, when the relevant personnel review the comparison results, if it is determined that there is a bug, they can submit a bug ticket to the bug ticket management platform for repair.
[0148] It can be seen that in this process, the step of recording the hero use case ABS only needs to be performed once, and the other steps can be run automatically by the platform on a daily basis without human intervention.
[0149] That is to say, in the entire automated operation process, it is only necessary to record a full set of hero use cases and battlefield use cases in the first stable version to generate a set of ABS files. After the daily package is built, the version number in the ABS file will be automatically used to find the list of build products corresponding to the version number, so as to get the build product corresponding to the pipeline, that is, a DS APK, and then automatically install it on the mobile phone used as the DS Server through ADB, and start the DS process, so that the game client package can be tested. The game client package being tested can be any version of APK.
[0150] In summary, the game testing method provided by the embodiment of the present application solves the technical problem of cross-version ABS use case reuse that cannot be solved by the solution. The current version of the ABS playback use case can always reuse the same recorded hero, battlefield, and performance test case, drive the platform to run automatically, produce result images, perform image comparison, generate bugs and follow up on the bug repair results. It can also achieve at least the following beneficial effects:
[0151] 1. It can reduce the workload of integration testing and full testing during game iteration by more than 50%, thus freeing up 45 man-days / version of testing manpower.
[0152] 2. Only the user operation instruction files for replaying automated tests need to be maintained, so the maintenance cost becomes extremely low, almost to zero cost.
[0153] 3. In the field of performance testing, more realistic user combat scenarios can be used as use cases to produce and verify data, thereby saving 15 man-days / version of performance testing manpower.
[0154] The following describes an embodiment of the device of the present application, which can be used to execute the game testing method in the above embodiment of the present application. For details not disclosed in the embodiment of the device of the present application, please refer to the embodiment of the game testing method in the above embodiment of the present application.
[0155] Fig.19 A block diagram of a game testing device according to an embodiment of the present application is shown.
[0156] Reference Fig.19 As shown, a game testing device 1900 according to an embodiment of the present application includes: an acquisition unit 1910, a first determination unit 1920, a playback unit 1930, a recording unit 1940, and a second determination unit 1950. The acquisition unit 1910 is used to acquire a user operation instruction file corresponding to a target game character, wherein the user operation instruction file includes a plurality of user operation instructions arranged in chronological order; the first determination unit 1920 is used to determine a target logic core program whose version matches the user operation instruction file, wherein the target logic core program is used to process and forward the user operation instruction; the playback unit 1930 is used to parse the user operation instruction file through the target logic core program, and run the parsing result generated by the target logic core program through the target game client to be tested, so as to replay the user operation instruction file; the recording unit 1940 is used to record the target game client in the process of replaying the user operation instruction file to obtain a recording screen; and the second determination unit 1950 is used to determine the test result corresponding to the target game character according to the recording screen.
[0157] In some embodiments of the present application, based on the aforementioned scheme, the device also includes a protocol configuration unit; before parsing the user operation instruction file through the target logic core program and running the parsing result generated by the target logic core program through the target game client that needs to be tested, the protocol configuration unit is used to: obtain the protocol fields defined in the protocol file; for each of the protocol fields, generate identification information for uniquely identifying the protocol field, and add the identification information to the protocol file; configure the protocol file for the target game client and the target logic core program respectively, so that the target game client and the target logic core program communicate according to the protocol file.
[0158] In some embodiments of the present application, based on the aforementioned scheme, the device also includes an operation effect configuration unit; before parsing the user operation instruction file through the target logic core program and running the parsed result generated by the target logic core program through the target game client that needs to be tested, the operation effect configuration unit is used to: obtain a first configuration file related to the target game character, the first configuration file includes a number of first operation effect information, and the first operation effect information is used to define the code logic triggered by the behavior of the target game character; for each first operation effect information, generate a first string uniquely corresponding to the first operation effect information, and add the first string to the first configuration file to bind the first string to the first operation effect information; configure the first configuration file to the target logic core program; obtain a second configuration file related to the target game character A configuration file is provided, wherein the second configuration file includes a plurality of second operation effect information, wherein the second operation effect information is used to define the code logic triggered by the behavior of the target game character; for each second operation effect information, a second character string uniquely corresponding to the second operation effect information is generated, and the second character string is added to the second configuration file accordingly to bind the second character string to the second operation effect information; the second configuration file is configured to the target game client; the playback unit 1930 is configured to: parse the user operation instruction file and the first configuration file through the target logic core program to obtain each of the first character strings and the parsing result of the user operation instruction file; if the target game client determines that the second configuration file includes a first character string matching each of the first character strings, the parsing result of the user operation instruction file is run through the target game client.
[0159] In some embodiments of the present application, based on the aforementioned scheme, the protocol file corresponds to the second communication protocol, and the playback unit 1930 is configured to: parse the user operation instruction file according to the first communication protocol through the target logic core program to obtain the original parsing result, and convert at least a part of the original parsing result according to the second communication protocol.
[0160] In some embodiments of the present application, based on the aforementioned scheme, the first determination unit 1920 is configured to: obtain the version number information of the game client that generates the user operation instruction file from the user operation instruction file; determine the game build product list corresponding to the version number information; and determine the logical core program corresponding to the logical core program information in the game build product list as the target logical core program.
[0161] In some embodiments of the present application, based on the aforementioned scheme, the device also includes a game operation configuration unit; before running the analysis result generated by the target logic core program through the target game client that needs to be tested, the game operation configuration unit is configured to: generate a game operation configuration file, and the game operation configuration file includes at least one of the following: game mode, game character identification in the game match, and quality parameters of the game display screen; configure the game operation configuration file to the target game client.
[0162] In some embodiments of the present application, based on the aforementioned scheme, the second determination unit 1950 is configured to: obtain a baseline recorded screen corresponding to the target game character; compare the recorded screen with the baseline recorded screen, and determine the test result corresponding to the target game character based on the comparison result.
[0163] In some embodiments of the present application, based on the aforementioned scheme, the user operation instruction file is a user operation instruction file corresponding only to the target game character or a user operation instruction file corresponding to the target game character entering the game match.
[0164] In some embodiments of the present application, based on the aforementioned solution, the target game client is a game client in the latest generated game build product.
[0165] Fig. 20 A schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present application is shown.
[0166] It should be noted that Fig. 20 The computer system 2000 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0167] like Fig. 20As shown, the computer system 2000 includes a central processing unit (CPU) 2001, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 2002 or the program loaded from the storage part 2008 to the random access memory (RAM) 2003, such as executing the method described in the above embodiment. In the RAM 2003, various programs and data required for system operation are also stored. The CPU 2001, ROM 2002 and RAM 2003 are connected to each other through a bus 2004. An input / output (I / O) interface 2005 is also connected to the bus 2004.
[0168] The following components are connected to the I / O interface 2005: an input section 2006 including a keyboard, a mouse, etc.; an output section 2007 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 2008 including a hard disk, etc.; and a communication section 2009 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 2009 performs communication processing via a network such as the Internet. A drive 2010 is also connected to the I / O interface 2005 as needed. A removable medium 2011, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 2010 as needed so that a computer program read therefrom is installed into the storage section 2008 as needed.
[0169] In particular, according to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 2009, and / or installed from the removable medium 2011. When the computer program is executed by the central processing unit (CPU) 2001, various functions defined in the system of the present application are executed.
[0170] It should be noted that the computer-readable medium shown in the embodiment of the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, - but not limited to - an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by an instruction execution system, device or device or used in combination with it. In the present application, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, wherein a computer-readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate, or transmit programs for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
[0171] The flowchart and block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present application. Wherein, each box in the flowchart or block diagram can represent a module, a program segment, or a part of the code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0172] The units involved in the embodiments described in this application may be implemented by software or hardware, and the units described may also be set in a processor. The names of these units do not, in some cases, constitute limitations on the units themselves.
[0173] As one aspect, the present application also provides a computer-readable medium, which may be included in the electronic device described in the above embodiment; or may exist independently without being assembled into the electronic device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by an electronic device, the electronic device implements the method described in the above embodiment.
[0174] It should be noted that, although several modules or units of the equipment for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into being embodied by multiple modules or units.
[0175] Through the description of the above implementation methods, it is easy for those skilled in the art to understand that the example implementation methods described here can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the implementation methods of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the implementation methods of the present application.
[0176] It is understandable that in the specific implementation of the present application, data related to game testing and game screens are involved. When the above embodiments of the present application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions.
[0177] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the embodiments disclosed herein. The present application is intended to cover any variations, uses or adaptations of the present application, which follow the general principles of the present application and include common knowledge or customary technical means in the art that are not disclosed in the present application.
[0178] It should be understood that the present application is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.
Claims
1. A game testing method, characterized in that: The method comprises: Acquire a user operation instruction file corresponding to a target game character, wherein the user operation instruction file includes a plurality of user operation instructions arranged in chronological order; Determine a target logic core program whose version matches that of the user operation instruction file, wherein the target logic core program is used to process and forward the user operation instruction; Parsing the user operation instruction file through the target logic core program, and running the parsing result generated by the target logic core program through the target game client to be tested to play back the user operation instruction file; During the playback of the user operation instruction file, the target game client is recorded to obtain a recording screen; A test result corresponding to the target game character is determined according to the recorded image.
2. The game testing method according to claim 1, characterized in that: Before parsing the user operation instruction file by the target logic core program and running the parsing result generated by the target logic core program by the target game client to be tested, the method further includes: Get the protocol fields defined in the protocol file; For each of the protocol fields, generating identification information for uniquely identifying the protocol field, and adding the identification information to the protocol file; The protocol file is configured for the target game client and the target logic core program respectively, so that the target game client and the target logic core program communicate according to the protocol file.
3. The game testing method according to claim 1 or 2, characterized in that: Before parsing the user operation instruction file by the target logic core program and running the parsing result generated by the target logic core program by the target game client to be tested, the method further includes: Acquire a first configuration file related to the target game character, wherein the first configuration file includes a plurality of first operation effect information, and the first operation effect information is used to define a code logic triggered by a behavior of the target game character; For each piece of the first operation effect information, generate a first character string that uniquely corresponds to the first operation effect information, and add the first character string to the first configuration file to bind the first character string to the first operation effect information; Configuring the first configuration file to the target logic core program; Acquire a second configuration file related to the target game character, wherein the second configuration file includes a plurality of second operation effect information, and the second operation effect information is used to define a code logic triggered by a behavior of the target game character; For each second operation effect information, generate a second character string uniquely corresponding to the second operation effect information, and add the second character string to the second configuration file to bind the second character string to the second operation effect information; Configuring the second configuration file to the target game client; The step of parsing the user operation instruction file by the target logic core program and running the parsing result generated by the target logic core program by the target game client to be tested includes: Parsing the user operation instruction file and the first configuration file through the target logic core program to obtain each of the first character strings and a parsing result of the user operation instruction file; If the target game client determines that the second configuration file includes a first character string that matches each of the first character strings, the target game client executes the parsing result of the user operation instruction file.
4. The game testing method according to claim 2, characterized in that: The protocol file corresponds to the second communication protocol, and the parsing of the user operation instruction file by the target logic core program includes: The target logic core program parses the user operation instruction file according to the first communication protocol to obtain an original parsing result, and converts at least a part of the original parsing result according to the second communication protocol.
5. The game testing method according to claim 1, characterized in that: The step of determining the target logic core program whose version matches that of the user operation instruction file comprises: Acquire the version number information of the game client that generates the user operation instruction file from the user operation instruction file; Determine a list of game build products corresponding to the version number information; The logical core program corresponding to the logical core program information in the game construction product list is determined as the target logical core program.
6. The game testing method according to claim 1, characterized in that: Before running the parsing result generated by the target logic core program through the target game client to be tested, the method further includes: Generate a game running configuration file, wherein the game running configuration file includes at least one of the following: a game mode, a game character identifier in a game match, and a quality parameter of a game display screen; The game running configuration file is configured to the target game client.
7. The game testing method according to claim 1, characterized in that: The step of determining a test result corresponding to the target game character according to the recorded image includes: Acquire a reference recording picture corresponding to the target game character; The recorded image is compared with the reference recorded image, and a test result corresponding to the target game character is determined according to the comparison result.
8. The game testing method according to claim 1, characterized in that: The user operation instruction file is a user operation instruction file corresponding only to the target game character or a user operation instruction file corresponding to the target game character entering the game match.
9. The game testing method according to claim 1, characterized in that: The target game client is the game client in the latest generated game build product.
10. A game testing device, characterized in that: The device comprises: An acquisition unit, used to acquire a user operation instruction file corresponding to a target game character, wherein the user operation instruction file includes a plurality of user operation instructions arranged in chronological order; A first determining unit, used to determine a target logic core program with a version matching the user operation instruction file, wherein the target logic core program is used to process and forward the user operation instruction; A playback unit, used to parse the user operation instruction file through the target logic core program, and run the parsing result generated by the target logic core program through the target game client to be tested to play back the user operation instruction file; A recording unit, used to record the target game client during the playback of the user operation instruction file to obtain a recording screen; The second determining unit is used to determine the test result corresponding to the target game character according to the recorded picture.
11. A computer readable medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the game testing method according to any one of claims 1 to 9 is implemented.
12. An electronic device, characterized in that: include: one or more processors; A storage device for storing one or more programs, which, when executed by the one or more processors, enables the one or more processors to implement the game testing method as described in any one of claims 1 to 9.
13. A computer program product, characterized in that The computer program product includes computer instructions, which are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the game testing method according to any one of claims 1 to 9.