CN110928770B - Software testing method, device, system, storage medium and electronic equipment - Google Patents

Software testing method, device, system, storage medium and electronic equipment Download PDF

Info

Publication number
CN110928770B
CN110928770B CN201911040158.0A CN201911040158A CN110928770B CN 110928770 B CN110928770 B CN 110928770B CN 201911040158 A CN201911040158 A CN 201911040158A CN 110928770 B CN110928770 B CN 110928770B
Authority
CN
China
Prior art keywords
software
test case
tested
code
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911040158.0A
Other languages
Chinese (zh)
Other versions
CN110928770A (en
Inventor
韩青松
于之曦
吴旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aisino Corp
Original Assignee
Aisino Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aisino Corp filed Critical Aisino Corp
Priority to CN201911040158.0A priority Critical patent/CN110928770B/en
Publication of CN110928770A publication Critical patent/CN110928770A/en
Application granted granted Critical
Publication of CN110928770B publication Critical patent/CN110928770B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

The disclosure relates to a method, a device, a system, a storage medium and an electronic device for testing software, which are applied to a server, wherein the method comprises the following steps: static comparison is carried out on source codes of new-version software to be tested and source codes of old-version software to be tested to obtain object code rows with differences, object test cases corresponding to the object code rows are determined in a preset test case set according to association relations between the code rows and the test cases, the association relations are determined by a client through preset dynamic byte codes, each test case in the test case set executed by the old-version software to be tested is monitored, and the relation sent to a server by the client is outputted to enable a user to test the new-version software to be tested according to the object test cases. According to the method and the device, the object code rows with differences are obtained through static comparison, and then the object test cases are determined according to the association relation between the object code rows and the test cases, so that retests and missing tests are avoided, and the efficiency and reliability of software testing are improved.

Description

Software testing method, device, system, storage medium and electronic equipment
Technical Field
The present disclosure relates to the field of electronic information technology, and in particular, to a method, an apparatus, a system, a storage medium, and an electronic device for testing software.
Background
With the continuous development of electronic information technology, the software updating speed is faster and faster, and each time the software is updated, the software needs to be tested so as to ensure that the new version of the software can meet the release standard and realize the expected function. If the new version software is comprehensively tested, the workload is large, the efficiency is low, and the delay of the online time of the new version software is easy to cause, so that the test cases need to be screened. Under normal conditions, the relation between the source code of the software and the test cases is determined by executing the running log and the coverage rate file of the test cases, so that the required test cases are screened, and the function change caused by the update of the software version cannot be covered accurately, thus retests or missing tests are easy to carry out, and the efficiency and the accuracy of the software test are reduced.
Disclosure of Invention
The purpose of the present disclosure is to provide a method, an apparatus, a system, a storage medium and an electronic device for testing software, which are used for solving the problems of low software testing efficiency and unreliable testing results caused by retesting or missing test cases in the prior art.
To achieve the above object, according to a first aspect of embodiments of the present disclosure, there is provided a method for testing software, applied to a server, the method including:
static comparison is carried out on source codes of the new version of software to be tested and source codes of the old version of software to be tested so as to obtain object code rows with differences;
determining a target test case corresponding to the target code line in a preset test case set according to the association relation between the code line and the test case, wherein the association relation is determined by monitoring each test case in the test case set executed by the old version of software to be tested through a preset dynamic byte code by a client, and is transmitted to the server by the client;
and outputting the target test case so that a user tests the new version of software to be tested according to the target test case.
Optionally, before the static comparison is performed on the source code of the new version of software to be tested and the source code of the old version of software to be tested to obtain the object code line with the difference, the method further includes:
acquiring a first identifier of the new version of software to be tested and a second identifier of the old version of software to be tested;
and determining the source code of the new version of software to be tested and the source code of the old version of software to be tested according to the first identifier and the second identifier.
Optionally, the method further comprises:
sending an instance recording signal to the client so that the client responds to the instance recording signal, executing each test instance on the old version of software to be tested, and enabling the client to monitor the execution process of each test instance through the dynamic byte code, thereby determining a code row corresponding to each test instance;
and receiving the association relation sent by the client, wherein the association relation is a relation determined by the client according to each test case and a code row corresponding to each test case.
Optionally, after the static comparison is performed on the source code of the new version of the software to be tested and the source code of the old version of the software to be tested to obtain the object code line with the difference, the method further includes:
determining branch information of branches where the object code line is located in source codes of the new version of software to be tested according to the object code line;
and outputting the branch information.
According to a second aspect of embodiments of the present disclosure, there is provided a method of software testing, applied to a client, the method comprising:
injecting preset dynamic byte codes into source codes of software to be tested;
Receiving a use case recording signal sent by a server;
responding to the case recording signal, executing each test case in a preset test case set on the software to be tested, and monitoring the execution process of each test case through the dynamic byte code so as to determine a code row corresponding to each test case;
according to each test case and the code row corresponding to each test case, determining the association relation between the code row and the test case, and sending the association relation to the server, so that the server determines the target test case corresponding to the target code row according to the association relation after determining the target code row with difference between the source code of the new version of software to be tested and the source code of the old version of software to be tested.
Optionally, the injecting the preset dynamic bytecode into the source code of the software to be tested includes:
determining a class to be monitored in the source code of the software to be detected as a target class;
and injecting the dynamic byte code for monitoring the target class into the source code of the software to be tested.
According to a third aspect of the embodiments of the present disclosure, there is provided an apparatus for software testing, applied to a server, the apparatus including:
The comparison module is used for carrying out static comparison on the source codes of the new version of software to be tested and the source codes of the old version of software to be tested so as to obtain object code rows with differences;
the first determining module is used for determining a target test case corresponding to the target code row in a preset test case set according to the association relation between the code row and the test case, wherein the association relation is determined by a client executing each test case in the test case set by the old version of software to be tested through a preset dynamic byte code, and is transmitted to the server by the client;
and the output module is used for outputting the target test case so that a user can test the new version of software to be tested according to the target test case.
Optionally, the apparatus further comprises:
the acquisition module is used for acquiring a first identifier of the new version of software to be tested and a second identifier of the old version of software to be tested before the source codes of the new version of software to be tested and the source codes of the old version of software to be tested are subjected to static comparison so as to acquire a target code row with a difference;
and the second determining module is used for determining the source code of the new version of software to be tested and the source code of the old version of software to be tested according to the first identifier and the second identifier.
Optionally, the apparatus further comprises:
the sending module is used for sending a case recording signal to the client so that the client responds to the case recording signal, executes each test case on the old version of software to be tested, monitors the execution process of each test case through the dynamic byte code by the client, and determines a code row corresponding to each test case;
the receiving module is used for receiving the association relation sent by the client, wherein the association relation is a relation determined by the client according to each test case and the code row corresponding to each test case.
Optionally, the apparatus further comprises:
the third determining module is used for determining branch information of branches where the object code line is located in the source code of the new version of software to be tested according to the object code line after the source code of the new version of software to be tested and the source code of the old version of software to be tested are subjected to static comparison to obtain the object code line with the difference;
the output module is further used for outputting the branch information.
According to a fourth aspect of embodiments of the present disclosure, there is provided an apparatus for software testing, applied to a client, the apparatus comprising:
The injection module is used for injecting the preset dynamic byte codes into the source codes of the software to be tested;
the receiving module is used for receiving the use case recording signal sent by the server;
the execution module is used for responding to the case recording signal, executing each test case in a preset test case set on the software to be tested, and monitoring the execution process of each test case through the dynamic byte code so as to determine a code row corresponding to each test case;
the determining module is used for determining the association relation between the code row and the test case according to each test case and the code row corresponding to each test case and sending the association relation to the server.
Optionally, the injection module includes:
the determining submodule is used for determining a class needing to be monitored in the source code of the software to be detected as a target class;
and the injection submodule is used for injecting the dynamic byte codes for monitoring the target class into the source codes of the software to be tested.
According to a fifth aspect of embodiments of the present disclosure, there is provided a system for software testing, the system including a server and a client;
the server is configured to perform the steps of the method according to any one of the first aspects of the embodiments of the present disclosure;
The client is configured to perform the steps of the method according to any of the second aspects of the embodiments of the present disclosure.
According to a sixth aspect of the disclosed embodiments, there is provided a computer readable storage medium having stored thereon a computer program which when executed by a processor implements the steps of the method of any of the first aspects of the disclosed embodiments.
According to a seventh aspect of the disclosed embodiments, there is provided a computer readable storage medium having stored thereon a computer program which when executed by a processor implements the steps of the method of any of the second aspects of the disclosed embodiments.
According to an eighth aspect of embodiments of the present disclosure, there is provided an electronic device, comprising:
a memory having a computer program stored thereon;
a processor for executing the computer program in the memory to implement the steps of the method of any of the first aspects of the embodiments of the present disclosure.
According to a ninth aspect of embodiments of the present disclosure, there is provided an electronic device, including:
a memory having a computer program stored thereon;
a processor for executing the computer program in the memory to implement the steps of the method of any of the second aspects of the embodiments of the present disclosure.
Through the technical scheme, the server side firstly performs static comparison on the source codes of the new version of software to be tested and the source codes of the old version of software to be tested to obtain the object code row with difference, then determines the object test cases corresponding to the object code row in the preset test case set according to the association relation between the code row and the test cases, wherein the association relation is that the client side monitors each test case in the test case set executed by the old version of software to be tested through the preset dynamic byte codes, the relationship is sent to the server side by the client side, and finally the server side outputs the object test cases so that a user can test the new version of software to be tested according to the object test cases. According to the method and the device, the object code rows with differences are obtained through static comparison, and then the object test cases are determined according to the association relation between the object code rows and the test cases, so that a user can test according to the object test cases, the accuracy is high, retests and missing tests can be avoided, and the efficiency and reliability of software testing are improved.
Additional features and advantages of the present disclosure will be set forth in the detailed description which follows.
Drawings
The accompanying drawings are included to provide a further understanding of the disclosure, and are incorporated in and constitute a part of this specification, illustrate the disclosure and together with the description serve to explain, but do not limit the disclosure. In the drawings:
FIG. 1 is a flow chart illustrating a method of software testing according to an exemplary embodiment;
FIG. 2 is a flow chart illustrating another method of software testing according to an exemplary embodiment;
FIG. 3 is a flowchart illustrating another method of software testing according to an exemplary embodiment;
FIG. 4 is a flowchart illustrating another method of software testing according to an exemplary embodiment;
FIG. 5 is a flowchart illustrating a method of software testing according to an exemplary embodiment;
FIG. 6 is a flowchart illustrating another method of software testing according to an exemplary embodiment;
FIG. 7 is a block diagram illustrating an apparatus for software testing according to an exemplary embodiment;
FIG. 8 is a block diagram illustrating another software testing apparatus according to an exemplary embodiment;
FIG. 9 is a block diagram illustrating another software testing apparatus according to an exemplary embodiment;
FIG. 10 is a block diagram illustrating another software testing apparatus according to an exemplary embodiment;
FIG. 11 is a block diagram illustrating an apparatus for software testing according to an exemplary embodiment;
FIG. 12 is a block diagram illustrating another apparatus for software testing according to an exemplary embodiment;
FIG. 13 is a block diagram illustrating a system for software testing according to an exemplary embodiment;
FIG. 14 is a block diagram of an electronic device shown in accordance with an exemplary embodiment;
fig. 15 is a block diagram of an electronic device, according to an example embodiment.
Detailed Description
Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, the same numbers in different drawings refer to the same or similar elements, unless otherwise indicated. The implementations described in the following exemplary examples are not representative of all implementations consistent with the present disclosure. Rather, they are merely examples of methods and apparatus consistent with some aspects of the disclosure as detailed in the accompanying claims.
Before introducing the method, the device, the system, the storage medium and the electronic equipment for testing software provided by the disclosure, application scenarios related to various embodiments of the disclosure are first described. The application scene comprises a server and a client, wherein information transmission can be realized between the server and the client through a physical connection or a wireless communication technology, for example, information can be transmitted between the server and the client through a network cable, an optical fiber and other physical connection, and information interaction can also be realized through WLAN (English: wireless Local Area Network, chinese: wireless local area network), bluetooth, zigBee (Chinese: zigbee protocol) and other wireless communication technologies. The server may be, for example, a server, and may include, but is not limited to: entity servers, server clusters, cloud servers, etc. The client may be a mobile terminal such as a smart phone, a tablet computer, a smart television, a PDA (english: personal Digital Assistant, chinese: personal digital assistant), a portable computer, or a fixed terminal such as a desktop computer. The source code of the software to be tested (including the new version of the software to be tested and the old version of the software to be tested) in the embodiment may be, for example, a Java program, which is not limited in this disclosure.
FIG. 1 is a flowchart illustrating a method of software testing, as shown in FIG. 1, applied to a server, according to an exemplary embodiment, comprising the steps of:
and step 101, carrying out static comparison on the source codes of the new version of software to be tested and the source codes of the old version of software to be tested to obtain object code rows with differences.
For example, with the continuous improvement of the user's requirements and business scope, the software to be tested will be updated continuously, and the updated new software to be tested needs to be tested before the new software to be tested is released. Firstly, statically comparing source codes of new version of software to be tested with source codes of old version of software to be tested through a server to obtain object code lines with differences, wherein the object code lines can be one or more lines of code lines. The server may use a code comparison tool to perform static comparison of source codes, where the code comparison tool may be, for example, a Beyond compare, diffMerge, winMerge, etc., and the disclosure is not limited in this regard. The old version of the software to be tested can be any version of the software to be tested before the new version of the software to be tested. And obtaining code lines with differences after static comparison, namely target code lines. After the target code line is acquired, the target code line or information capable of reflecting the position of the target code line (for example, the line number of the target code line) can be stored, so that the server side can process the target code line, for example, the target code line or the information capable of reflecting the position of the target code line can be stored in a database which is pre-deployed on the server side, or can be stored in other terminal equipment which can be accessed by the server side through a network.
Step 102, determining a target test case corresponding to the target code line in a preset test case set according to the association relation between the code line and the test case, wherein the association relation is a relation determined by monitoring each test case in the test case set executed by old version software to be tested through a preset dynamic byte code by a client and is sent to a server by the client.
By way of example, the preset test case set is composed of a plurality of test cases capable of testing different functions of the software to be tested, and it can be understood that the test case set is the most complete set of cases for testing the software to be tested, and before the software to be tested is released for the first time, each test case in the test case set needs to be executed to ensure the functions of the software to be tested. When testing the new-version software to be tested, as the new-version software to be tested is often only partially modified compared with the old-version software to be tested, each test case in the test case set does not need to be executed.
According to the association relation between the code rows and the test cases, the test cases of each row of code rows in the target code rows with differences can be judged in sequence, and the test cases are used as target test cases. The association relation between the code row and the test case is sent to the server by the client, old version of software to be tested is installed on the client, and the execution process of each test case in the test case set is executed on the old version of software to be tested through the dynamic byte code monitoring, so that the code row corresponding to each test case is determined, and the code row corresponding to each test case can comprise one or more lines of code rows. The clients may be one or more, for example, test cases in the test case set may be distributed to multiple clients, and each client is provided with dynamic byte codes, so that an execution process of executing the test cases on old version software to be tested can be monitored.
It should be noted that, the client side injects the preset dynamic byte code into the source code of the old version of software to be tested, so as to realize the monitoring of the dynamic byte code on the execution process of each test case in the old version of software to be tested. Dynamic bytecode can monitor the execution of each test case by monitoring the operation of JVM (english: java Virtual Machine, chinese: java virtual machine). For example, a dynamic byte code can be injected into source codes of old version software to be tested by using a java agent and java ssist technology, so that the execution process of each test case in the old version software to be tested can be monitored through the dynamic byte code to determine a code row corresponding to each test case, and the association relationship between the code row and the test case is determined. After the association relationship between the code line and the test case is obtained, the client can send the association relationship to the server through socket communication, and the server can store the association relationship (for example, in a database which is pre-deployed on the server) after receiving the association relationship, so that the server can determine the target test case corresponding to the target code line in a preset test case set according to the pre-stored association relationship after determining the target code line.
And step 103, outputting the target test case so that the user can test the new version of software to be tested according to the target test case.
For example, after determining the target test cases, the server outputs the target test cases for the user to select, for example, the user may directly select all the target test cases to test the new software to be tested, or may select the test cases meeting the test requirements from the target test cases to test the new software to be tested according to different test requirements. The method for outputting the target test case can be, for example, that the target test case is directly sent to the client for display through the server, or the target test case is stored to the server and checked when the user needs to test the new version of software to be tested, for example, the user can check the target test case stored in the server through a login browser and other modes. The target test cases may be one or more.
In summary, in the disclosure, the server first performs static comparison on the source code of the new version of software to be tested and the source code of the old version of software to be tested to obtain the object code row with the difference, then determines the object test case corresponding to the object code row in the preset test case set according to the association relation between the code row and the test case, where the association relation is that the client monitors each test case in the test case set executed by the old version of software to be tested through the preset dynamic byte code, and the relationship is sent to the server by the client, and finally the server outputs the object test case, so that the user tests the new version of software to be tested according to the object test case. According to the method and the device, the object code rows with differences are obtained through static comparison, and then the object test cases are determined according to the association relation between the object code rows and the test cases, so that a user can test according to the object test cases, the accuracy is high, retests and missing tests can be avoided, and the efficiency and reliability of software testing are improved.
FIG. 2 is a flowchart illustrating another method of software testing, as shown in FIG. 2, according to an exemplary embodiment, the method further comprising, prior to step 101:
step 104, obtaining a first identifier of the new version of the software to be tested and a second identifier of the old version of the software to be tested.
And 105, determining the source code of the new version of the software to be tested and the source code of the old version of the software to be tested according to the first identifier and the second identifier.
For example, each version of the software to be tested has a unique identifier capable of identifying the version, and different versions of the software to be tested can be determined according to different identifiers, so that source codes corresponding to different versions of the software to be tested are determined. The identifier may be composed of symbols such as numerals and letters, and is used to represent a publisher, release date, version number, etc. of the software to be tested. Before static comparison is carried out on the source codes of the new version of software to be tested and the source codes of the old version of software to be tested, a server side firstly obtains a first identifier of the new version of software to be tested and a second identifier of the old version of software to be tested respectively, and then the source codes of the new version of software to be tested and the source codes of the old version of software to be tested are determined respectively according to the obtained first identifier and the obtained second identifier. The source codes of the new version of the software to be tested and the source codes of the old version of the software to be tested can be stored in a database on the server side in advance, and can also be stored in other terminal equipment which can be accessed by the server side through a network.
FIG. 3 is a flowchart illustrating another method of software testing, as shown in FIG. 3, according to an exemplary embodiment, the method further comprising:
and step 106, sending an instance recording signal to the client so that the client responds to the instance recording signal to execute each test instance on old version software to be tested, and enabling the client to monitor the execution process of each test instance through dynamic byte codes, thereby determining the code row corresponding to each test instance.
And step 107, receiving an association relation sent by the client, wherein the association relation is a relation determined by the client according to each test case and a code row corresponding to each test case.
For example, the server may periodically detect whether the association relationship sent by the client is stored, or detect whether the stored association relationship is the latest association relationship. If no association relationship is stored or the stored association relationship is not the latest (for example, a new test case is added in the test case set, and the association relationship does not include a code row corresponding to the new test case), then an example recording signal can be sent to the client, so that after the client receives the example recording signal, each test case is executed on old version software to be tested. The client monitors the execution process of each test case through the dynamic byte code, so that the code row corresponding to each test case is determined. And then the client determines the association relation according to each test case and the code row corresponding to each test case, and sends the association relation to the server. The server receives the association relationship and stores the received association relationship or replaces the original association relationship with the received association relationship.
FIG. 4 is a flowchart illustrating another method of software testing, as shown in FIG. 4, according to an exemplary embodiment, after step 101, the method further comprises:
and step 108, determining the branch information of the branch where the target code line is located in the source code of the new version of software to be tested according to the target code line.
And step 109, outputting branch information.
Further, after determining the target code line, the branch information of the branch where the target code line is located in the source code of the new version of software to be tested can also be determined. The branch information may include, for example, a line number range of a branch where the object code line is located in source code of the new version of software to be tested. When determining the branch information of the target code line, sequentially judging whether each code line in the target code line with difference belongs to branches (for example, if branch, if … else branch, switch branch and the like) in the source code of the new version of software to be tested, and if the code line belongs to a certain branch, taking the line number range of the code line contained in the branch as the branch information. And finally outputting the branch information for reference by a user. For example, the user may further select a test case capable of covering the branch information based on the target test case determined in step 102 according to the branch information, and test the new version of the software to be tested. The method of outputting the branch information may be, for example, directly sending the branch information to the client for display through the server, or storing the branch information to the server, and checking when the user needs to test the new version of software to be tested, for example, the user may check the branch information stored in the server by logging in a browser or the like.
In summary, in the disclosure, the server first performs static comparison on the source code of the new version of software to be tested and the source code of the old version of software to be tested to obtain the object code row with the difference, then determines the object test case corresponding to the object code row in the preset test case set according to the association relation between the code row and the test case, where the association relation is that the client monitors each test case in the test case set executed by the old version of software to be tested through the preset dynamic byte code, and the relationship is sent to the server by the client, and finally the server outputs the object test case, so that the user tests the new version of software to be tested according to the object test case. According to the method and the device, the object code rows with differences are obtained through static comparison, and then the object test cases are determined according to the association relation between the object code rows and the test cases, so that a user can test according to the object test cases, the accuracy is high, retests and missing tests can be avoided, and the efficiency and reliability of software testing are improved.
FIG. 5 is a flowchart illustrating a method of software testing, as shown in FIG. 5, applied to a client, according to an exemplary embodiment, comprising the steps of:
Step 201, injecting the preset dynamic byte code into the source code of the software to be tested.
For example, before testing a new version of software to be tested, firstly, the software to be tested is pre-installed on the client, and then a pre-set dynamic byte code is injected into the source code of the software to be tested, wherein the software to be tested is the software to be tested of the released version, i.e. any version of software to be tested before the new version of software to be tested needs to be tested on the server. The dynamic byte codes can be injected into the source codes of the software to be tested by using the Java agent and Java technology, and the dynamic byte codes correspond to various types in the source codes, namely, when the dynamic byte codes are injected, the type concerned by the dynamic byte codes can be preset.
Step 202, receiving a use case recording signal sent by a server.
Step 203, in response to the case recording signal, executing each test case in the preset test case set on the software to be tested, and monitoring the execution process of each test case through the dynamic byte code to determine the code row corresponding to each test case.
For example, the server may periodically detect whether the association relationship sent by the client is stored, or detect whether the stored association relationship is the latest association relationship. If the association relation is not stored or the stored association relation is not the latest association relation, the server side can send a use case recording signal to the client side. After receiving the case recording signal, the client starts to execute each test case in the preset test case set on the software to be tested as a response to the case recording signal, monitors the execution process of each test case through the dynamic byte code injected in step 201, so as to determine the code row corresponding to each test case, wherein the code row corresponding to each test case can comprise one or more lines of code rows.
Step 204, determining the association relation between the code row and the test case according to each test case and the code row corresponding to each test case, and sending the association relation to the server, so that the server determines the target test case corresponding to the target code row according to the association relation after determining the target code row with difference between the source code of the new version of the software to be tested and the source code of the old version of the software to be tested.
For example, after determining the code row corresponding to each test case, an association relationship between each test case and the code row may be determined. The association relationship may be, for example, in a table form, where each row includes a test case (or the number of the test case) and a code row (or the row number of the code row) corresponding to the test case. And the client sends the association relationship to the server, and the server determines a target test case corresponding to the target code line according to the received association relationship after determining the target code line with the difference between the source code of the new version of software to be tested and the source code of the old version of software to be tested.
The clients may be one or more, for example, the server may divide the test cases in the test case set into 5 subsets, and allocate the 5 subsets to the 5 clients respectively, where each client is provided with a dynamic byte code, so that an executing process of the test case in each of the 5 subsets executed on the software to be tested can be monitored. And then each client transmits the association relation between each test case in the corresponding subset and the code line to the server, and the server combines the association relation transmitted by the 5 clients into the association relation corresponding to the whole test case set.
FIG. 6 is a flowchart illustrating another method of software testing, as shown in FIG. 6, according to an exemplary embodiment, step 201 includes:
and 2011, determining a class to be monitored in source codes of the software to be detected as a target class.
In step 2012, the dynamic bytecode for monitoring the target class is injected into the source code of the software to be tested.
Specifically, the dynamic byte code corresponds to each kind of source code, and the source code of the software to be tested includes a large number of kinds, including kinds for realizing specific functions of the software to be tested, and also including kinds for realizing methods such as a middleware method, a platform method, a Java initialization method, and the like. When testing the software to be tested, only the class realizing the specific function of the software to be tested is usually focused, so that the class to be monitored can be determined as the target class in the source code of the software to be tested, and then the dynamic byte code for monitoring the target class is injected into the source code of the software to be tested. In this way, in step 203, when the dynamic bytecode monitors the execution process of each test case, the code lines corresponding to the classes involved in the middleware method, the platform method, the Java initialization method, and other methods can be removed, so as to obtain more accurate code lines corresponding to each test case, and further improve the efficiency and reliability of the software test.
In summary, in the disclosure, a client first injects a preset dynamic byte code into a source code of software to be tested, then receives a case recording signal sent by a server, then executes each test case in a preset test case set on the software to be tested in response to the case recording signal, monitors an execution process of each test case through the dynamic byte code to determine a code row corresponding to each test case, finally determines an association relationship between the code row and the test case, and sends the association relationship to the server, so that the server determines a target test case corresponding to the target code row according to the association relationship after determining that a difference target code row exists between a source code of new version of software to be tested and a source code of old version of software to be tested. According to the method and the device for testing the software, the execution process of the test case is monitored by injecting the dynamic byte codes, so that the association relation between the code row and the test case is determined, the service end is convenient to determine the target test case, the user can test according to the target test case, the accuracy is high, retests and missing tests can be avoided, and the efficiency and reliability of software testing are improved.
Fig. 7 is a block diagram illustrating an apparatus for software testing according to an exemplary embodiment, and as shown in fig. 7, the apparatus 300 is applied to a server, and includes:
The comparison module 301 is configured to statically compare the source code of the new version of software to be tested with the source code of the old version of software to be tested, so as to obtain a target code line with a difference.
The first determining module 302 is configured to determine, in a preset test case set, a target test case corresponding to the target code line according to an association relationship between the code line and the test case, where the association relationship is determined by a client by monitoring each test case in the test case set executed by old version of software to be tested through a preset dynamic bytecode, and the relationship is sent to a server by the client.
And the output module 303 is configured to output the target test case, so that the user tests the new version of software to be tested according to the target test case.
Fig. 8 is a block diagram illustrating another software testing apparatus according to an exemplary embodiment, and as shown in fig. 8, the apparatus 300 further includes:
the obtaining module 304 is configured to obtain a first identifier of the new version of software to be tested and a second identifier of the old version of software to be tested before statically comparing the source code of the new version of software to be tested with the source code of the old version of software to be tested to obtain a target code line with a difference.
The second determining module 305 is configured to determine, according to the first identifier and the second identifier, a source code of the new version of software to be tested and a source code of the old version of software to be tested.
Fig. 9 is a block diagram illustrating another software testing apparatus according to an exemplary embodiment, and as shown in fig. 9, the apparatus 300 further includes:
and the sending module 306 is configured to send an instance recording signal to the client, so that the client responds to the instance recording signal to execute each test instance on old version of software to be tested, and the client monitors the execution process of each test instance through the dynamic byte code, thereby determining a code row corresponding to each test instance.
The receiving module 307 is configured to receive an association relationship sent by the client, where the association relationship is a relationship determined by the client according to each test case and a code row corresponding to each test case.
Fig. 10 is a block diagram illustrating another software testing apparatus according to an exemplary embodiment, and as shown in fig. 10, the apparatus 300 further includes:
the third determining module 308 is configured to determine, according to the target code line, branch information of a branch where the target code line is located in the source code of the new version of software to be tested after statically comparing the source code of the new version of software to be tested with the source code of the old version of software to be tested to obtain the target code line with a difference.
The output module 303 is further configured to output the branching information.
The specific manner in which the various modules perform the operations in the apparatus of the above embodiments have been described in detail in connection with the embodiments of the method, and will not be described in detail herein.
In summary, in the disclosure, the server first performs static comparison on the source code of the new version of software to be tested and the source code of the old version of software to be tested to obtain the object code row with the difference, then determines the object test case corresponding to the object code row in the preset test case set according to the association relation between the code row and the test case, where the association relation is that the client monitors each test case in the test case set executed by the old version of software to be tested through the preset dynamic byte code, and the relationship is sent to the server by the client, and finally the server outputs the object test case, so that the user tests the new version of software to be tested according to the object test case. According to the method and the device, the object code rows with differences are obtained through static comparison, and then the object test cases are determined according to the association relation between the object code rows and the test cases, so that a user can test according to the object test cases, the accuracy is high, retests and missing tests can be avoided, and the efficiency and reliability of software testing are improved.
FIG. 11 is a block diagram illustrating an apparatus for software testing, as shown in FIG. 11, the apparatus 400 being applied to a client, including:
the injection module 401 is configured to inject a preset dynamic bytecode into source code of software to be tested.
The receiving module 402 is configured to receive a use case recording signal sent by the server.
The execution module 403 is configured to execute each test case in the preset test case set on the software to be tested in response to the case recording signal, and monitor an execution process of each test case through the dynamic byte code to determine a code row corresponding to each test case.
And the determining module 404 is configured to determine, according to each test case and the code row corresponding to each test case, an association relationship between the code row and the test case, and send the association relationship to the server.
Fig. 12 is a block diagram illustrating another software testing apparatus according to an exemplary embodiment, and as shown in fig. 12, the injection module 401 includes:
the determining submodule 4011 is used for determining a class to be monitored in source codes of the software to be detected as a target class.
The injection submodule 4012 is used for injecting the dynamic byte codes for monitoring the target class into the source codes of the software to be tested.
The specific manner in which the various modules perform the operations in the apparatus of the above embodiments have been described in detail in connection with the embodiments of the method, and will not be described in detail herein.
In summary, in the disclosure, a client first injects a preset dynamic byte code into a source code of software to be tested, then receives a case recording signal sent by a server, then executes each test case in a preset test case set on the software to be tested in response to the case recording signal, monitors an execution process of each test case through the dynamic byte code to determine a code row corresponding to each test case, finally determines an association relationship between the code row and the test case, and sends the association relationship to the server, so that the server determines a target test case corresponding to the target code row according to the association relationship after determining that a difference target code row exists between a source code of new version of software to be tested and a source code of old version of software to be tested. According to the method and the device for testing the software, the execution process of the test case is monitored by injecting the dynamic byte codes, so that the association relation between the code row and the test case is determined, the service end is convenient to determine the target test case, the user can test according to the target test case, the accuracy is high, retests and missing tests can be avoided, and the efficiency and reliability of software testing are improved.
Fig. 13 is a block diagram illustrating a system for software testing, as shown in fig. 13, the system 500 including a server 501 and a client 502, according to an exemplary embodiment.
The server 501 is configured to perform the steps of the method for testing software applied to the server in the above embodiment.
The client 502 is configured to perform the steps of the method of software testing applied to the client in the above embodiments.
The specific manner in which the various parts perform the operations in relation to the system of the above embodiments has been described in detail in relation to the embodiments of the method and will not be described in detail here.
In summary, in the disclosure, a client first injects a preset dynamic bytecode into a source code of software to be tested, then receives a case recording signal sent by a server, then executes each test case in a preset test case set on the software to be tested in response to the case recording signal, monitors an execution process of each test case through the dynamic bytecode to determine a code row corresponding to each test case, finally determines an association relationship between the code row and the test case, and sends the association relationship to the server. After receiving the association relation sent by the client, the server firstly performs static comparison on the source codes of the new version of software to be tested and the source codes of the old version of software to be tested to obtain object code rows with differences, then determines the object test cases corresponding to the object code rows in a preset test case set according to the association relation between the code rows sent by the client and the test cases, and finally outputs the object test cases so that a user can test the new version of software to be tested according to the object test cases. According to the method and the device for testing the software, the client monitors the executing process of the test case by injecting the dynamic byte codes, so that the association relation between the code row and the test case is determined, the association relation is sent to the server, after the server receives the association relation, the static comparison is firstly carried out to obtain the object code row with difference, and then the object test case is determined according to the association relation between the object code row and the test case, so that a user can test according to the object test case, the accuracy is high, retesting and missing test can be avoided, and the efficiency and reliability of software testing are improved.
Fig. 14 is a block diagram of an electronic device 600, according to an example embodiment. As shown in fig. 14, the electronic device 600 may include: a processor 601, a memory 602. The electronic device 600 may also include one or more of a multimedia component 603, an input/output (I/O) interface 604, and a communication component 605.
The processor 601 is configured to control the overall operation of the electronic device 600 to perform all or part of the steps in the method for testing software applied to a client. The memory 602 is used to store various types of data to support operations at the electronic device 600, which may include, for example, instructions for any application or method operating on the electronic device 600, as well as application-related data, such as contact data, transceived messages, pictures, audio, video, and the like. The Memory 602 may be implemented by any type or combination of volatile or nonvolatile Memory devices, such as static random access Memory (Static Random Access Memory, SRAM for short), electrically erasable programmable Read-Only Memory (Electrically Erasable Programmable Read-Only Memory, EEPROM for short), erasable programmable Read-Only Memory (Erasable Programmable Read-Only Memory, EPROM for short), programmable Read-Only Memory (Programmable Read-Only Memory, PROM for short), read-Only Memory (ROM for short), magnetic Memory, flash Memory, magnetic disk, or optical disk. The multimedia component 603 may include a screen and an audio component. Wherein the screen may be, for example, a touch screen, the audio component being for outputting and/or inputting audio signals. For example, the audio component may include a microphone for receiving external audio signals. The received audio signals may be further stored in the memory 602 or transmitted through the communication component 605. The audio assembly further comprises at least one speaker for outputting audio signals. The I/O interface 604 provides an interface between the processor 601 and other interface modules, which may be a keyboard, mouse, buttons, etc. These buttons may be virtual buttons or physical buttons. The communication component 605 is used for wired or wireless communication between the electronic device 600 and other devices. Wireless communication, such as Wi-Fi, bluetooth, near field communication (Near Field Communication, NFC for short), 2G, 3G, 4G, NB-IOT, eMTC, or other 5G, etc., or one or a combination of more of them, is not limited herein. The corresponding communication component 605 may thus comprise: wi-Fi module, bluetooth module, NFC module, etc.
In an exemplary embodiment, the electronic device 600 may be implemented by one or more application specific integrated circuits (Application Specific Integrated Circuit, abbreviated ASIC), digital signal processor (Digital Signal Processor, abbreviated DSP), digital signal processing device (Digital Signal Processing Device, abbreviated DSPD), programmable logic device (Programmable Logic Device, abbreviated PLD), field programmable gate array (Field Programmable Gate Array, abbreviated FPGA), controller, microcontroller, microprocessor, or other electronic components for performing the above-described method of software testing for a client.
In another exemplary embodiment, a computer readable storage medium is also provided, comprising program instructions which, when executed by a processor, implement the steps of the method of software testing applied to a client as described above. For example, the computer readable storage medium may be the memory 602 including program instructions described above that are executable by the processor 601 of the electronic device 600 to perform the method of software testing for a client described above.
In summary, in the disclosure, a client first injects a preset dynamic byte code into a source code of software to be tested, then receives a case recording signal sent by a server, then executes each test case in a preset test case set on the software to be tested in response to the case recording signal, monitors an execution process of each test case through the dynamic byte code to determine a code row corresponding to each test case, finally determines an association relationship between the code row and the test case, and sends the association relationship to the server, so that the server determines a target test case corresponding to the target code row according to the association relationship after determining that a difference target code row exists between a source code of new version of software to be tested and a source code of old version of software to be tested. According to the method and the device for testing the software, the execution process of the test case is monitored by injecting the dynamic byte codes, so that the association relation between the code row and the test case is determined, the service end is convenient to determine the target test case, the user can test according to the target test case, the accuracy is high, retests and missing tests can be avoided, and the efficiency and reliability of software testing are improved.
Fig. 15 is a block diagram of an electronic device 700, according to an example embodiment. For example, the electronic device 700 may be provided as a server. Referring to fig. 15, the electronic device 700 includes a processor 722, which may be one or more in number, and a memory 732 for storing computer programs executable by the processor 722. The computer program stored in memory 732 may include one or more modules each corresponding to a set of instructions. Further, the processor 722 may be configured to execute the computer program to perform the method of software testing applied to the server side described above.
In addition, the electronic device 700 can further include a power component 726 and a communication component 750, the power component 726 can be configured to perform power management of the electronic device 700, and the communication component 750 can be configured to enable communication of the electronic device 700, e.g., wired or wireless communication. In addition, the electronic device 700 may also include an input/output (I/O) interface 758. The electronic device 700 may operate based on an operating system stored in memory 732, such as Windows Server, mac OS XTM, unixTM, linuxTM, and the like.
In another exemplary embodiment, a computer readable storage medium is also provided, comprising program instructions which, when executed by a processor, implement the steps of the method for software testing applied to a server as described above. For example, the computer readable storage medium may be the memory 732 described above including program instructions executable by the processor 722 of the electronic device 700 to perform the method of software testing for a server described above.
In another exemplary embodiment, a computer program product is also provided, comprising a computer program executable by a programmable apparatus, the computer program having code portions for performing the above-described method of software testing applied to a server when executed by the programmable apparatus.
In summary, in the disclosure, the server first performs static comparison on the source code of the new version of software to be tested and the source code of the old version of software to be tested to obtain the object code row with the difference, then determines the object test case corresponding to the object code row in the preset test case set according to the association relation between the code row and the test case, where the association relation is that the client monitors each test case in the test case set executed by the old version of software to be tested through the preset dynamic byte code, and the relationship is sent to the server by the client, and finally the server outputs the object test case, so that the user tests the new version of software to be tested according to the object test case. According to the method and the device, the object code rows with differences are obtained through static comparison, and then the object test cases are determined according to the association relation between the object code rows and the test cases, so that a user can test according to the object test cases, the accuracy is high, retests and missing tests can be avoided, and the efficiency and reliability of software testing are improved.
The preferred embodiments of the present disclosure have been described in detail above with reference to the accompanying drawings, but the present disclosure is not limited to the specific details of the embodiments described above, and other embodiments of the present disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the present disclosure within the scope of the technical concept of the present disclosure.
In addition, it should be noted that, where specific features described in the foregoing embodiments are not contradictory, they may be combined in any suitable manner, and in order to avoid unnecessary repetition, the disclosure does not further describe the various possible combinations, so long as they do not violate the spirit of the disclosure, which should also be regarded as the disclosure.

Claims (10)

1. A method for testing software, applied to a server, the method comprising:
static comparison is carried out on source codes of the new version of software to be tested and source codes of the old version of software to be tested so as to obtain object code rows with differences;
determining a target test case corresponding to the target code line in a preset test case set according to the association relation between the code line and the test case, wherein the association relation is determined by monitoring each test case in the test case set executed by the old version of software to be tested through a preset dynamic byte code by a client, and is transmitted to the server by the client;
Outputting the target test case so that a user tests the new version of software to be tested according to the target test case;
sending an instance recording signal to the client so that the client responds to the instance recording signal, executing each test instance on the old version of software to be tested, and enabling the client to monitor the execution process of each test instance through the dynamic byte code, thereby determining a code row corresponding to each test instance;
and receiving the association relation sent by the client, wherein the association relation is a relation determined by the client according to each test case and a code row corresponding to each test case.
2. The method of claim 1, wherein before the statically comparing the source code of the new version of the software under test with the source code of the old version of the software under test to obtain the object code line with the difference, the method further comprises:
acquiring a first identifier of the new version of software to be tested and a second identifier of the old version of software to be tested;
and determining the source code of the new version of software to be tested and the source code of the old version of software to be tested according to the first identifier and the second identifier.
3. The method according to claim 1 or 2, wherein after the static comparison of the source code of the new version of the software under test and the source code of the old version of the software under test to obtain the object code line with the difference, the method further comprises:
determining branch information of branches where the object code line is located in source codes of the new version of software to be tested according to the object code line;
and outputting the branch information.
4. A method of software testing, for application to a client, the method comprising:
injecting preset dynamic byte codes into source codes of software to be tested;
receiving a use case recording signal sent by a server;
responding to the case recording signal, executing each test case in a preset test case set on the software to be tested, and monitoring the execution process of each test case through the dynamic byte code so as to determine a code row corresponding to each test case;
according to each test case and the code row corresponding to each test case, determining the association relation between the code row and the test case, and sending the association relation to the server, so that the server determines the target test case corresponding to the target code row according to the association relation after determining the target code row with difference between the source code of the new version of software to be tested and the source code of the old version of software to be tested.
5. The method of claim 4, wherein the injecting the predetermined dynamic bytecode into the source code of the software under test comprises:
determining a class to be monitored in the source code of the software to be detected as a target class;
and injecting the dynamic byte code for monitoring the target class into the source code of the software to be tested.
6. A device for testing software, the device being applied to a server, the device comprising:
the comparison module is used for carrying out static comparison on the source codes of the new version of software to be tested and the source codes of the old version of software to be tested so as to obtain object code rows with differences;
the first determining module is used for determining a target test case corresponding to the target code row in a preset test case set according to the association relation between the code row and the test case, wherein the association relation is determined by a client executing each test case in the test case set by the old version of software to be tested through a preset dynamic byte code, and is transmitted to the server by the client;
the output module is used for outputting the target test case so that a user can test the new version of software to be tested according to the target test case;
The sending module is used for sending a case recording signal to the client so that the client responds to the case recording signal, executes each test case on the old version of software to be tested, monitors the execution process of each test case through the dynamic byte code by the client, and determines a code row corresponding to each test case;
the receiving module is used for receiving the association relation sent by the client, wherein the association relation is a relation determined by the client according to each test case and the code row corresponding to each test case.
7. An apparatus for software testing, for application to a client, the apparatus comprising:
the injection module is used for injecting the preset dynamic byte codes into the source codes of the software to be tested;
the receiving module is used for receiving the use case recording signal sent by the server;
the execution module is used for responding to the case recording signal, executing each test case in a preset test case set on the software to be tested, and monitoring the execution process of each test case through the dynamic byte code so as to determine a code row corresponding to each test case;
The determining module is used for determining the association relation between the code row and the test case according to each test case and the code row corresponding to each test case and sending the association relation to the server.
8. A system for testing software, which is characterized by comprising a server and a client;
the server is used for executing the steps of the method of any one of claims 1-3;
the client being adapted to perform the steps of the method of claim 4 or 5.
9. A computer readable storage medium, on which a computer program is stored, characterized in that the program, when being executed by a processor, implements the steps of the method according to any one of claims 1-3 or 4-5.
10. An electronic device, comprising:
a memory having a computer program stored thereon;
a processor for executing the computer program in the memory to implement the steps of the method of any one of claims 1-3 or 4-5.
CN201911040158.0A 2019-10-29 2019-10-29 Software testing method, device, system, storage medium and electronic equipment Active CN110928770B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911040158.0A CN110928770B (en) 2019-10-29 2019-10-29 Software testing method, device, system, storage medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911040158.0A CN110928770B (en) 2019-10-29 2019-10-29 Software testing method, device, system, storage medium and electronic equipment

Publications (2)

Publication Number Publication Date
CN110928770A CN110928770A (en) 2020-03-27
CN110928770B true CN110928770B (en) 2023-11-28

Family

ID=69849778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911040158.0A Active CN110928770B (en) 2019-10-29 2019-10-29 Software testing method, device, system, storage medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN110928770B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597050A (en) * 2020-12-28 2021-04-02 上海品顺信息科技有限公司 Method, system, equipment and storage medium for testing associated source code and test case
CN113778849A (en) * 2021-03-15 2021-12-10 北京沃东天骏信息技术有限公司 Method, apparatus, device and storage medium for testing code
CN113127357B (en) * 2021-04-21 2023-10-03 北京百度网讯科技有限公司 Unit test method, apparatus, device, storage medium, and program product
CN113568839A (en) * 2021-08-03 2021-10-29 京东科技控股股份有限公司 Method, device, equipment and medium for software testing and statistical test coverage rate

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103198010A (en) * 2012-01-06 2013-07-10 腾讯科技(深圳)有限公司 Software testing method, device and system
CN103425584A (en) * 2013-08-27 2013-12-04 上海复深蓝信息技术有限公司 Large-scale application regression testing information processing method based on Java bytecode
CN105302710A (en) * 2014-07-03 2016-02-03 腾讯科技(深圳)有限公司 Method and apparatus for determining test case in need of regression testing
CN106201857A (en) * 2015-05-05 2016-12-07 阿里巴巴集团控股有限公司 The choosing method of test case and device
CN106547678A (en) * 2015-09-16 2017-03-29 伊姆西公司 For the method and apparatus of white-box testing
CN106775911A (en) * 2016-11-25 2017-05-31 努比亚技术有限公司 A kind of method of testing and device for application and development
CN107423214A (en) * 2017-04-18 2017-12-01 恒生电子股份有限公司 Software regression testing use-case acquisition methods, device and storage medium and electronic equipment
CN107515826A (en) * 2017-08-28 2017-12-26 广州阿里巴巴文学信息技术有限公司 Test case accurate recommendation method, device, system, equipment and storage medium
CN108628746A (en) * 2018-05-04 2018-10-09 艺龙网信息技术(北京)有限公司 Automatic interface testing method and system
CN108664372A (en) * 2018-05-08 2018-10-16 平安科技(深圳)有限公司 Monitoring device, method and the computer readable storage medium of test process
CN110109820A (en) * 2019-03-19 2019-08-09 深圳壹账通智能科技有限公司 Regression test case determines method, apparatus, computer equipment and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6775823B2 (en) * 2001-03-07 2004-08-10 Palmsource, Inc. Method and system for on-line submission and debug of software code for a portable computer system or electronic device
US9268671B2 (en) * 2013-12-06 2016-02-23 Testfire, Inc. Embedded test management for mobile applications
US9652366B2 (en) * 2014-12-04 2017-05-16 Hcl Technologies Ltd. Code change analysis to optimize testing lifecycle

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103198010A (en) * 2012-01-06 2013-07-10 腾讯科技(深圳)有限公司 Software testing method, device and system
CN103425584A (en) * 2013-08-27 2013-12-04 上海复深蓝信息技术有限公司 Large-scale application regression testing information processing method based on Java bytecode
CN105302710A (en) * 2014-07-03 2016-02-03 腾讯科技(深圳)有限公司 Method and apparatus for determining test case in need of regression testing
CN106201857A (en) * 2015-05-05 2016-12-07 阿里巴巴集团控股有限公司 The choosing method of test case and device
CN106547678A (en) * 2015-09-16 2017-03-29 伊姆西公司 For the method and apparatus of white-box testing
CN106775911A (en) * 2016-11-25 2017-05-31 努比亚技术有限公司 A kind of method of testing and device for application and development
CN107423214A (en) * 2017-04-18 2017-12-01 恒生电子股份有限公司 Software regression testing use-case acquisition methods, device and storage medium and electronic equipment
CN107515826A (en) * 2017-08-28 2017-12-26 广州阿里巴巴文学信息技术有限公司 Test case accurate recommendation method, device, system, equipment and storage medium
CN108628746A (en) * 2018-05-04 2018-10-09 艺龙网信息技术(北京)有限公司 Automatic interface testing method and system
CN108664372A (en) * 2018-05-08 2018-10-16 平安科技(深圳)有限公司 Monitoring device, method and the computer readable storage medium of test process
CN110109820A (en) * 2019-03-19 2019-08-09 深圳壹账通智能科技有限公司 Regression test case determines method, apparatus, computer equipment and storage medium

Also Published As

Publication number Publication date
CN110928770A (en) 2020-03-27

Similar Documents

Publication Publication Date Title
CN110928770B (en) Software testing method, device, system, storage medium and electronic equipment
CN110442524B (en) Method and device for testing web service interface with authentication authorization
US10698797B2 (en) Mobile application program testing method, server, terminal, and storage medium
CN107729227B (en) Application program test range determining method, system, server and storage medium
CN108228444B (en) Test method and device
CN109684188B (en) Test method and device
CN106294102A (en) The method of testing of application program, client, server and system
CN109683997B (en) Method for accessing application program interface through sandbox, sandbox and sandbox equipment
CN110320378B (en) Method, apparatus, device and computer readable storage medium for applying for a quality control test
CN109376534B (en) Method and apparatus for detecting applications
CN113485918B (en) Test method, test device, electronic equipment and storage medium
CN112699034B (en) Virtual login user construction method, device, equipment and storage medium
CN111090592A (en) Automatic testing method of buried point, terminal and readable storage medium
CN106843947B (en) Method and device for processing code defects
CN104579830A (en) Service monitoring method and device
CN111654495B (en) Method, apparatus, device and storage medium for determining traffic generation source
JP2021192214A (en) Method and device for verifying operation states of applications
CN108647139B (en) System test method, device, storage medium and electronic device
CN115705190A (en) Method and device for determining dependence degree
CN113360377A (en) Test method and device
CN112882948A (en) Stability testing method, device and system for application and storage medium
CN112650689A (en) Test method, test device, electronic equipment and storage medium
CN110908701B (en) Firmware version switching method and device, storage medium and electronic equipment
CN113535544A (en) Running method of sub-application to be debugged, computer equipment and device
CN112306858A (en) Test method and device and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant