Skill test method and device, computer equipment and storage medium
By generating configuration data and using the server to simulate game results, the problem of high time cost for skill testing during game version iterations was solved, enabling fast and accurate multi-skill testing and ensuring game balance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- TENCENT TECH (CHENGDU) CO LTD
- Filing Date
- 2024-11-14
- Publication Date
- 2026-05-15
AI Technical Summary
During game version iterations, skill testing is time-consuming and inefficient, making it difficult to effectively test multiple skills in a short period of time, which makes it difficult to guarantee game balance.
By generating configuration data based on version data and game configuration, and using the server to simulate game results, statistical information and test results of skills are generated, reducing the need for manual game testing and improving testing efficiency.
This enabled the rapid and accurate testing of the effects of multiple skills before the new version was released, ensuring game balance and improving testing efficiency and accuracy.
Smart Images

Figure CN122032098A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of testing technology, and in particular to a method, apparatus, computer device, and storage medium for testing skills. Background Technology
[0002] During game version iterations, skill modifications are a key testing focus in each version. Since different skills may share the same underlying mechanics—for example, skills involving "critical hits" typically have a mechanism that significantly increases damage with a certain probability, involving random number generation and damage multiplier calculations—adjusting certain underlying mechanics can affect the in-game effects of some skills, thus impacting game balance.
[0003] Currently, to avoid the aforementioned issues, before the new version is released, test engineers will manually conduct multiple matches in the new version's game client to test the skills, ensuring that this version update will not have any unexpected impact on the skills in the game, such as preventing significant abnormal changes in the critical hit rate or damage value of skills in matches.
[0004] However, the number of skills is usually large, and testing multiple skills takes a long time, resulting in high testing time costs and low testing efficiency. Summary of the Invention
[0005] This application provides a skill testing method, apparatus, computer device, and storage medium, which enables the testing of a large number of skills in a short time, improving testing efficiency and accuracy. The technical solution is as follows:
[0006] On the one hand, a method for testing skills is provided, the method comprising:
[0007] Based on the version data of the first version and the lineup configuration of each of the at least two matches, the configuration data of the at least two matches is generated. The version data includes the object attributes of at least two virtual objects and the skill attributes of at least two skills. The configuration data includes the object attributes, the skills carried, and the skill attributes of the virtual objects that appear in each match.
[0008] Based on the configuration data of the at least two matches, the match results of the at least two matches are simulated through the server corresponding to the first version. The match results include at least two skills actually used in each match, the actual number of times each of the at least two skills is used, and the simulated effect value.
[0009] Based on the results of the at least two matches, generate first statistical information for each skill in the version data;
[0010] Based on the first statistical information, the test results of each skill in the version data are determined.
[0011] On the other hand, a skill testing device is provided, the device comprising:
[0012] The first generation module is used to generate configuration data for the at least two matches based on the version data of the first version and the lineup configuration of each match in at least two matches. The version data includes object attributes of at least two virtual objects and skill attributes of at least two skills. The configuration data includes object attributes, skills carried, and skill attributes of the virtual objects that appear in each match.
[0013] The simulation module is used to simulate the results of the at least two matches based on the configuration data of the at least two matches, through the server corresponding to the first version. The match results include at least two skills actually used in each match, the actual number of times each of the at least two skills was used, and the simulated effect value.
[0014] The second generation module is used to generate first statistical information of each skill in the version data based on the results of the at least two matches.
[0015] The determination module is used to determine the test results of each skill in the version data based on the first statistical information.
[0016] In one possible implementation, the first generation module is configured to, for the i-th match in the at least two matches, create test cases for the i-th match based on the lineup configuration of the i-th match and the version data of the first version, wherein the lineup configuration of the i-th match represents the skills carried and the faction to which each virtual object appears in the i-th match belongs; and generate configuration data for the i-th match based on the test cases of the i-th match, where i is an integer.
[0017] In another possible implementation, the first generation module is configured to obtain a subset of version data from the version data of the first version based on the lineup configuration of the i-th game, the subset of version data including the object attributes of each virtual object in the i-th game and the skill attributes of the skills carried by each virtual object; and create test cases for the i-th game based on the lineup configuration and the subset of version data.
[0018] In another possible implementation, the configuration data is carried in a data packet;
[0019] The first generation module is used to fill at least one piece of data from the test case of the i-th game into at least two fields of the initial data packet according to a preset transmission protocol, so as to obtain the data packet of the i-th game. The preset transmission protocol is used to specify the data to be filled into at least two fields of the initial data packet.
[0020] In another possible implementation, the configuration data is carried in a data packet;
[0021] The simulation module is used to send at least two data packets to the server corresponding to the first version, and the server corresponding to the first version simulates the game results of the at least two matches based on the at least two data packets, wherein the at least two data packets correspond one-to-one with the at least two matches; and to receive the game results of the at least two matches returned by the server corresponding to the first version.
[0022] In another possible implementation, the simulation module is configured to send a preset number of data packets for the j-th game to the server corresponding to the first version, based on the number of repetitions of the j-th game; wherein the preset number is the same as the number of repetitions.
[0023] In another possible implementation, the second generation module is configured to determine, based on the results of the at least two matches, at least one of the total actual usage counts of each skill in the version data and the average of the simulated effect values, wherein the total actual usage counts of the kth skill are the sum of the actual usage counts of the kth skill in the at least two matches, and the average of the simulated effect values of the kth skill are the average of the simulated effect values of the kth skill in the at least two matches, where k is an integer; and generate the first statistical information of a preset type based on at least one of the total actual usage counts of each skill and the average of the simulated effect values, wherein the preset type includes at least one of text type, image type, and table type.
[0024] In another possible implementation, the average value of the simulated effect includes at least one of the following: average damage value, average health recovery value, average dodge chance, average trigger chance, average critical hit chance, and average cooldown duration.
[0025] In another possible implementation, the determining module is used to obtain second statistical information, which is obtained based on version data of a second version and the lineup configuration of each game in the at least two games, wherein the second version is lower than the first version; and compare the first statistical information and the second statistical information to obtain the test results of each skill in the version data of the first version.
[0026] In another possible implementation, the determining module is configured to, for the nth skill in the version data of the first version, determine at least one of the rate of change of the total actual usage times of the nth skill and the rate of change of the average value of the simulated effect value, based on the first statistical information and the second statistical information, where n is an integer; if at least two rates of change of the nth skill are within the corresponding preset range, determine that the nth skill passes the test; if any rate of change of the nth skill is not within the corresponding preset range, send the nth skill to the manual verification process, and the manual verification process determines the test result of the nth skill.
[0027] On the other hand, a computer device is provided, the computer device including a processor and a memory, the memory storing at least one computer program, the at least one computer program being loaded and executed by the processor to implement the skill testing method as described above.
[0028] On the other hand, a computer-readable storage medium is provided that stores at least one computer program, which is loaded and executed by a processor to implement the skill testing method as described above.
[0029] On the other hand, a computer program product is provided, including a computer program that is loaded and executed by a processor to implement a method for testing skills as described above.
[0030] This application provides a skill testing scheme that, before a new version is released, generates configuration data for at least two matches based on the new version's version data and the team compositions of at least two matches. Then, it can quickly calculate the match results of at least two matches using the server corresponding to the new version. Using this method, the match results of player-side matches after the new version is released can be simulated without manually starting matches. This allows for a more accurate determination of whether the effect values of multiple skills will deviate significantly after the new version is released, enabling testing of a large number of skills in a short time, thus improving testing efficiency and accuracy. Attached Figure Description
[0031] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0032] Figure 1This is a schematic diagram of the structure of a computer system provided in an embodiment of this application;
[0033] Figure 2 This is a flowchart of a skill testing method provided in an embodiment of this application;
[0034] Figure 3 This is a flowchart of another skill testing method provided in an embodiment of this application;
[0035] Figure 4 This is a flowchart of another skill testing method provided in an embodiment of this application;
[0036] Figure 5 This is a flowchart of a skills test provided in an embodiment of this application;
[0037] Figure 6 This is a flowchart illustrating a method for testing gaming skills, as provided in an embodiment of this application.
[0038] Figure 7 This is a schematic diagram of the structure of a skill testing device provided in an embodiment of this application;
[0039] Figure 8 This is a schematic diagram of the structure of a terminal provided in an embodiment of this application;
[0040] Figure 9 This is a schematic diagram of the structure of a server provided in an embodiment of this application. Detailed Implementation
[0041] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.
[0042] In this application, the terms "first," "second," etc., are used to distinguish identical or similar items with essentially the same function. It should be understood that there is no logical or temporal dependency between "first," "second," and "n," nor are they limited in quantity or execution order.
[0043] In this application, the term "at least one" means one or at least two, and "at least two" means two or more.
[0044] It should be noted that all information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.), and signals involved in this application have been authorized by the user or fully authorized by all parties, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, the information involved in this application was obtained under full authorization.
[0045] First, a brief introduction to the terms used in the embodiments of this application:
[0046] Virtual Object: An object in a virtual scene that can unleash game skills. This object can be a virtual character, virtual animal, or anime character, or any virtual object in the virtual scene that can unleash game skills. A virtual scene can include multiple virtual objects, each with its own shape and volume, occupying a portion of the space in the virtual scene. Optionally, each virtual object can carry at least two game skills. The game skills carried by a virtual object are the skills that the virtual object can unleash (or use) in the virtual scene.
[0047] Game skills: In a virtual environment, game skills refer to the abilities of virtual objects to perform specific operations or produce specific effects. Skills are also often simply called skills. Skills typically include a skill name, skill effect, skill cost, and skill range. Based on their effects, skills can be categorized as attack skills, defensive skills, control skills, movement skills, and support skills. Based on their triggering method, skills can also be categorized as active skills and passive skills.
[0048] It's important to note that for game applications that provide game skills, during version iterations, the attributes of some skills or their underlying mechanisms may be altered. Consequently, the calculation logic related to game skills in the application's backend server, such as skill release logic, damage calculation logic, and immunity control logic, will also be modified, leading to changes in the skill effects during gameplay. For example, in one possible scenario, if a bug occurs in a skill-related calculation logic on the backend server corresponding to a new version, the skill effect determined by the backend server based on the incorrect calculation logic may deviate significantly from the expected effect. This could manifest as a significant increase or decrease in skill damage during gameplay, disrupting game balance. Therefore, before a new version of the game application is released, it's necessary to simulate multiple matches on the new version's backend server to test whether the skill effects change abnormally during gameplay, thus preventing the skill effects from not meeting expectations after the new version's release.
[0049] Figure 1 This is a schematic diagram of the structure of a computer system provided in an embodiment of this application. For example... Figure 1 As shown, the computer system includes a first terminal 101, a server 102, and a second terminal 103.
[0050] The first terminal 101 is connected to the server 102 via a wireless or wired network, and the second terminal 103 is connected to the server 102 via a wireless or wired network. The server 102 is used to provide background services for game applications that support virtual scenes. Optionally, the server 102 has deployed configuration files for at least one version of the game application, thus enabling the server 102 to provide background services for at least one version of the game application.
[0051] Optionally, a game application can refer to any of the following: strategy game (SLG) program, virtual reality game program, augmented reality game program, shooting game program, role-playing game program, tactical competitive game program, auto chess game program, etc.
[0052] Terminal 101 is the terminal used by the first user, and terminal 103 is the terminal used by the second user. The first user can be a tester of the game application, and the second user can be a player of the game application. Accordingly, terminal 101 has a test application for the game application installed and running. During the version iteration of the game application, the first user can test the new version of the game application through the test application on terminal 101. The test content includes, but is not limited to, the skills, virtual scenes, and virtual objects provided by the game application.
[0053] For example, taking skill testing as an example, the tester, through the first terminal 101, constructs the configuration data for a game based on the skill to be tested. This configuration data indicates the virtual objects appearing in the game and the skills they carry; the skills carried by the virtual objects include the skill to be tested. Then, the first terminal 101 sends the configuration data to the server 102, which simulates the game result based on the configuration data and returns the result to the first terminal 101. The first terminal 101 then displays the game result so that the tester can determine the skill's test result based on the result. Alternatively, the first terminal 101 can also automatically determine and display the skill's test result based on the game result.
[0054] The second terminal 103 has a game application that supports virtual scenes installed and running. After the new version of the game application is tested and launched, the second terminal 103 can obtain the installation package of the game application from the server 102, and install the new version of the game application based on the installation package. Then, the second user can launch the new version of the game application through the second terminal 103, and then start a game in the game application, configure the virtual objects in the game and the skills used by the virtual objects in the game, view the battle process of the game, and view the game results, etc.
[0055] Optionally, server 102 undertakes the main computing work, and first terminal 101 and second terminal 103 undertake secondary computing work; or, server 102 undertakes secondary computing work, and first terminal 101 and second terminal 103 undertake the main computing work; or, server 102, first terminal 101 and second terminal 103 collaborate on computing using a distributed computing architecture.
[0056] The first terminal 101 can refer to one of a plurality of terminals, and the second terminal 103 can refer to one of a plurality of terminals. This embodiment only uses the first terminal 101 and the second terminal 103 as examples. The device types of the first terminal 101 and the second terminal 103 may be the same or different. The device types include at least one of the following: smartphone, smartwatch, smart TV, tablet computer, wearable device, vehicle terminal, laptop computer and desktop computer.
[0057] Those skilled in the art will understand that the number of terminals described above can be more or less. For example, there may be only one terminal, or there may be dozens or hundreds of terminals, or even more. This application does not limit the number of terminals or the type of device.
[0058] Figure 2 This is a flowchart of a skill testing method provided in an embodiment of this application. Taking the method executed by a terminal as an example, as follows... Figure 2 As shown, the method includes:
[0059] 201. Based on the version data of the first version and the lineup configuration of each of the at least two matches, the terminal generates configuration data for at least two matches. The version data includes the object attributes of at least two virtual objects and the skill attributes of at least two skills. The configuration data includes the object attributes, the skills carried, and the skill attributes of the virtual objects that appear in each match.
[0060] In this embodiment, the terminal can be a terminal used by testers. During the version iteration process of a game application, before a new version of the game application is launched, testers usually need to test the new version of the game application. The test content includes, but is not limited to, the virtual scenes, virtual objects, and skills provided by the game application. The following uses skills as an example to explain the process of testing skills before the launch of a new version.
[0061] Version 1 refers to the version that will be released soon. Version 1 data includes object attributes for at least two virtual objects and skill attributes for at least two skills provided by the game application. The object attributes of any virtual object and the skill attributes of any skill may be the same or different in different versions. Object attributes describe the attributes of a virtual object in at least one dimension, such as attack power, health, intelligence, and defense. Skill attributes describe the attributes of a skill in at least one dimension, such as damage, trigger probability, and critical hit probability.
[0062] At least two skills in the version data must include the skills to be tested. The skills to be tested can be at least one of the following: skills whose attributes have been modified, skills whose attributes have not been modified, skills whose underlying mechanics have been modified, or all skills provided within the game application. For example, if the "critical hit mechanism" has been modified in the new version, then the skills to be tested include multiple skills involving "critical hits." At least two skills in the version data can include skills bound to virtual objects, or skills not bound to virtual objects. When a skill is bound to a virtual object, it is exclusive to that virtual object; the virtual object can use this skill in a match, but other virtual objects cannot. When a skill is not bound to a virtual object, it is not exclusive to any single virtual object; multiple virtual objects can use this skill in a match.
[0063] Before testing skills, testers can manually create team compositions for at least two matches. Each match's team composition specifies at least two virtual objects (DMOs) appearing in that match and the skills each DMO carries. The skills carried by a DMO are those that the DMO can use (or unleash) during the match. Optionally, each DMO can carry at least two skills. Skills carried by a DMO include, but are not limited to: skills bound to that DMO (i.e., exclusive skills), and skills not bound to any DMO. By manually creating team compositions for each match, it ensures that the skills used in the match are mostly those to be tested, thus allowing for testing of as many skills as possible with fewer matches, improving the coverage of skill testing within matches.
[0064] The terminal can generate configuration data for at least two matches based on the lineup configuration for each match and the version data of the first version. This configuration data includes the object attributes, skills carried, and skill attributes of the virtual objects appearing in each match.
[0065] 202. Based on the configuration data of at least two matches, the terminal simulates the results of at least two matches through the server corresponding to the first version. The match results include at least two skills actually used in each match, the actual number of times each of the at least two skills was used, and the simulated effect value.
[0066] In this embodiment, the terminal sends configuration data for at least two matches to a first-version server. The first-version server then simulates and returns the match results for each match based on the configuration data. The server is a backend server for the game application. The first-version server deploys the configuration file for the first-version game application, thereby providing backend services for the first-version game application. The match results represent at least two skills actually used in each match, the actual number of times each skill was used, and the simulated effect value. The simulated effect value of the skill is the effect value simulated by the server based on the configuration data, reflecting the skill's effect in the match. For example, simulated effect values include, but are not limited to: simulated damage value, simulated health recovery value, simulated critical hit probability, etc.
[0067] By simulating match results using the first-version server based on configuration data, it is possible not only to simulate multiple matches played by players after the new version is launched, but also to quickly obtain the results of multiple matches. This eliminates the need for testers to manually play matches, shortening the time for skill testing through matches and improving the efficiency of skill testing.
[0068] 203. The terminal generates the first statistical information of each skill in the version data based on the results of at least two matches.
[0069] In this embodiment of the application, the first statistical information of each skill in the version data includes at least one of the total actual number of times each skill is used and the average value of the simulated effect value.
[0070] For example, if skill A is used in 2 matches, skill A is actually used 10 times in match 1 with a simulated critical hit rate of 30%; skill A is actually used 12 times in match 2 with a simulated critical hit rate of 20%, then the total number of actual uses of skill A is 22, and the average simulated critical hit rate is 25%.
[0071] 204. Based on the first statistical information, the terminal determines the test results of each skill in the version data.
[0072] In this embodiment of the application, since the first statistical information includes at least one of the total actual usage times of each skill in the version data and the average of the simulated effect values, for any skill in the version data, the terminal can determine the test result of the skill based on whether at least one of the total actual usage times of the skill and the average of the simulated effect values is within a preset range, that is, determine whether the skill passes the test.
[0073] The total number of actual uses can reflect the average trigger probability of a skill to some extent. For example, a higher total number of actual uses indicates a higher average trigger probability, while a lower total number of actual uses indicates a lower average trigger probability. The preset range can be set based on whether the skill has been modified. For example, if the skill has not been modified, the preset range can be 0%-10%, while if the skill has been modified, the preset range can be positively correlated with the magnitude of the modification.
[0074] Optionally, the terminal can also compare the first statistical information with the second statistical information corresponding to the previous version to determine whether at least one of the total actual usage times of the skill or the average value of the simulated effect has fluctuated significantly between the two versions, thereby determining whether the skill has passed the test. The second statistical information is the statistical information obtained by testing at least two skills from the previous version's version data before the previous version was launched.
[0075] This application provides a method for testing skills. Before a new version is released, configuration data for at least two matches can be generated based on the new version's version data and the team compositions of at least two matches. Then, the results of at least two matches can be quickly calculated using the server corresponding to the new version, based on the configuration data. Using this method, the match results after the new version is released can be simulated without manually starting matches. This allows for a more accurate determination of whether the effect values of multiple skills will deviate significantly after the new version is released, enabling testing of a large number of skills in a short time and improving testing efficiency.
[0076] exist Figure 2 Based on the illustrated embodiment, in this embodiment, the game configuration data can be carried in the data packet. Accordingly, the terminal sends the data packet carrying the configuration data to the server, so that the server can simulate the game result based on the configuration data in the data packet. The specific process is detailed in the following embodiments.
[0077] Figure 3 This is a flowchart of another skill testing method provided in an embodiment of this application. Taking the method executed by a terminal as an example, as follows... Figure 3 As shown, the method includes:
[0078] 301. Based on the version data of the first version and the lineup configuration of each of the at least two matches, the terminal generates configuration data for at least two matches. The version data includes the object attributes of at least two virtual objects and the skill attributes of at least two skills. The configuration data includes the object attributes, the skills carried, and the skill attributes of the virtual objects that appear in each match.
[0079] In the embodiments of this application, step 301 is the same as step 201, and will not be described again here.
[0080] Additionally, it should be noted that the version data for the first version and the lineup configuration for each match can be stored in any type of file, such as tables or text documents. For example, Table 1 includes object attributes of at least two virtual objects, Table 2 includes skill attributes of at least two skills, and Table 3 includes the lineup configuration for each match. Accordingly, the terminal obtains the version data for the first version by parsing at least one table, or obtains the lineup configuration for each of at least two matches. The process of the terminal obtaining version data and lineup configuration data is essentially the process of the terminal reading the above data from the corresponding type of file and loading the read data into memory. Subsequently, the terminal can use various data in memory to generate the configuration data for at least two matches.
[0081] In one possible implementation, the terminal uses the following steps (1)-(2) to generate configuration data for each game.
[0082] (1) For the i-th match in at least two matches, the terminal creates test cases for the i-th match based on the lineup configuration of the i-th match and the version data of the first version. Here, i is an integer, and the lineup configuration of the i-th match is used to represent the skills carried and the faction to which each virtual object appears in the i-th match belongs.
[0083] Taking turn-based strategy games as an example, each match typically involves two factions. Virtual objects belonging to different factions are usually hostile to each other, and the virtual objects of the two factions can automatically engage in adversarial interactions during the match until all virtual objects in one faction are eliminated. Optionally, when a virtual object's health points drop to 0, that virtual object is eliminated.
[0084] A test case is a set of conditions provided to the system or device under test for the purpose of conducting tests. The test cases for the i-th game are used to test the skills involved in the i-th game. The test cases for the i-th game include, but are not limited to: the lineup configuration of the i-th game, the object attributes of each virtual object appearing in the i-th game, the skills it carries, and the skill attributes of each skill.
[0085] In one possible implementation, since the version data may include object attributes of virtual objects not involved in the i-th game, skill attributes of skills not involved, etc., the terminal obtains a subset of version data from the version data of the first version based on the lineup configuration of the i-th game. This subset of version data is a part of the version data, including the object attributes of each virtual object in the i-th game and the skill attributes of the skills carried by each virtual object. In other words, the virtual objects in the version data subset are the virtual objects that appear in the i-th game, and the skills in the version data subset are the skills used by the virtual objects in the i-th game. Then, the terminal creates test cases for the i-th game based on the lineup configuration and the subset of version data. By obtaining a subset of version data from the full version data based on the game's lineup configuration, and quickly creating test cases for the game based on the subset of version data and the lineup configuration, it is possible to reduce the amount of data obtained and improve the efficiency of test case creation, rather than obtaining the full version data every time test cases are created.
[0086] (2) The terminal generates configuration data for the i-th game based on the test cases of the i-th game. Optionally, if the configuration data is carried in a data packet, the terminal fills at least one piece of data from the test cases of the i-th game into at least two fields in the initial data packet according to a preset transmission protocol, thus obtaining the data packet for the i-th game. The initial data packet is a blank data packet with at least two fields to be filled. The preset transmission protocol is used to specify the data to be filled in at least two fields in the initial data packet. Optionally, the preset transmission protocol can be a common protocol such as JSON (a lightweight data exchange format), HTTP (Hypertext Transfer Protocol), or Protobuf (a lightweight structured data exchange format).
[0087] By generating data packets carrying the game's configuration data according to a preset transmission protocol, it is ensured that the format of the data packets conforms to the preset transmission rules. This allows the game's configuration data to be transmitted to the server quickly and accurately in the form of data packets, so that the server can read the configuration data carried in the data packets according to the preset transmission rules, thus ensuring the efficiency and accuracy of data transmission.
[0088] For example, the default transmission protocol specifies that the first field in the initial data packet is used to fill in the identifiers of multiple virtual objects that appear in the game, the second field is used to fill in the faction identifier of the faction to which each virtual object belongs, the third field is used to fill in the skill identifier of the skill carried by each virtual object, the fourth field is used to fill in the object attribute of each virtual object, and the fifth field is used to fill in the skill attribute of each skill.
[0089] 302. When the configuration data is carried in the data packet, the terminal sends at least two data packets to the server corresponding to the first version. The server corresponding to the first version simulates the game results of at least two games based on the at least two data packets. The at least two data packets correspond one-to-one with the at least two games.
[0090] In this embodiment, when configuration data is carried in data packets, the terminal can generate at least two data packets by executing step 302 described above. Each of the at least two data packets corresponds one-to-one with at least two matches. Each data packet carries the configuration data for its corresponding match. The terminal can send multiple data packets in batches to the server corresponding to the first version, thereby quickly transmitting the configuration data of multiple matches to the server, and then simulating the match results of multiple matches through the server.
[0091] In one possible implementation, for the j-th game in at least two matches, based on the number of repetitions of the j-th game, the terminal sends a preset number of data packets for the j-th game to the server corresponding to the first version, thereby simulating multiple repetitions of a single match through the server. Here, j is an integer, and the preset number is the same as the number of repetitions. The number of matches and the number of repetitions can be set by the tester according to testing needs. For example, if the tester manually creates a lineup configuration for 34 matches and sets each match to be repeated 200 times, the terminal can generate 34 data packets based on the version data of the first version and the lineup configuration for each match, and then send 34*200 data packets to the server in batches. By sending multiple identical data packets to the server, matches with the same lineup configuration can be repeated multiple times, ensuring a relatively balanced and stable simulated skill effect value. This avoids inaccuracies in simulated effect values such as trigger probability and critical hit probability, which are easily affected by probability, and reduces errors caused by the randomness of skills.
[0092] It should be noted that, in this embodiment, before sending data packets to the server corresponding to the first version, the new version of the server can be automatically deployed through a pipeline approach. This ensures that subsequent simulations of game results are performed using the updated server, i.e., the server corresponding to the first version. Simulating game results using the first version's server allows testers to determine the correctness of the relevant logic of the server, such as skill release logic, damage calculation logic, and immunity control logic. This prevents anomalies in the server-side skill-related calculation logic after the new version of the game application is launched, ensuring the balance and stability of the game application after its release.
[0093] 303. The terminal receives the game results of at least two games returned by the server corresponding to the first version.
[0094] In this embodiment, after the server simulates the results of each match, it can encapsulate the results in data packets according to a preset transmission protocol and then return the data packets carrying the results to the terminal. Correspondingly, the terminal receives at least two data packets returned by the server and parses them to obtain the results of at least two matches. Optionally, for any given match, the results may include, but are not limited to, at least two skills actually used in the match, the actual number of times each of the at least two skills was used, and the simulated effect value.
[0095] Optionally, for any skill in the game result, the actual number of times the skill was used and the simulated effect value can be represented by the following pseudocode.
[0096] "Skill{
[0097] Skill ID: 43715
[0098] Actual usage count: 2
[0099] Simulated damage value: 600
[0100] Simulated health recovery value 880
[0101] }”
[0102] The skill ID is used to uniquely identify the skill. The actual number of uses refers to the number of times the skill was actually used in a match. The simulated damage value is the average of the simulated damage values of the skill in a match. For example, if the skill was actually used 2 times in a match, and the simulated damage values for each use were 500 and 700 respectively, then the simulated damage value of the skill in the match would be 600.
[0103] 304. The terminal generates the first statistical information of each skill in the version data based on the results of at least two matches.
[0104] 305. Based on the first statistical information, the terminal determines the test results of each skill in the version data.
[0105] Steps 304-305 are the same as steps 203-204 above, and will not be repeated here.
[0106] This application provides a method for testing skills. Before a new version is released, based on the version data of the new version and the lineup configurations of at least two matches, data packets corresponding to at least two matches are generated. Each match's data packet carries the configuration data for that match. The terminal then sends the configuration data of at least two matches to the server corresponding to the new version in the form of data packets. The server then simulates and returns the results of multiple matches based on the configuration data. Using this method, matches can be quickly simulated via a server after the new version is released without manual intervention. This allows for rapid determination of the test results for each skill in the version data based on the simulated match results, improving testing efficiency.
[0107] In addition, by transmitting configuration data and game results between the terminal and the server in the form of data packets according to preset transmission rules, it is possible to realize the transmission of configuration data and game results between the terminal and the server according to preset transmission rules, thereby improving the efficiency and accuracy of data transmission.
[0108] In addition, by simulating the game results using the server corresponding to the new version, it is possible to determine whether the relevant logic of the server corresponding to the new version is correct, such as the skill release logic, damage calculation logic, and immunity control logic. This will prevent the server-side calculation logic related to skills from becoming abnormal after the new version of the game application is launched, and ensure the balance and stability of the game application after its launch.
[0109] Based on the above embodiments, the terminal can also obtain the test results of each skill in the version data of the first version by comparing the first statistical information and the second statistical information. See the following embodiments for the specific process.
[0110] Figure 4 This is a flowchart of another skill testing method provided in an embodiment of this application. Taking the method executed by a terminal as an example, as follows... Figure 4 As shown, the method includes:
[0111] 401. Based on the version data of the first version and the lineup configuration of each of the at least two matches, the terminal generates configuration data for at least two matches. The version data includes the object attributes of at least two virtual objects and the skill attributes of at least two skills. The configuration data includes the object attributes, the skills carried, and the skill attributes of the virtual objects that appear in each match.
[0112] 402. Based on the configuration data of at least two matches, the terminal simulates the results of at least two matches through the server corresponding to the first version. The match results include at least two skills actually used in each match, the actual number of times each of the at least two skills was used, and the simulated effect value.
[0113] In the embodiments of this application, steps 401-402 are the same as steps 201-202, and will not be described again here.
[0114] 403. Based on the results of at least two matches, the terminal determines at least one of the total actual usage counts and the average of the simulated effect values of each skill in the version data.
[0115] In this embodiment, after receiving the results of at least two matches, the terminal determines, based on the received results, at least one of the total actual usage counts and the average simulated effect value of each skill in the version data across the at least two matches. Specifically, for the k-th skill, the total actual usage counts of the k-th skill are the sum of the actual usage counts of the k-th skill in the at least two matches. The average simulated effect value of the k-th skill is the average simulated effect value of the k-th skill across the at least two matches. k is an integer.
[0116] For example, if there are 34 matches in total, skill B is used in 30 matches, and the simulated critical hit chance of skill B in the i-th match is Xi, then the average critical hit chance of skill B is (X1+X2+…+X30) / 30.
[0117] Optionally, any skill includes simulated effect values in at least one dimension, such as simulated damage, simulated health regeneration, simulated dodge chance, simulated trigger chance, simulated critical hit chance, and simulated cooldown duration. Correspondingly, the average value of the simulated effect values includes at least one of the following: average damage, average health regeneration, average dodge chance, average trigger chance, average critical hit chance, and average cooldown duration. By supporting the determination of the average value of a skill's simulated effects across multiple dimensions, a more comprehensive test of the skill can be conducted across multiple dimensions such as damage effect, healing effect, and control effect, thus improving the comprehensiveness of skill testing.
[0118] It should be noted that, in addition to the simulation effects mentioned above, skills can also include simulation effects in other dimensions. Table 1 below illustrates various simulation effects of skills, using overall effects and detailed effects as examples.
[0119] Table 1
[0120]
[0121]
[0122] 404. The terminal generates first statistical information of a preset type based on at least one of the total actual usage times of each skill and the average of the simulated effect values. The preset type includes at least one of the following: text type, image type, and table type.
[0123] In this embodiment, the terminal fills in at least one of the total actual usage count and the average simulated effect value of each skill into a preset type template to obtain the first statistical information of the preset type. The preset type includes, but is not limited to, text type, image type, and table type. By generating the first statistical information of the preset type, the total actual usage count and / or the average simulated effect of each skill in multiple games can be clearly and intuitively reflected, thereby facilitating the terminal or testers to quickly determine the test results of each skill based on the first statistical information, improving testing efficiency.
[0124] For example, the first statistic for text types is shown below:
[0125] "Skill: Skill A Total actual usage count: 40 Average damage value: 770; "
[0126] Skill: Skill B Total actual usage times: 50 Average health recovery value: 560;
[0127] Skill: Skill C Total actual usage: 100 Average critical hit chance: 30%;
[0128] …。
[0129] Optionally, "Skill A", "Skill B", and "Skill C" can be text that can uniquely identify a skill, such as skill ID or skill name. This application embodiment does not impose any restrictions on this.
[0130] 405. The terminal obtains second statistical information, which is based on the version data of the second version and the lineup configuration of each game in at least two games. The second version is lower than the first version.
[0131] In this embodiment, similar to the first statistical information, the second statistical information refers to the statistical information obtained by testing each skill in the second version data on the terminal using the same method as steps 401-404 described above before releasing the second version of the game application. The second version can be any version prior to the first version, such as the version preceding the first version.
[0132] It should be noted that during the testing of various skills in the second version data, the lineup configurations used in at least two matches were the same as those used in at least two matches in step 401 above. This avoids significant deviations in match results due to differences in lineup configurations and match numbers, ensuring that version changes are the main factor causing differences in match results.
[0133] Optionally, the terminal can obtain the second statistical information from a preset storage space, which can be a storage area in the terminal's memory. The preset storage space is used to store statistical information corresponding to M historical versions, where M can be a preset value, such as 2, 3, 4, etc.; or the preset storage space can be used to store statistical information corresponding to each historical version. After generating the first statistical information, the terminal can store the first statistical information corresponding to the first version in the preset storage space.
[0134] 406. The terminal compares the first statistical information and the second statistical information to obtain the test results of each skill in the version data of the first version.
[0135] In this embodiment, by comparing the first statistical information and the second statistical information, it is possible to determine whether the total actual usage frequency and the average simulated effect value of each skill have undergone abnormal changes, thereby determining the test results of each skill. Abnormal changes refer to a significant change in the total actual usage frequency or the average simulated effect value of the skill, as indicated by the first statistical information, compared to the second statistical information, when the skill attributes and associated underlying mechanisms remain unchanged. Alternatively, abnormal changes can also refer to an unexpected change in the total actual usage frequency or the average simulated effect value of the skill when at least one of the skill attributes or associated underlying mechanisms has been modified. For example, if the damage value of skill D is reduced in the first version, but the average simulated damage value of skill D increases significantly, then skill D may have undergone abnormal changes.
[0136] By comparing the first and second statistical information, it is possible to quickly and intuitively determine whether the skill effects of each skill have changed abnormally in multiple games, such as whether the total actual number of times the skill is used or the average value of the simulated effect value has changed abnormally. This enables regression testing of each skill based on the statistical information corresponding to the old and new versions, and the regression testing has high efficiency and accuracy.
[0137] In one possible implementation, for the nth skill in the version data of the first version, the terminal determines at least one of the rate of change of the total actual number of uses of the nth skill and the rate of change of the average simulated effect value, based on first and second statistical information. Optionally, the terminal can determine the rate of change of the total actual number of uses of the skill and the rate of change of the average simulated effect value using the following formula.
[0138]
[0139] Wherein, diffratio1 is the rate of change of the total actual number of times the skill is used, C1 is the total actual number of times the skill is used in the second statistical information, C2 is the total actual number of times the skill is used in the first statistical information, and |C1-C2| is the absolute value of the difference between the two. diffratio2 is the rate of change of the average value of the simulated effect of the skill. P1 is the average value of the simulated effect of the skill in the second statistical information, P2 is the average value of the simulated effect of the skill in the first statistical information, and |P1-P2| is the absolute value of the difference between the two.
[0140] If at least two change rates of skill n are within their corresponding preset ranges, it indicates that the effect of skill n in the game has not changed abnormally, and the terminal determines that skill n has passed the test. If any change rate of skill n is not within its corresponding preset range, it indicates that skill n may have changed abnormally, and the terminal sends skill n to the manual verification process for the manual verification process to determine the test result of skill n. Optionally, the preset range can be set according to whether the skill has been modified. For example, if skill n has not been modified, the preset range can be 0%-10%; if skill n has been modified, the preset range can be positively correlated with the magnitude of the skill modification.
[0141] By determining that a skill passes the test when at least two rates of change are within the normal range, and then having the test results manually verified when either rate of change is outside the normal range, erroneous judgments about the skill test results can be avoided, thus improving the accuracy of skill testing.
[0142] In one possible implementation, after determining the rate of change of the total actual usage frequency and the rate of change of the average simulated effect value of each skill based on the first and second statistical information, the terminal can display the total actual usage frequency, the average simulated effect value, and at least two rates of change for each skill in both the old and new versions, thereby clearly and intuitively demonstrating the skill effects of each skill in both versions. Optionally, the terminal can display the skill effects of each skill in the following manner.
[0143] "keyis: 43578, oldvalis: 1436, newvalis: 1450, diffratio: 0.97%
[0144] keyis: 45722, oldvalis: 1418, newvalis: 1398, diffratio: 1.43%
[0145] keyis: 45726, oldvalis: 1404, newvalis: 1399, diffratio: 0.36%
[0146] …”
[0147] Wherein, "key" is the skill ID, "oldval" is the skill effect in the second set of statistics, and "newval" is the skill effect in the first set of statistics. Skill effect includes the average of the total actual usage counts or simulated effect values. "diffratio" is the rate of change of the skill effect.
[0148] This application provides a skill testing method that, before a new version is released, simulates and returns the results of at least two matches based on the configuration data of at least two matches via a server. The terminal can then use the match results returned by the server to statistically analyze the skill effects of each skill in the matches and compare them with the skill effects of each skill in the previous version. This method enables rapid and accurate regression testing of skills, improving the efficiency and accuracy of skill testing.
[0149] The above embodiments mainly introduce the process of performing regression testing on various skills in the version data. To illustrate the above process more clearly, the following will combine... Figure 5 The flowchart shown illustrates the skills test process described above. Figure 5 As shown, the regression testing process for each skill includes the following steps:
[0150] 501. Based on the version data of the first version and the lineup configuration of each of the at least two matches, the terminal generates data packets corresponding to at least two matches. The data packets carry the configuration data of the matches. The process of the terminal generating data packets is the same as step 301 above, and will not be repeated here.
[0151] 502. The terminal sends at least two data packets to the server corresponding to the first version, and the server corresponding to the first version simulates the results of at least two games based on the at least two data packets.
[0152] 503. The terminal receives the game results of at least two games returned by the server corresponding to the first version.
[0153] 504. Based on the results of at least two matches, the terminal determines at least one of the total actual usage counts and the average of the simulated effect values for each skill in the version data. The process by which the terminal determines the average of the total actual usage counts and / or simulated effect values for any skill is described in step 403 above and will not be repeated here.
[0154] 505. The terminal generates first statistical information of a preset type based on at least one of the total actual usage times of each skill and the average of the simulated effect values. The preset type includes at least one of the following: text type, image type, and table type.
[0155] 506. The terminal obtains second statistical information, which is based on the version data of the second version and the lineup configuration of each game in at least two games. The second version is lower than the first version.
[0156] 507. The terminal compares the first statistical information and the second statistical information to obtain the test results of each skill in the version data of the first version. The process of the terminal generating the first statistical information, obtaining the second statistical information, and determining the test results of each skill is described in steps 404-406 above, and will not be repeated here.
[0157] By executing steps 501-507 above, the terminal can transmit the game configuration data to the server. The server can then quickly simulate and return the game results based on the game configuration data. The terminal can then use the game results returned by the server to statistically analyze the skill effects of each skill in the game and compare them with the skill effects of each skill in the previous version. This enables fast and accurate regression testing of each skill, improving the efficiency and accuracy of regression testing.
[0158] In addition, the skill testing method provided in this application embodiment can be applied to a variety of scenarios. The following example illustrates the regression testing of game skills provided by a game application before the launch of a new version of the game application. Figure 6 This is a flowchart illustrating a game skill test provided in an embodiment of this application. See also... Figure 6 The method includes:
[0159] 601. Configuration Analysis: The test terminal reads the version data of the first version and the lineup configurations of at least two matches into memory. The test terminal is the terminal used by the tester. Using the skill testing method provided in this application embodiment, the test terminal can perform regression testing on various skills provided by the game application without installing or running the game application.
[0160] 602. Creating Test Cases: The test terminal obtains a subset of version data from the first version's version data based on the lineup configuration of the i-th game. The test terminal then creates test cases for the i-th game based on the lineup configuration and the version data subset. The version data subset includes the object attributes of each virtual object in the i-th game and the skill attributes of each virtual object's in-game skills.
[0161] 603. Generate Data Packets: Based on the test case of the i-th game, the test terminal generates data packets corresponding to the i-th game to send data packets corresponding to at least two games to the game server in batches. The game server is a backend server for the game application, used to provide backend services for the game application. Optionally, the game application includes at least one backend server, providing backend services for different functions of the game application, such as chat functions, game functions, etc. Accordingly, the game server can be a server used to provide backend services for the game application's game functions.
[0162] 604. Simulated Game Results: Based on the received data packets, the game server simulates and returns the results of at least two games to the test terminal.
[0163] 605. Generate First Statistical Information: The test terminal generates first statistical information based on the received game results. The first statistical information includes the total actual number of times each game skill was used and the average of the simulated effect values in the first version data.
[0164] 606. Determine the test results: The test terminal compares the first statistical information and the second statistical information to obtain the test results of each game skill in the first version of the version data.
[0165] In this embodiment, by employing the above-described testing method, the test terminal can directly transmit data packets with the game server, allowing the game server to quickly simulate match results based on the data packets. The game server can automatically complete regression testing of all game skills within 20 minutes at a rate of 8000 TPS (transactions per second). In contrast, traditional manual regression testing methods require a week to complete regression testing of all game skills. Therefore, the skill testing method provided in this embodiment significantly improves the efficiency and accuracy of skill testing.
[0166] Of course, the method provided in this application embodiment can also be applied in other scenarios, and this application embodiment does not limit it.
[0167] Figure 7 This is a schematic diagram of the structure of a skill testing device provided in an embodiment of this application. See also... Figure 7 The device includes: a first generation module 701, a simulation module 702, a second generation module 703, and a determination module 704.
[0168] The first generation module 701 is used to generate configuration data for at least two matches based on the version data of the first version and the lineup configuration of each match in at least two matches. The version data includes the object attributes of at least two virtual objects and the skill attributes of at least two skills. The configuration data includes the object attributes, the skills carried, and the skill attributes of the virtual objects that appear in each match.
[0169] The simulation module 702 is used to simulate the results of at least two matches based on the configuration data of at least two matches, through the server corresponding to the first version. The match results include at least two skills actually used in each match, the actual number of times each of the at least two skills was used, and the simulated effect value.
[0170] The second generation module 703 is used to generate first statistical information of each skill in the version data based on the results of at least two matches.
[0171] Module 704 is used to determine the test results of each skill in the version data based on the first statistical information.
[0172] In one possible implementation, the first generation module 701 is used to create test cases for the i-th game in at least two games, based on the lineup configuration of the i-th game and the version data of the first version. The lineup configuration of the i-th game is used to represent the skills carried and the faction to which each virtual object appears in the i-th game belongs. Based on the test cases of the i-th game, the configuration data of the i-th game is generated. Here, i is an integer.
[0173] In another possible implementation, the first generation module 701 is used to obtain a subset of version data from the version data of the first version based on the lineup configuration of the i-th game. The subset of version data includes the object attributes of each virtual object in the i-th game and the skill attributes of the skills carried by each virtual object. Based on the lineup configuration and the subset of version data, test cases for the i-th game are created.
[0174] In another possible implementation, the configuration data is carried in the data packet;
[0175] The first generation module 701 is used to fill at least one piece of data from the test case of the i-th game into at least two fields of the initial data packet according to a preset transmission protocol, so as to obtain the data packet of the i-th game. The preset transmission protocol is used to specify the data to be filled into at least two fields of the initial data packet.
[0176] In another possible implementation, the configuration data is carried in the data packet;
[0177] The simulation module 702 is used to send a preset number of data packets for the j-th game to the server corresponding to the first version, based on the number of repetitions of the j-th game, where j is an integer; wherein the preset number is the same as the number of repetitions.
[0178] In another possible implementation, the simulation module 702 is used to send a preset number of game data packets to the server corresponding to the first version for any given game, based on the number of times the game is repeated. The preset number is the same as the number of repetitions.
[0179] In another possible implementation, the second generation module 703 is used to determine, based on the results of at least two matches, at least one of the total actual usage counts and the average of the simulated effect values of each skill in the version data, wherein the total actual usage counts of the kth skill are the sum of the actual usage counts of the kth skill in at least two matches, and the average of the simulated effect values of the kth skill are the average of the simulated effect values of the kth skill in at least two matches, where k is an integer; and to generate first statistical information of a preset type based on at least one of the total actual usage counts and the average of the simulated effect values of each skill, wherein the preset type includes at least one of the following: text type, image type, and table type.
[0180] In another possible implementation, the average value of the simulated effect includes at least one of the following: average damage, average health recovery, average dodge chance, average trigger chance, average critical hit chance, and average cooldown duration.
[0181] In another possible implementation, module 704 is used to obtain second statistical information, which is obtained based on version data of a second version and the lineup configuration of each game in at least two games. The second version is lower than the first version. The test results of each skill in the version data of the first version are obtained by comparing the first statistical information and the second statistical information.
[0182] In another possible implementation, the determining module 704 is used to determine, for the nth skill in the version data of the first version, at least one of the rate of change of the total actual number of uses of the nth skill and the rate of change of the average value of the simulated effect value, based on the first statistical information and the second statistical information, where n is an integer; if at least two rates of change of the nth skill are within the corresponding preset range, the nth skill is determined to have passed the test; if any rate of change of the nth skill is not within the corresponding preset range, the nth skill is sent to the manual verification process, and the test result of the nth skill is determined by the manual verification process.
[0183] This application provides a method for testing skills. Before a new version is released, configuration data for at least two matches can be generated based on the new version's version data and the team compositions of at least two matches. Then, the results of at least two matches can be quickly calculated using the server corresponding to the new version, based on the configuration data. Using this method, the match results after the new version is released can be simulated without manually starting matches. This allows for a more accurate determination of whether the effect values of multiple skills will deviate significantly after the new version is released, enabling testing of a large number of skills in a short time and improving testing efficiency.
[0184] It should be noted that the skill testing device provided in the above embodiments is only an example of the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the terminal can be divided into different functional modules to complete all or part of the functions described above. In addition, the skill testing device and skill testing method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments, which will not be repeated here.
[0185] This application also provides a terminal, which includes a processor and a memory. The memory stores at least one computer program, which is loaded and executed by the processor to implement the skill testing method provided in the above embodiments.
[0186] Figure 8 This is a schematic diagram of the structure of a terminal provided in an embodiment of this application.
[0187] Terminal 800 includes a processor 801 and a memory 802.
[0188] Processor 801 may include one or at least two processing cores, such as a quad-core processor or an octa-core processor. Processor 801 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field Programmable Gate Array), and PLA (Programmable Logic Array). Processor 801 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 801 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 801 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0189] Memory 802 may include one or at least two computer-readable storage media, which may be non-transitory. Memory 802 may also include high-speed random access memory and non-volatile memory, such as one or at least two disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in memory 802 are used to store at least one computer program for use by processor 801 to implement the skills provided in the method embodiments of this application as a test method.
[0190] In some embodiments, the terminal 800 may also optionally include: a peripheral device interface 803 and at least one peripheral device. The processor 801, memory 802, and peripheral device interface 803 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 803 via a bus, signal line, or circuit board. Optionally, the peripheral device includes at least one of: a radio frequency circuit 804, a display screen 805, a camera assembly 806, an audio circuit 807, and a power supply 808.
[0191] Peripheral device interface 803 can be used to connect at least one I / O (Input / Output) related peripheral device to processor 801 and memory 802. In some embodiments, processor 801, memory 802 and peripheral device interface 803 are integrated on the same chip or circuit board; in some other embodiments, any one or two of processor 801, memory 802 and peripheral device interface 803 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.
[0192] The radio frequency (RF) circuit 804 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 804 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 804 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 804 includes: an antenna system, an RF transceiver, one or at least two amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The RF circuit 804 can communicate with other devices through at least one wireless communication protocol. This wireless communication protocol includes, but is not limited to: metropolitan area networks (MANs), various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks (WLANs), and / or WiFi (Wireless Fidelity) networks. In some embodiments, the RF circuit 804 may also include circuitry related to NFC (Near Field Communication), which is not limited in this application.
[0193] Display screen 805 is used to display a UI (User Interface). This UI may include graphics, text, icons, videos, and any combination thereof. When display screen 805 is a touch display screen, it also has the ability to collect touch signals on or above its surface. These touch signals can be input as control signals to processor 801 for processing. In this case, display screen 805 can also be used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard. In some embodiments, there may be one display screen 805, disposed on the front panel of terminal 800; in other embodiments, there may be at least two display screens, disposed on different surfaces of terminal 800 or in a folded design; in other embodiments, display screen 805 may be a flexible display screen, disposed on a curved or folded surface of terminal 800. Furthermore, display screen 805 may be configured as a non-rectangular irregular shape, i.e., a non-rectangular screen. Display screen 805 may be made of materials such as LCD (Liquid Crystal Display) or OLED (Organic Light-Emitting Diode).
[0194] The camera assembly 806 is used to acquire images or videos. Optionally, the camera assembly 806 includes a front-facing camera and a rear-facing camera. The front-facing camera is disposed on the front panel of the terminal 800, and the rear-facing camera is disposed on the back of the terminal 800. In some embodiments, there are at least two rear-facing cameras, which are any one of a main camera, a depth-sensing camera, a wide-angle camera, and a telephoto camera, to achieve background blurring by fusion of the main camera and the depth-sensing camera, panoramic shooting by fusion of the main camera and the wide-angle camera, VR (Virtual Reality) shooting, or other fusion shooting functions. In some embodiments, the camera assembly 806 may also include a flash. The flash may be a single-color temperature flash or a dual-color temperature flash. A dual-color temperature flash refers to a combination of a warm light flash and a cool light flash, which can be used for light compensation at different color temperatures.
[0195] The audio circuit 807 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, converting the sound waves into electrical signals that are input to the processor 801 for processing, or input to the radio frequency circuit 804 for voice communication. For stereo sound acquisition or noise reduction purposes, there may be at least two microphones, each located at a different part of the terminal 800. The microphone may also be an array microphone or an omnidirectional microphone. The speaker is used to convert the electrical signals from the processor 801 or the radio frequency circuit 804 into sound waves. The speaker may be a conventional diaphragm speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can convert electrical signals not only into audible sound waves but also into inaudible sound waves for purposes such as distance measurement. In some embodiments, the audio circuit 807 may also include a headphone jack.
[0196] Power supply 808 is used to supply power to the various components in terminal 800. Power supply 808 can be AC power, DC power, a disposable battery, or a rechargeable battery. When power supply 808 includes a rechargeable battery, the rechargeable battery can support wired charging or wireless charging. The rechargeable battery can also be used to support fast charging technology.
[0197] In some embodiments, the terminal 800 further includes one or at least two sensors 809. The one or at least two sensors 809 include, but are not limited to: an acceleration sensor 810, a gyroscope sensor 811, a pressure sensor 812, an optical sensor 813, and a proximity sensor 814.
[0198] Accelerometer 810 can detect the magnitude of acceleration on the three coordinate axes of a coordinate system established by terminal 800. For example, accelerometer 810 can be used to detect the components of gravitational acceleration on the three coordinate axes. Processor 801 can control display screen 805 to display the user interface in either a landscape or portrait view based on the gravitational acceleration signal acquired by accelerometer 810. Accelerometer 810 can also be used for games or for acquiring user motion data.
[0199] The gyroscope sensor 811 can detect the orientation and rotation angle of the terminal 800. The gyroscope sensor 811, in conjunction with the accelerometer sensor 810, can collect 3D motion data from the user on the terminal 800. Based on the data collected by the gyroscope sensor 811, the processor 801 can perform the following functions: motion sensing (e.g., changing the UI based on the user's tilt), image stabilization during shooting, game control, and inertial navigation.
[0200] The pressure sensor 812 can be disposed on the side bezel of the terminal 800 and / or the lower layer of the display screen 805. When the pressure sensor 812 is disposed on the side bezel of the terminal 800, it can detect the user's grip signal on the terminal 800, and the processor 801 can perform left / right hand recognition or quick operation based on the grip signal collected by the pressure sensor 812. When the pressure sensor 812 is disposed on the lower layer of the display screen 805, the processor 801 can control the operable controls on the UI interface based on the user's pressure operation on the display screen 805. The operable controls include at least one of button controls, scroll bar controls, icon controls, and menu controls.
[0201] An optical sensor 813 is used to collect ambient light intensity. In one embodiment, the processor 801 can control the display brightness of the display screen 805 based on the ambient light intensity collected by the optical sensor 813. Optionally, when the ambient light intensity is high, the display brightness of the display screen 805 is increased; when the ambient light intensity is low, the display brightness of the display screen 805 is decreased. In another embodiment, the processor 801 can also dynamically adjust the shooting parameters of the camera assembly 806 based on the ambient light intensity collected by the optical sensor 813.
[0202] The proximity sensor 814, also known as a distance sensor, is installed on the front panel of the terminal 800. The proximity sensor 814 is used to detect the distance between the user and the front of the terminal 800. In one embodiment, when the proximity sensor 814 detects that the distance between the user and the front of the terminal 800 is gradually decreasing, the processor 801 controls the display screen 805 to switch from a screen-on state to a screen-off state; when the proximity sensor 814 detects that the distance between the user and the front of the terminal 800 is gradually increasing, the processor 801 controls the display screen 805 to switch from a screen-off state to a screen-on state.
[0203] Those skilled in the art will understand that Figure 8 The structure shown does not constitute a limitation on terminal 800 and may include more or fewer components than shown, or combine certain components, or use different component arrangements.
[0204] This application also provides a server, the terminal including a processor and a memory, the memory storing at least one computer program, which is loaded and executed by the processor to implement the skill testing method provided in the above embodiments.
[0205] Figure 9This is a schematic diagram of a server structure provided in an embodiment of this application. The server 900 can vary significantly due to different configurations or performance. It may include one or more Central Processing Units (CPUs) 901 and one or more memories 902. The memories 902 store at least one computer program, which is loaded and executed by the processor 901 to implement the testing methods of the skills provided in the various method embodiments described above. Of course, the server may also have wired or wireless network interfaces, a keyboard, and input / output interfaces for input and output. The server may also include other components for implementing device functions, which will not be elaborated upon here.
[0206] This application also provides a computer-readable storage medium storing at least one computer program, which is loaded and executed by a processor to implement the skill testing method provided in the above embodiments.
[0207] This application also provides a computer program product, including a computer program loaded and executed by a processor to implement the skill testing method provided in the above embodiments.
[0208] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0209] The above description is only an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present application should be included within the protection scope of the present application.
Claims
1. A method for testing skills, characterized in that, The method includes: Based on the version data of the first version and the lineup configuration of each of the at least two matches, the configuration data of the at least two matches is generated. The version data includes the object attributes of at least two virtual objects and the skill attributes of at least two skills. The configuration data includes the object attributes, the skills carried, and the skill attributes of the virtual objects that appear in each match. Based on the configuration data of the at least two matches, the match results of the at least two matches are simulated through the server corresponding to the first version. The match results include at least two skills actually used in each match, the actual number of times each of the at least two skills is used, and the simulated effect value. Based on the results of the at least two matches, generate first statistical information for each skill in the version data; Based on the first statistical information, the test results of each skill in the version data are determined.
2. The method according to claim 1, characterized in that, The generation of configuration data for the at least two matches, based on the version data of the first version and the lineup configuration for each match in at least two matches, includes: For the i-th match in the at least two matches, a test case for the i-th match is created based on the lineup configuration of the i-th match and the version data of the first version. The lineup configuration of the i-th match is used to represent the skills carried and the faction to which each virtual object appears in the i-th match belongs. Based on the test cases of the i-th game, generate the configuration data for the i-th game, where i is an integer.
3. The method according to claim 2, characterized in that, The step of creating test cases for the i-th game based on the lineup configuration of the i-th game and the version data of the first version includes: Based on the lineup configuration of the i-th game, a subset of version data is obtained from the version data of the first version. The subset of version data includes the object attributes of each virtual object in the i-th game and the skill attributes of the skills carried by each virtual object. Based on the lineup configuration and the version data subset, create test cases for the i-th game.
4. The method according to claim 2, characterized in that, The configuration data is carried in the data packet; The generation of configuration data for the i-th game based on the test cases of the i-th game includes: According to a preset transmission protocol, at least one piece of data from the test case of the i-th game is filled into at least two fields of the initial data packet to obtain the data packet of the i-th game. The preset transmission protocol is used to specify the data to be filled into at least two fields of the initial data packet.
5. The method according to any one of claims 1 to 4, characterized in that, The configuration data is carried in the data packet; The step of simulating the game results of the at least two matches based on the configuration data of the at least two matches, through the server corresponding to the first version, includes: At least two data packets are sent to the server corresponding to the first version, and the server corresponding to the first version simulates the game results of the at least two games based on the at least two data packets, wherein the at least two data packets correspond one-to-one with the at least two games; Receive the game results of at least two matches returned by the server corresponding to the first version.
6. The method according to claim 5, characterized in that, Sending at least two data packets to the server corresponding to the first version includes: For the j-th game, based on the number of repetitions of the j-th game, a preset number of data packets for the j-th game are sent to the server corresponding to the first version, where j is an integer; The preset quantity is the same as the number of repetitions.
7. The method according to any one of claims 1 to 4, characterized in that, The generation of first statistical information for each skill in the version data based on the results of the at least two matches includes: Based on the results of the at least two matches, determine at least one of the total actual usage count of each skill in the version data and the average of the simulated effect values. The total actual usage count of the kth skill is the sum of the actual usage counts of the kth skill in the at least two matches, and the average of the simulated effect values of the kth skill is the average of the simulated effect values of the kth skill in the at least two matches, where k is an integer. Based on at least one of the total actual usage times of each skill and the average of the simulated effect values, the first statistical information of a preset type is generated, wherein the preset type includes at least one of text type, image type, and table type.
8. The method according to claim 7, characterized in that, The average value of the simulated effect includes at least one of the following: average damage value, average health recovery value, average dodge chance, average trigger chance, average critical hit chance, and average cooldown duration.
9. The method according to claim 1, characterized in that, The step of determining the test results of each skill in the version data based on the first statistical information includes: Obtain second statistical information, which is based on version data of the second version and the lineup configuration of each game in the at least two games, wherein the second version is lower than the first version; By comparing the first statistical information and the second statistical information, the test results of each skill in the version data of the first version are obtained.
10. The method according to claim 9, characterized in that, The comparison of the first statistical information and the second statistical information yields the test results for each skill in the version data of the first version, including: For the nth skill in the version data of the first version, based on the first statistical information and the second statistical information, determine at least one of the rate of change of the total actual number of times the nth skill is used and the rate of change of the average value of the simulated effect value, where n is an integer; If at least two rates of change of the nth skill are within the corresponding preset range, the nth skill is determined to have passed the test. If any rate of change of the nth skill is not within the corresponding preset range, the nth skill is sent to the manual verification process, and the test result of the nth skill is determined by the manual verification process.
11. A skill testing device, characterized in that, The device includes: The first generation module is used to generate configuration data for the at least two matches based on the version data of the first version and the lineup configuration of each match in at least two matches. The version data includes object attributes of at least two virtual objects and skill attributes of at least two skills. The configuration data includes object attributes, skills carried, and skill attributes of the virtual objects that appear in each match. The simulation module is used to simulate the results of the at least two matches based on the configuration data of the at least two matches, through the server corresponding to the first version. The match results include at least two skills actually used in each match, the actual number of times each of the at least two skills was used, and the simulated effect value. The second generation module is used to generate first statistical information of each skill in the version data based on the results of the at least two matches. The determination module is used to determine the test results of each skill in the version data based on the first statistical information.
12. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing at least one computer program, the at least one computer program being loaded and executed by the processor to implement the skill testing method as described in any one of claims 1 to 10.
13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one computer program, which is loaded and executed by a processor to implement the skill testing method as described in any one of claims 1 to 10.
14. A computer program product, comprising a computer program, characterized in that, The computer program is loaded and executed by a processor to implement the skill testing method as described in any one of claims 1 to 10.