WO2017162058A1 - Software test method and device - Google Patents

Software test method and device Download PDF

Info

Publication number
WO2017162058A1
WO2017162058A1 PCT/CN2017/076399 CN2017076399W WO2017162058A1 WO 2017162058 A1 WO2017162058 A1 WO 2017162058A1 CN 2017076399 W CN2017076399 W CN 2017076399W WO 2017162058 A1 WO2017162058 A1 WO 2017162058A1
Authority
WO
WIPO (PCT)
Prior art keywords
test
program
target program
test point
software testing
Prior art date
Application number
PCT/CN2017/076399
Other languages
French (fr)
Chinese (zh)
Inventor
刘俊峰
姚文辉
张海勇
朱家稷
Original Assignee
阿里巴巴集团控股有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 阿里巴巴集团控股有限公司 filed Critical 阿里巴巴集团控股有限公司
Publication of WO2017162058A1 publication Critical patent/WO2017162058A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • 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

Definitions

  • the present invention relates to computer technology, and in particular, to a software testing method and apparatus.
  • Software testing is a necessary link before the software runs online. Different software application environments can be tested by different software testing methods to ensure the running stability of the software running online.
  • the Failover test is a test method for testing software for processing and recovering. At present, when the software fails the recovery test, the test code is pre-written in the program code of the tested software, so that the test is compiled.
  • the test software needs to perform simulated abnormal exit scenarios under various paths, which is commonly referred to as simulated abnormal paths, and therefore, existing Every time an error path is tested in the technology, the programmer needs to update the code and recompile, which is less efficient.
  • the present invention provides a software testing method and apparatus for solving the technical problem of low efficiency of failure recovery testing in the prior art.
  • a software testing method comprising:
  • test program corresponding to the test point is called to test the target program.
  • a software testing apparatus comprising:
  • the software testing method and device provided by the embodiment of the present invention, by setting a test point in the target program in advance, in the process of executing the target program, executing the test program corresponding to the test point to the target after setting the position of the test point The program is tested.
  • the process of recompilation improves the efficiency of the test.
  • FIG. 1 is a schematic flowchart of a software testing method according to Embodiment 1 of the present invention.
  • FIG. 2 is a schematic flowchart of a software testing method according to Embodiment 2 of the present invention.
  • FIG. 3 is a schematic structural diagram of a software testing apparatus according to Embodiment 3 of the present invention.
  • FIG. 4 is a schematic structural diagram of a software testing apparatus according to Embodiment 4 of the present invention.
  • FIG. 1 is a schematic flowchart of a software testing method according to Embodiment 1 of the present invention. As shown in FIG. 1, the method includes:
  • Step 101 Execute a target program.
  • test points When writing the target program code, test points have been preset in the target program.
  • the content of the test point includes the test point identifier, such as the test point name, and the test point may also include a macro and a custom code, wherein the macro is used to indicate the execution order of the custom code and the calling test program.
  • test procedures usually use execution methods, events
  • the fixed format of content and event types is described, so in order to increase the flexibility of testing, the user can write a piece of custom code for testing in the test point before writing the target program code.
  • each test point in the target program can be set to the closed state, and then the target program is compiled, so that the target program is not affected by the test point, and the integrity and relative of the target program are guaranteed.
  • the client sends a Remote Procedure Call Protocol (RCP) request as a request for setting the open/close state, and the server sets the test point in the target program to be turned on or off according to the RCP request.
  • RCP Remote Procedure Call Protocol
  • Step 102 When executing a test point preset in the target program, calling the test program corresponding to the test point to test the target program.
  • test program is invoked to perform a failure recovery test on the target program.
  • test program is called to test the execution time of the target program.
  • the test program marked by the test point identifier may be queried in the container for recording the test program according to the test point identifier in the test point, according to the execution manner indicated by the test program, The content of the event and/or the type of event, the failure recovery test of the target program.
  • the execution mode may be a single execution, multiple executions, random execution, and the like;
  • the event type may be a delay, a return error code, an exception thrown, and a termination process, and the event content may be a specific time of the delay.
  • test points and when executing to the test point, the test program corresponding to the test point is called to test the target program to simulate various scenarios.
  • the target program and the test program are independent of each other, when the test program needs to be modified, there is no need to recompile the target program, which improves the efficiency of the test and the convenience of the test.
  • the solution in this embodiment is applied to a distributed system, since the distributed system is deployed with a high degree of complexity, the advantage of modifying the code and compiling the target program running in the distributed system is reflected. More fully.
  • Embodiment 2 is a schematic flowchart of a software testing method according to Embodiment 2 of the present invention. To clear the execution flow when the client performs a modification to the server-side test program, this embodiment provides a specific Schematic diagram of the process.
  • the method provided in this embodiment is executed by a server and a client, wherein the server is used to run the target program, and a server (Map) storing the test program is set on the server.
  • the client can update the test program in the Map through the RCP request.
  • test points are inserted in the required test locations within the target program, for example, to eliminate the bug point.
  • the debug point can be designed in a singleton mode.
  • the location of the debug point needs to be added, and the name of a debug point is declared, for example: DECLARE_DBG_POINT(New_DebugPiontName), where New_DebugPiontName is the name of the debug point. .
  • DECLARE_DBG_POINT New_DebugPiontName
  • New_DebugPiontName is the name of the debug point.
  • DBG_POINT_PRE_EXEC New_DebugPiontName, code
  • DBG_POINT_PRE_EXEC is a macro, this macro indicates that the custom code is executed before executing the test program corresponding to the debug point.
  • Different macros can specify a custom code to be executed before execution or after executing the test program at the debug point. Since this part of the custom code is located in the target program and therefore cannot be modified by the client, it needs to be determined when writing the code of the target program.
  • the test program corresponding to each test point is stored in the Map, and the test program includes the execution mode (Point Type), the event content (Action), and the event type (Action Type) of each debug point.
  • the execution mode may be a single execution, multiple executions, random execution, and the like;
  • the event type may be a delay, a return error code, an exception thrown, and a termination process, and the event content may be a specific time of the delay.
  • the software testing methods include:
  • Step 201 The client sends an RCP request.
  • the RPC request carries the name of the debug point, and the execution mode, event content, and event type of the test program corresponding to the debug point.
  • Step 202 The server end updates the test program according to the RCP request.
  • the server side modifies the execution mode, the event content, and the event type in the test program corresponding to the debug point in the Map container to the execution mode, the event content, and the event type in the RCP request.
  • Step 203 When the server runs the target program to the test point location, query the test program corresponding to the test point.
  • the server side executes the test point to DBG_POINT_PRE_EXEC(New_DebugPiontName, code)
  • the server first executes the custom code code, and then calls the singleton method of the debug point to query the Map container for events that need to be executed. Including event content and event type, as well as event execution Line mode.
  • Step 204 Determine whether the event type in the test program is a delay. If yes, execute step 205; otherwise, perform step 206.
  • Step 205 Determine an execution time according to a delay time remaining in the test program whose delay time has not ended and a delay time indicated in the current test program, and perform delay according to the determined execution time.
  • the delay type event Before executing the delay type event, it is necessary to query the debug point that has been executed before the debug point, whether there is a debug point whose event type is delayed, and the delay time does not end. If it does not exist, execute the event. If it exists, The difference between the delay time of the unfinished debug point and the delay time of the current event is used as the delay time for the event to be executed. When the delay time for the event to be executed is a positive number, the calculated delay is performed according to the calculated delay. Time to execute the delay event.
  • the actual delay time is the delay time of the previous debug point.
  • Step 206 Perform a test procedure corresponding to the test point.
  • the test is performed directly according to the contents of the test program, that is, the execution mode, event content, and event type indicated by the test program are executed.
  • the test program corresponding to the test point is called after the position where the test point is set, and the target program is tested.
  • FIG. 3 is a schematic structural diagram of a software testing apparatus according to Embodiment 3 of the present invention. As shown in FIG. 3, the method includes: an executing module 31 and a calling module 32.
  • the execution module 31 is configured to execute a target program.
  • the calling module 32 is configured to, when executing a test point preset to the target program, invoke a test program corresponding to the test point to test the target program.
  • test points can include: test point identification, macros and custom code.
  • the calling module 32 is specifically configured to invoke the test program to perform a failure recovery test on the target program.
  • the test program corresponding to the test point is called after the position where the test point is set, and the target program is tested.
  • the calling module 32 further includes: a query unit 321 and a testing unit. 322.
  • the query unit 321 is configured to query the test program marked by the test point identifier in a container for recording a test program according to the test point identifier in the test point.
  • the testing unit 322 is configured to perform a failure recovery test on the target program according to the execution manner, the event content, and/or the event type indicated by the test program.
  • testing unit 322 includes a query sub-unit 3221, a computing sub-unit 3222, and an executing sub-unit 3223.
  • the query subunit 3221 is configured to query, in the test program that has been executed, whether the test program has a delay time that is not completed when the event type of the test program is delayed.
  • the calculation sub-unit 3222 is configured to determine, if present, an actual delay time of the test program based on a remaining delay time of the test program whose delay time has not ended, and a delay time indicated by an event content of the test program.
  • the executing subunit 3223 is configured to delay the target program according to the actual delay time of the test program.
  • the software testing device further includes: a customization module 33, a receiving module 34, an updating module 35, a compiling module 36, a status receiving module 37, a setting module 38, and a confirming module 39.
  • a custom module 33 configured to execute the custom code and the test program according to the macro in the test point In order, execute the custom code.
  • the receiving module 34 is configured to receive an update request.
  • the update request includes a test point identifier, and an execution manner, event content, and/or event type.
  • the updating module 35 is configured to update the test program indicated by the update request according to the update request.
  • the update module 35 is specifically configured to update the execution mode, the event content, and/or the event type in the test program corresponding to the test point identifier in the update request, and update the execution manner, the event content, and the event content in the update request. / or event type.
  • the compiling module 36 is configured to compile the target program after setting each test point in the target program to a closed state.
  • the status receiving module 37 is configured to receive a request for setting an open/close state.
  • the setting module 38 is configured to set the test point in the target program to an open state or a closed state according to the request for setting an open/close state.
  • the confirmation module 39 is configured to confirm that the test point is in an open state before calling the test program corresponding to the test point to test the target program.
  • the device provided in this embodiment is specifically used to perform the method shown in FIG. 1 and FIG. 2 .
  • the specific implementation method of each function module refer to the related description in the corresponding embodiment, which is not repeatedly described in this embodiment.
  • the aforementioned program can be stored in a computer readable storage medium.
  • the program when executed, performs the steps including the foregoing method embodiments; and the foregoing storage medium includes various media that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.

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)

Abstract

A software test method and device. The method comprises: by pre-setting a test point in a target program, in the process of executing the target program (101), when the execution progresses to the test point pre-set in the target program, invoking a test program corresponding to the test point to test the target program (102). When different exceptional paths need to be simulated, the code of a target program does not need to be modified, only a test program needs to be updated, thus saving the process of recompiling the target program caused by the modification of the code of the target program, and improving the efficiency of test.

Description

软件测试方法和装置Software testing method and device
本申请要求2016年03月23日递交的申请号为201610168942.X、发明名称为“软件测试方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The present application claims priority to Chinese Patent Application No. Serial No. No. No. No. No. No. No. No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
技术领域Technical field
本发明涉及计算机技术,尤其涉及一种软件测试方法和装置。The present invention relates to computer technology, and in particular, to a software testing method and apparatus.
背景技术Background technique
软件测试是在软件上线运行之前所必须的一个环节,针对软件的不同应用环境可以采用不同的软件测试方法对其进行测试,从而保证软件上线运行过程中的运行稳定性。Software testing is a necessary link before the software runs online. Different software application environments can be tested by different software testing methods to ensure the running stability of the software running online.
在各类软件测试方法中,失败恢复(Failover)测试是一种用于测试软件针对处理故障并恢复的过程的测试方法。目前对软件进行失败恢复测试时,往往采用在被测软件的程序代码中预先写入测试代码,从而编译后进行测试。Among various software testing methods, the Failover test is a test method for testing software for processing and recovering. At present, when the software fails the recovery test, the test code is pre-written in the program code of the tested software, so that the test is compiled.
由于失败恢复测试中往往需要对多种执行失败的场景进行测试,从而需要被测软件进行各种不同的路径下模拟异常退出的场景,也就是通常所说的模拟异常路径,因此,在现有技术中每测试一种异常路径,便需要程序员更新代码并重新编译,测试效率较低。Because the failure recovery test often needs to test a variety of execution failure scenarios, the test software needs to perform simulated abnormal exit scenarios under various paths, which is commonly referred to as simulated abnormal paths, and therefore, existing Every time an error path is tested in the technology, the programmer needs to update the code and recompile, which is less efficient.
发明内容Summary of the invention
本发明提供一种软件测试方法和装置,用于解决现有技术中失败恢复测试效率较低的技术问题。The present invention provides a software testing method and apparatus for solving the technical problem of low efficiency of failure recovery testing in the prior art.
为达到上述目的,本发明的实施例采用如下技术方案:In order to achieve the above object, embodiments of the present invention adopt the following technical solutions:
第一方面,提供了一种软件测试方法,包括:In a first aspect, a software testing method is provided, comprising:
执行目标程序;Execute the target program;
当执行到所述目标程序中所预先设置的测试点时,调用所述测试点对应的测试程序对所述目标程序进行测试。When the test point preset in the target program is executed, the test program corresponding to the test point is called to test the target program.
第二方面,提供了一种软件测试装置,包括:In a second aspect, a software testing apparatus is provided, comprising:
执行模块,用于执行目标程序;An execution module for executing a target program;
调用模块,用于当执行到所述目标程序中所预先设置的测试点时,调用所述测试点对应的测试程序对所述目标程序进行测试。 And calling a module, when the test point preset in the target program is executed, calling the test program corresponding to the test point to test the target program.
本发明实施例提供的软件测试方法和装置,通过预先在目标程序中设置测试点,从而在执行目标程序的过程中,执行到设置了测试点的位置之后调用测试点所对应的测试程序对目标程序进行测试。当需要模拟不同异常路径时,不需要对目标程序的代码进行修改,仅需要更新测试程序既可,因而也就省去了现有技术中由于修改了目标程序代码所带来的对目标程序进行重新编译的过程,提高了测试的效率。The software testing method and device provided by the embodiment of the present invention, by setting a test point in the target program in advance, in the process of executing the target program, executing the test program corresponding to the test point to the target after setting the position of the test point The program is tested. When it is necessary to simulate different abnormal paths, it is not necessary to modify the code of the target program, and only the test program needs to be updated, thereby eliminating the need to modify the target program code in the prior art. The process of recompilation improves the efficiency of the test.
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。The above description is only an overview of the technical solutions of the present invention, and the above-described and other objects, features and advantages of the present invention can be more clearly understood. Specific embodiments of the invention are set forth below.
附图说明DRAWINGS
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:Various other advantages and benefits will become apparent to those skilled in the art from a The drawings are only for the purpose of illustrating the preferred embodiments and are not to be construed as limiting. Throughout the drawings, the same reference numerals are used to refer to the same parts. In the drawing:
图1为本发明实施例一提供的一种软件测试方法的流程示意图;1 is a schematic flowchart of a software testing method according to Embodiment 1 of the present invention;
图2为本发明实施例二提供的一种软件测试方法的流程示意图;2 is a schematic flowchart of a software testing method according to Embodiment 2 of the present invention;
图3为本发明实施例三提供的一种软件测试装置的结构示意图;3 is a schematic structural diagram of a software testing apparatus according to Embodiment 3 of the present invention;
图4为本发明实施例四提供的一种软件测试装置的结构示意图。FIG. 4 is a schematic structural diagram of a software testing apparatus according to Embodiment 4 of the present invention.
具体实施方式detailed description
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While the embodiments of the present invention have been shown in the drawings, the embodiments Rather, these embodiments are provided so that this disclosure will be more fully understood and the scope of the disclosure will be fully disclosed.
下面结合附图对本发明实施例提供的软件测试方法和装置进行详细描述。The software testing method and apparatus provided by the embodiments of the present invention are described in detail below with reference to the accompanying drawings.
实施例一Embodiment 1
图1为本发明实施例一提供的一种软件测试方法的流程示意图,如图1所示,包括:1 is a schematic flowchart of a software testing method according to Embodiment 1 of the present invention. As shown in FIG. 1, the method includes:
步骤101、执行目标程序。Step 101: Execute a target program.
在编写目标程序代码时,已在目标程序中预先设置了测试点。该测试点的内容包括了测试点标识,例如测试点名称,另外测试点还可以包括宏和自定义代码,其中,宏用于指示自定义代码和调用测试程序的执行顺序。由于测试程序通常采用执行方式、事件 内容和事件类型这种固定格式进行描述,因而为了提高测试的灵活性,用户可以在编写目标程序代码时,预先在测试点中写入一段用于测试的自定义代码。When writing the target program code, test points have been preset in the target program. The content of the test point includes the test point identifier, such as the test point name, and the test point may also include a macro and a custom code, wherein the macro is used to indicate the execution order of the custom code and the calling test program. Because test procedures usually use execution methods, events The fixed format of content and event types is described, so in order to increase the flexibility of testing, the user can write a piece of custom code for testing in the test point before writing the target program code.
进一步,在执行目标程序之前,可以将目标程序中的各测试点设置为关闭状态,然后对目标程序进行编译,从而使得目标程序不会受到测试点的影响,保证了目标程序的完整性和相对测试程序而言的独立性。可以在编译完成之后,由客户端发送远程过程调用协议(Remote Procedure Call Protocol,RCP)请求作为用于设置开闭状态的请求,服务器端根据RCP请求设置目标程序中的测试点为开启状态或关闭状态,进而服务器端在运行目标程序的过程中,确认测试点处于开启状态时,再调用相应的测试程序。Further, before executing the target program, each test point in the target program can be set to the closed state, and then the target program is compiled, so that the target program is not affected by the test point, and the integrity and relative of the target program are guaranteed. Independence in the test procedure. After the compilation is completed, the client sends a Remote Procedure Call Protocol (RCP) request as a request for setting the open/close state, and the server sets the test point in the target program to be turned on or off according to the RCP request. The state, and then the server side in the process of running the target program, confirm that the test point is open, and then call the corresponding test program.
步骤102、当执行到目标程序中所预先设置的测试点时,调用测试点对应的测试程序对目标程序进行测试。Step 102: When executing a test point preset in the target program, calling the test program corresponding to the test point to test the target program.
具体的,作为一种可能的应用场景,调用测试程序对所述目标程序进行失败恢复测试。作为另一种可能的应用场景,调用测试程序对目标程序进行执行时间的测试。Specifically, as a possible application scenario, the test program is invoked to perform a failure recovery test on the target program. As another possible application scenario, the test program is called to test the execution time of the target program.
对于进行失败恢复测试的应用场景,具体可以根据测试点中的测试点标识,在用于记录测试程序的容器中查询所述测试点标识所标记的测试程序,根据测试程序所指示的执行方式、事件内容和/或事件类型,对目标程序进行失败恢复测试。For the application scenario in which the failure recovery test is performed, the test program marked by the test point identifier may be queried in the container for recording the test program according to the test point identifier in the test point, according to the execution manner indicated by the test program, The content of the event and/or the type of event, the failure recovery test of the target program.
其中,执行方式具体可以为执行单次、执行多次、随机执行等;事件类型具体可以为延迟、返回错码、抛出异常和终止进程等,事件内容可以为延迟的具体时间等。The execution mode may be a single execution, multiple executions, random execution, and the like; the event type may be a delay, a return error code, an exception thrown, and a termination process, and the event content may be a specific time of the delay.
可见,基于执行方式、事件类型和事件内容的组合,可以获得多种测试程序,同时,根据测试点设置的位置不同又可以模拟出不同的测试路径,因此,采用在目标程序中所预先设置的测试点,并在执行到测试点时,调用测试点对应的测试程序对目标程序进行测试的方式可以实现对多种场景的模拟。It can be seen that a plurality of test programs can be obtained based on the combination of the execution mode, the event type and the event content, and different test paths can be simulated according to the positions set by the test points, and therefore, the presets are preset in the target program. Test points, and when executing to the test point, the test program corresponding to the test point is called to test the target program to simulate various scenarios.
另外,由于目标程序和测试程序相互独立,因而,当测试程序需要进行修改时,无需对目标程序进行重新编译,提高了测试的效率和测试的便捷性。尤其是将本实施例中的方案应用于分布式***中时,由于分布式***运行部署复杂程度较高,这种无需对分布式***中所运行的目标程序修改代码和编译的优点就体现的更加充分。In addition, since the target program and the test program are independent of each other, when the test program needs to be modified, there is no need to recompile the target program, which improves the efficiency of the test and the convenience of the test. In particular, when the solution in this embodiment is applied to a distributed system, since the distributed system is deployed with a high degree of complexity, the advantage of modifying the code and compiling the target program running in the distributed system is reflected. More fully.
实施例二Embodiment 2
图2为本发明实施例二提供的一种软件测试方法的流程示意图,为了清除说明当客户端对服务器端的测试程序进行修改时的执行流程,本实施例提供了如图2所示的具体的流程示意图。 2 is a schematic flowchart of a software testing method according to Embodiment 2 of the present invention. To clear the execution flow when the client performs a modification to the server-side test program, this embodiment provides a specific Schematic diagram of the process.
本实施例所提供的方法由服务器端和客户端执行,其中,服务器端用于运行目标程序,并且在服务器端设置有存储有测试程序的容器(Map)。客户端可以通过RCP请求更新Map内的测试程序。The method provided in this embodiment is executed by a server and a client, wherein the server is used to run the target program, and a server (Map) storing the test program is set on the server. The client can update the test program in the Map through the RCP request.
针对服务器端来说,一方面,在目标程序内所需测试位置***有测试点,例如消除漏洞(debug)点。For the server side, on the one hand, test points are inserted in the required test locations within the target program, for example, to eliminate the bug point.
具体的,该debug点可以采用单例模式进行设计,在目标程序的代码中需要添加debug点的位置,声明一个debug点的名称,例如:DECLARE_DBG_POINT(New_DebugPiontName),其中,New_DebugPiontName是这个debug点的名称。在声明这个debug点后就可以在目标程序的代码中需要添加测试点的位置***这个debug点,例如:DBG_POINT_PRE_EXEC(New_DebugPiontName,code)。其中,code为一段自定义代码,DBG_POINT_PRE_EXEC是宏,这个宏指示了在执行debug点对应的测试程序之前执行自定义代码。Specifically, the debug point can be designed in a singleton mode. In the code of the target program, the location of the debug point needs to be added, and the name of a debug point is declared, for example: DECLARE_DBG_POINT(New_DebugPiontName), where New_DebugPiontName is the name of the debug point. . After declaring this debug point, you can insert this debug point in the code of the target program where you need to add test points, for example: DBG_POINT_PRE_EXEC(New_DebugPiontName, code). Where code is a piece of custom code, DBG_POINT_PRE_EXEC is a macro, this macro indicates that the custom code is executed before executing the test program corresponding to the debug point.
不同的宏可以指定在执行之前或者是执行debug点的测试程序后执行一段自定义代码。由于这部分的自定义代码位于目标程序中,因而是不能够由客户端修改的,需要在写目标程序的代码时进行确定。Different macros can specify a custom code to be executed before execution or after executing the test program at the debug point. Since this part of the custom code is located in the target program and therefore cannot be modified by the client, it needs to be determined when writing the code of the target program.
另一方面,在Map内存储有各个测试点所对应的测试程序,测试程序包括各debug点的执行方式(Point Type)、事件内容(Action)和事件类型(Action Type)。其中,执行方式具体可以为执行单次、执行多次、随机执行等;事件类型具体可以为延迟、返回错码、抛出异常和终止进程等,事件内容可以为延迟的具体时间等。On the other hand, the test program corresponding to each test point is stored in the Map, and the test program includes the execution mode (Point Type), the event content (Action), and the event type (Action Type) of each debug point. The execution mode may be a single execution, multiple executions, random execution, and the like; the event type may be a delay, a return error code, an exception thrown, and a termination process, and the event content may be a specific time of the delay.
如图2所示,软件测试方法包括:As shown in Figure 2, the software testing methods include:
步骤201、客户端发送RCP请求。Step 201: The client sends an RCP request.
其中,RPC请求携带有debug点的名称,以及该debug点对应的测试程序更新后的执行方式、事件内容和事件类型。The RPC request carries the name of the debug point, and the execution mode, event content, and event type of the test program corresponding to the debug point.
步骤202、服务器端根据RCP请求更新测试程序。Step 202: The server end updates the test program according to the RCP request.
服务器端接收到该RCP请求之后,将Map容器中该debug点对应的测试程序中执行方式、事件内容和事件类型对应修改为RCP请求中的执行方式、事件内容和事件类型。After receiving the RCP request, the server side modifies the execution mode, the event content, and the event type in the test program corresponding to the debug point in the Map container to the execution mode, the event content, and the event type in the RCP request.
步骤203、当服务器端运行目标程序到测试点位置时,查询测试点对应的测试程序。Step 203: When the server runs the target program to the test point location, query the test program corresponding to the test point.
例如:当服务器端执行到DBG_POINT_PRE_EXEC(New_DebugPiontName,code)这一测试点时,服务器端首先执行自定义代码code,然后调用debug点的单例方法,从而在Map容器中查询是否有需要执行的事件,包括事件内容和事件类型,以及事件的执 行方式。For example, when the server side executes the test point to DBG_POINT_PRE_EXEC(New_DebugPiontName, code), the server first executes the custom code code, and then calls the singleton method of the debug point to query the Map container for events that need to be executed. Including event content and event type, as well as event execution Line mode.
若存在需要执行的事件,进行执行。由于事件中包含的事件类型和事件的执行方式均存在多种不同的取值,根据不同的组合可以模拟出各种所希望的逻辑。If there is an event that needs to be executed, execute it. Since there are many different values for the types of events included in the event and the way the events are executed, various desired logics can be simulated according to different combinations.
步骤204、判断测试程序中事件类型是否为延迟,若是,则执行步骤205,否则执行步骤206。Step 204: Determine whether the event type in the test program is a delay. If yes, execute step 205; otherwise, perform step 206.
步骤205、根据延迟时间未结束的测试程序所剩余的延迟时间和当前测试程序中所指示的延迟时间,确定执行时间,并按照所确定出的执行时间进行延迟。Step 205: Determine an execution time according to a delay time remaining in the test program whose delay time has not ended and a delay time indicated in the current test program, and perform delay according to the determined execution time.
具体的,在执行延迟类型的事件之前,需要查询这个debug点之前已执行的debug点中是否存在事件类型为延迟,且延迟时间未结束的debug点,若不存在则执行该事件,若存在,则将未结束的debug点所剩余的延迟时间与当前事件的延迟时间之差,作为事件需执行的延迟时间,当事件需执行的延迟时间为正数时,按照所计算出的需执行的延迟时间执行该延迟事件。Specifically, before executing the delay type event, it is necessary to query the debug point that has been executed before the debug point, whether there is a debug point whose event type is delayed, and the delay time does not end. If it does not exist, execute the event. If it exists, The difference between the delay time of the unfinished debug point and the delay time of the current event is used as the delay time for the event to be executed. When the delay time for the event to be executed is a positive number, the calculated delay is performed according to the calculated delay. Time to execute the delay event.
这是由于前面的debug点没有执行完成,则处于延迟状态,若当前debug点同样为延迟,则在前面debug点的延迟基础上继续进行延迟,因而,实际延迟时间为前面的debug点的延迟时间与当前debug点的延迟时间之和。为了使得实际延迟时间符合测试程序所指示的延迟时间,需要延迟时间未结束的测试程序所剩余的延迟时间和当前测试程序中所指示的延迟时间,确定实际延迟时间。This is because the previous debug point is not executed, it is in a delayed state. If the current debug point is also delayed, the delay is continued based on the delay of the previous debug point. Therefore, the actual delay time is the delay time of the previous debug point. The sum of the delays from the current debug point. In order to make the actual delay time conform to the delay time indicated by the test procedure, the delay time remaining in the test program whose delay time has not ended and the delay time indicated in the current test procedure are required to determine the actual delay time.
步骤206、执行测试点对应的测试程序。Step 206: Perform a test procedure corresponding to the test point.
若测试程序中事件类型不为延迟,则直接按照测试程序中的内容进行测试,也就是说执行测试程序所指示的事件执行方式、事件内容和事件类型。If the event type in the test program is not delayed, the test is performed directly according to the contents of the test program, that is, the execution mode, event content, and event type indicated by the test program are executed.
本实施例中,通过预先在目标程序中设置测试点,从而在执行目标程序的过程中,执行到设置了测试点的位置之后调用测试点所对应的测试程序对目标程序进行测试。当需要模拟不同异常路径时,不需要对目标程序的代码进行修改,仅需要更新测试程序既可,因而也就省去了现有技术中由于修改了目标程序代码所带来的对目标程序进行重新编译的过程,提高了测试的效率。In this embodiment, by setting a test point in the target program in advance, in the process of executing the target program, the test program corresponding to the test point is called after the position where the test point is set, and the target program is tested. When it is necessary to simulate different abnormal paths, it is not necessary to modify the code of the target program, and only the test program needs to be updated, thereby eliminating the need to modify the target program code in the prior art. The process of recompilation improves the efficiency of the test.
实施例三Embodiment 3
图3为本发明实施例三提供的一种软件测试装置的结构示意图,如图3所示,包括:执行模块31和调用模块32。FIG. 3 is a schematic structural diagram of a software testing apparatus according to Embodiment 3 of the present invention. As shown in FIG. 3, the method includes: an executing module 31 and a calling module 32.
执行模块31,用于执行目标程序。 The execution module 31 is configured to execute a target program.
调用模块32,用于当执行到所述目标程序中所预先设置的测试点时,调用所述测试点对应的测试程序对所述目标程序进行测试。The calling module 32 is configured to, when executing a test point preset to the target program, invoke a test program corresponding to the test point to test the target program.
其中,测试点可以包括:测试点标识、宏和自定义代码。Among them, test points can include: test point identification, macros and custom code.
具体的,调用模块32具体用于调用所述测试程序对所述目标程序进行失败恢复测试。Specifically, the calling module 32 is specifically configured to invoke the test program to perform a failure recovery test on the target program.
本实施例中,通过预先在目标程序中设置测试点,从而在执行目标程序的过程中,执行到设置了测试点的位置之后调用测试点所对应的测试程序对目标程序进行测试。当需要模拟不同异常路径时,不需要对目标程序的代码进行修改,仅需要更新测试程序既可,因而也就省去了现有技术中由于修改了目标程序代码所带来的对目标程序进行重新编译的过程,提高了测试的效率。In this embodiment, by setting a test point in the target program in advance, in the process of executing the target program, the test program corresponding to the test point is called after the position where the test point is set, and the target program is tested. When it is necessary to simulate different abnormal paths, it is not necessary to modify the code of the target program, and only the test program needs to be updated, thereby eliminating the need to modify the target program code in the prior art. The process of recompilation improves the efficiency of the test.
实施例四Embodiment 4
图4为本发明实施例四提供的一种软件测试装置的结构示意图,如图4所示,在图3所提供的软件测试装置的基础上,调用模块32进一步包括:查询单元321和测试单元322。4 is a schematic structural diagram of a software testing apparatus according to Embodiment 4 of the present invention. As shown in FIG. 4, on the basis of the software testing apparatus provided in FIG. 3, the calling module 32 further includes: a query unit 321 and a testing unit. 322.
查询单元321,用于根据所述测试点中的测试点标识,在用于记录测试程序的容器中查询所述测试点标识所标记的测试程序。The query unit 321 is configured to query the test program marked by the test point identifier in a container for recording a test program according to the test point identifier in the test point.
测试单元322,用于根据所述测试程序所指示的执行方式、事件内容和/或事件类型,对所述目标程序进行失败恢复测试。The testing unit 322 is configured to perform a failure recovery test on the target program according to the execution manner, the event content, and/or the event type indicated by the test program.
进一步,测试单元322包括:查询子单元3221、计算子单元3222和执行子单元3223。Further, the testing unit 322 includes a query sub-unit 3221, a computing sub-unit 3222, and an executing sub-unit 3223.
查询子单元3221,用于当所述测试程序的事件类型为延迟时,查询已执行的测试程序中是否存在延迟时间未结束的测试程序。The query subunit 3221 is configured to query, in the test program that has been executed, whether the test program has a delay time that is not completed when the event type of the test program is delayed.
计算子单元3222,用于若存在,则根据所述延迟时间未结束的测试程序的剩余延迟时间,以及所述测试程序的事件内容所指示的延迟时间,确定所述测试程序的实际延迟时间。The calculation sub-unit 3222 is configured to determine, if present, an actual delay time of the test program based on a remaining delay time of the test program whose delay time has not ended, and a delay time indicated by an event content of the test program.
执行子单元3223,用于依据所述测试程序的实际延迟时间,对所述目标程序进行延迟。The executing subunit 3223 is configured to delay the target program according to the actual delay time of the test program.
进一步,软件测试装置还包括:自定义模块33、接收模块34、更新模块35、编译模块36、状态接收模块37、设置模块38和确认模块39。Further, the software testing device further includes: a customization module 33, a receiving module 34, an updating module 35, a compiling module 36, a status receiving module 37, a setting module 38, and a confirming module 39.
自定义模块33,用于根据所述测试点中的宏所指示的自定义代码与测试程序的执行 顺序,执行所述自定义代码。a custom module 33, configured to execute the custom code and the test program according to the macro in the test point In order, execute the custom code.
接收模块34,用于接收更新请求。The receiving module 34 is configured to receive an update request.
其中,更新请求包括测试点标识,以及执行方式、事件内容和/或事件类型。The update request includes a test point identifier, and an execution manner, event content, and/or event type.
更新模块35,用于根据所述更新请求,对所述更新请求所指示的测试程序进行更新。The updating module 35 is configured to update the test program indicated by the update request according to the update request.
具体的,更新模块35具体用于将所述更新请求中测试点标识对应的测试程序中的执行方式、事件内容和/或事件类型,对应更新为所述更新请求中的执行方式、事件内容和/或事件类型。Specifically, the update module 35 is specifically configured to update the execution mode, the event content, and/or the event type in the test program corresponding to the test point identifier in the update request, and update the execution manner, the event content, and the event content in the update request. / or event type.
编译模块36,用于将所述目标程序中的各测试点设置为关闭状态之后,对所述目标程序进行编译。The compiling module 36 is configured to compile the target program after setting each test point in the target program to a closed state.
状态接收模块37,用于接收用于设置开闭状态的请求。The status receiving module 37 is configured to receive a request for setting an open/close state.
设置模块38,用于根据所述用于设置开闭状态的请求,设置所述目标程序中的测试点为开启状态或关闭状态。The setting module 38 is configured to set the test point in the target program to an open state or a closed state according to the request for setting an open/close state.
确认模块39,用于调用所述测试点对应的测试程序对所述目标程序进行测试之前,确认所述测试点处于开启状态。The confirmation module 39 is configured to confirm that the test point is in an open state before calling the test program corresponding to the test point to test the target program.
本实施例所提供的装置具体用于执行图1和图2所示的方法,各功能模块的具体实现方法参见对应实施例中的相关描述,本实施例中对此不再赘述。The device provided in this embodiment is specifically used to perform the method shown in FIG. 1 and FIG. 2 . For the specific implementation method of each function module, refer to the related description in the corresponding embodiment, which is not repeatedly described in this embodiment.
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。One of ordinary skill in the art will appreciate that all or part of the steps to implement the various method embodiments described above may be accomplished by hardware associated with the program instructions. The aforementioned program can be stored in a computer readable storage medium. The program, when executed, performs the steps including the foregoing method embodiments; and the foregoing storage medium includes various media that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。 Finally, it should be noted that the above embodiments are merely illustrative of the technical solutions of the present invention, and are not intended to be limiting; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art will understand that The technical solutions described in the foregoing embodiments may be modified, or some or all of the technical features may be equivalently replaced; and the modifications or substitutions do not deviate from the technical solutions of the embodiments of the present invention. range.

Claims (18)

  1. 一种软件测试方法,其特征在于,包括:A software testing method, comprising:
    执行目标程序;Execute the target program;
    当执行到所述目标程序中所预先设置的测试点时,调用所述测试点对应的测试程序对所述目标程序进行测试。When the test point preset in the target program is executed, the test program corresponding to the test point is called to test the target program.
  2. 根据权利要求1所述的软件测试方法,其特征在于,所述调用所述测试点对应的测试程序对所述目标程序进行测试,包括:The software testing method according to claim 1, wherein the calling the test program corresponding to the test point to test the target program comprises:
    调用所述测试程序对所述目标程序进行失败恢复测试。The test program is invoked to perform a failure recovery test on the target program.
  3. 根据权利要求2所述的软件测试方法,其特征在于,所述调用所述测试程序对所述目标程序进行失败恢复测试,包括:The software testing method according to claim 2, wherein the invoking the test program to perform a failure recovery test on the target program comprises:
    根据所述测试点中的测试点标识,在用于记录测试程序的容器中查询所述测试点标识所标记的测试程序;Querying, according to the test point identifier in the test point, the test program marked by the test point identifier in a container for recording a test program;
    根据所述测试程序所指示的执行方式、事件内容和/或事件类型,对所述目标程序进行失败恢复测试。A failure recovery test is performed on the target program according to an execution manner, an event content, and/or an event type indicated by the test program.
  4. 根据权利要求3所述的软件测试方法,其特征在于,所述根据所述测试程序所指示的执行方式、事件内容和/或事件类型,对所述目标程序进行失败恢复测试,包括:The software testing method according to claim 3, wherein the failing recovery test is performed on the target program according to an execution manner, an event content, and/or an event type indicated by the test program, including:
    当所述测试程序的事件类型为延迟时,查询已执行的测试程序中是否存在延迟时间未结束的测试程序;When the event type of the test program is delayed, whether there is a test program in the executed test program that has a delay time not ended;
    若存在,则根据所述延迟时间未结束的测试程序的剩余延迟时间,以及所述测试程序的事件内容所指示的延迟时间,确定所述测试程序的实际延迟时间;If yes, determining an actual delay time of the test program according to a remaining delay time of the test program whose delay time has not ended, and a delay time indicated by an event content of the test program;
    依据所述测试程序的实际延迟时间,对所述目标程序进行延迟。The target program is delayed according to the actual delay time of the test program.
  5. 根据权利要求2所述的软件测试方法,其特征在于,所述测试点包括:测试点标识、宏和自定义代码;所述执行到所述目标程序中所预先设置的测试点之后,还包括:The software testing method according to claim 2, wherein the test point comprises: a test point identifier, a macro and a custom code; and after the executing to the test point preset in the target program, the method further comprises:
    根据所述测试点中的宏所指示的自定义代码与测试程序的执行顺序,执行所述自定义代码。The custom code is executed according to the execution order of the custom code and the test program indicated by the macro in the test point.
  6. 根据权利要求1-5任一项所述的软件测试方法,其特征在于,所述调用所述测试点对应的测试程序对所述目标程序进行测试之前,还包括:The software testing method according to any one of claims 1 to 5, wherein the calling the test program corresponding to the test point before testing the target program further comprises:
    接收更新请求;Receiving an update request;
    根据所述更新请求,对所述更新请求所指示的测试程序进行更新。Updating the test program indicated by the update request according to the update request.
  7. 根据权利要求6所述的软件测试方法,其特征在于,所述更新请求包括测试点标 识,以及执行方式、事件内容和/或事件类型;The software testing method according to claim 6, wherein the update request includes a test point mark Knowledge, as well as the manner of execution, the content of the event, and/or the type of event;
    所述根据所述更新请求,对所述更新请求所指示的测试程序进行更新,包括:And updating, according to the update request, the test program indicated by the update request, including:
    将所述更新请求中测试点标识对应的测试程序中的执行方式、事件内容和/或事件类型,对应更新为所述更新请求中的执行方式、事件内容和/或事件类型。The execution mode, the event content, and/or the event type in the test program corresponding to the test point identifier in the update request are correspondingly updated to the execution mode, the event content, and/or the event type in the update request.
  8. 根据权利要求1-5任一项所述的软件测试方法,其特征在于,所述执行目标程序之前,还包括:The software testing method according to any one of claims 1 to 5, wherein before the executing the target program, the method further comprises:
    将所述目标程序中的各测试点设置为关闭状态;Setting each test point in the target program to a closed state;
    对所述目标程序进行编译。Compile the target program.
  9. 根据权利要求8所述的软件测试方法,其特征在于,在所述对所述目标程序进行编译之后,还包括:The software testing method according to claim 8, wherein after the compiling the target program, the method further comprises:
    接收用于设置开闭状态的请求;Receiving a request for setting an open/close state;
    根据所述用于设置开闭状态的请求,设置所述目标程序中的测试点为开启状态或关闭状态;Setting a test point in the target program to an open state or a closed state according to the request for setting an open/close state;
    所述调用所述测试点对应的测试程序对所述目标程序进行测试之前,还包括:Before the test program corresponding to the test point is called to test the target program, the method further includes:
    确认所述测试点处于开启状态。Confirm that the test point is on.
  10. 一种软件测试装置,其特征在于,包括:A software testing device, comprising:
    执行模块,用于执行目标程序;An execution module for executing a target program;
    调用模块,用于当执行到所述目标程序中所预先设置的测试点时,调用所述测试点对应的测试程序对所述目标程序进行测试。And calling a module, when the test point preset in the target program is executed, calling the test program corresponding to the test point to test the target program.
  11. 根据权利要求10所述的软件测试装置,其特征在于,A software testing device according to claim 10, wherein
    所述调用模块,具体用于调用所述测试程序对所述目标程序进行失败恢复测试。The calling module is specifically configured to invoke the test program to perform a failure recovery test on the target program.
  12. 根据权利要求11所述的软件测试装置,其特征在于,所述调用模块,包括:The software testing device according to claim 11, wherein the calling module comprises:
    查询单元,用于根据所述测试点中的测试点标识,在用于记录测试程序的容器中查询所述测试点标识所标记的测试程序;a query unit, configured to query, according to the test point identifier in the test point, a test program marked by the test point identifier in a container for recording a test program;
    测试单元,用于根据所述测试程序所指示的执行方式、事件内容和/或事件类型,对所述目标程序进行失败恢复测试。And a testing unit, configured to perform a failure recovery test on the target program according to an execution manner, an event content, and/or an event type indicated by the test program.
  13. 根据权利要求12所述的软件测试装置,其特征在于,所述测试单元,包括:The software testing device according to claim 12, wherein the testing unit comprises:
    查询子单元,用于当所述测试程序的事件类型为延迟时,查询已执行的测试程序中是否存在延迟时间未结束的测试程序;Querying a subunit, configured to: when the event type of the test program is delayed, querying whether the test program in the executed test program has a test program whose delay time is not over;
    计算子单元,用于若存在,则根据所述延迟时间未结束的测试程序的剩余延迟时间, 以及所述测试程序的事件内容所指示的延迟时间,确定所述测试程序的实际延迟时间;Calculating a subunit for, if present, the remaining delay time of the test program that is not terminated according to the delay time, And a delay time indicated by an event content of the test program, determining an actual delay time of the test program;
    执行子单元,用于依据所述测试程序的实际延迟时间,对所述目标程序进行延迟。An execution subunit is configured to delay the target program according to an actual delay time of the test program.
  14. 根据权利要求10所述的软件测试装置,其特征在于,所述测试点包括:测试点标识、宏和自定义代码;所述装置,还包括:The software testing device according to claim 10, wherein the test point comprises: a test point identifier, a macro and a custom code; the device further comprising:
    自定义模块,用于根据所述测试点中的宏所指示的自定义代码与测试程序的执行顺序,执行所述自定义代码。a custom module, configured to execute the custom code according to a sequence of execution of the custom code and the test program indicated by the macro in the test point.
  15. 根据权利要求10-14任一项所述的软件测试装置,其特征在于,所述装置,还包括:The software testing device according to any one of claims 10 to 14, wherein the device further comprises:
    接收模块,用于接收更新请求;a receiving module, configured to receive an update request;
    更新模块,用于根据所述更新请求,对所述更新请求所指示的测试程序进行更新。And an update module, configured to update the test program indicated by the update request according to the update request.
  16. 根据权利要求15所述的软件测试装置,其特征在于,所述更新请求包括测试点标识,以及执行方式、事件内容和/或事件类型;The software testing device according to claim 15, wherein the update request comprises a test point identifier, and an execution manner, an event content, and/or an event type;
    所述更新模块,具体用于将所述更新请求中测试点标识对应的测试程序中的执行方式、事件内容和/或事件类型,对应更新为所述更新请求中的执行方式、事件内容和/或事件类型。The update module is specifically configured to update the execution mode, the event content, and/or the event type in the test program corresponding to the test point identifier in the update request, and update the execution mode, event content, and/or in the update request. Or event type.
  17. 根据权利要求10-14任一项所述的软件测试装置,其特征在于,所述装置,还包括:The software testing device according to any one of claims 10 to 14, wherein the device further comprises:
    编译模块,用于将所述目标程序中的各测试点设置为关闭状态之后,对所述目标程序进行编译。And a compiling module, configured to compile the target program after setting each test point in the target program to a closed state.
  18. 根据权利要求17所述的软件测试装置,其特征在于,所述装置,还包括:The software testing device according to claim 17, wherein the device further comprises:
    状态接收模块,用于接收用于设置开闭状态的请求;a status receiving module, configured to receive a request for setting an open/close state;
    设置模块,用于根据所述用于设置开闭状态的请求,设置所述目标程序中的测试点为开启状态或关闭状态;a setting module, configured to set a test point in the target program to an open state or a closed state according to the request for setting an open/close state;
    确认模块,用于调用所述测试点对应的测试程序对所述目标程序进行测试之前,确认所述测试点处于开启状态。 The confirmation module is configured to call the test program corresponding to the test point to verify that the test point is in an open state before testing the target program.
PCT/CN2017/076399 2016-03-23 2017-03-13 Software test method and device WO2017162058A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610168942.X 2016-03-23
CN201610168942.XA CN107229558B (en) 2016-03-23 2016-03-23 Software testing method and device

Publications (1)

Publication Number Publication Date
WO2017162058A1 true WO2017162058A1 (en) 2017-09-28

Family

ID=59899200

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/076399 WO2017162058A1 (en) 2016-03-23 2017-03-13 Software test method and device

Country Status (3)

Country Link
CN (1) CN107229558B (en)
TW (1) TW201734791A (en)
WO (1) WO2017162058A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108256331A (en) * 2018-01-04 2018-07-06 郑州云海信息技术有限公司 A kind of test method of server B MC safety approach
US10248554B2 (en) 2016-11-14 2019-04-02 International Business Machines Corporation Embedding profile tests into profile driven feedback generated binaries
CN112069083A (en) * 2020-11-12 2020-12-11 深圳开源互联网安全技术有限公司 Test case design method and device and storage medium
US10929117B2 (en) 2018-02-08 2021-02-23 Red Hat, Inc. Container image building using shared resources

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI682295B (en) 2018-11-05 2020-01-11 財團法人資訊工業策進會 Device and method for producing test data
CN111143229A (en) * 2019-12-31 2020-05-12 中国银行股份有限公司 Software testing method and device, computer equipment and computer readable storage medium
CN113568796A (en) * 2021-08-04 2021-10-29 上海肇观电子科技有限公司 Module testing method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183335A (en) * 2007-12-25 2008-05-21 中兴通讯股份有限公司 Method and system for realizing embedded software unconventionality testing
CN103761184A (en) * 2013-12-31 2014-04-30 华为技术有限公司 Method, device and system for testing code segment of program
CN104834590A (en) * 2014-02-11 2015-08-12 腾讯科技(深圳)有限公司 Software test method and system
CN105224466A (en) * 2015-11-17 2016-01-06 广州亦云信息技术有限公司 A kind of integration test method based on Docker and system
WO2016001982A1 (en) * 2014-06-30 2016-01-07 株式会社 日立製作所 Test data generation assistance device and test data generation assistance method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095087A (en) * 2015-08-31 2015-11-25 武汉启明联创信息科技有限公司 Permission operation based software test system and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183335A (en) * 2007-12-25 2008-05-21 中兴通讯股份有限公司 Method and system for realizing embedded software unconventionality testing
CN103761184A (en) * 2013-12-31 2014-04-30 华为技术有限公司 Method, device and system for testing code segment of program
CN104834590A (en) * 2014-02-11 2015-08-12 腾讯科技(深圳)有限公司 Software test method and system
WO2016001982A1 (en) * 2014-06-30 2016-01-07 株式会社 日立製作所 Test data generation assistance device and test data generation assistance method
CN105224466A (en) * 2015-11-17 2016-01-06 广州亦云信息技术有限公司 A kind of integration test method based on Docker and system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10248554B2 (en) 2016-11-14 2019-04-02 International Business Machines Corporation Embedding profile tests into profile driven feedback generated binaries
CN108256331A (en) * 2018-01-04 2018-07-06 郑州云海信息技术有限公司 A kind of test method of server B MC safety approach
US10929117B2 (en) 2018-02-08 2021-02-23 Red Hat, Inc. Container image building using shared resources
US11599348B2 (en) 2018-02-08 2023-03-07 Red Hat, Inc. Container image building using shared resources
CN112069083A (en) * 2020-11-12 2020-12-11 深圳开源互联网安全技术有限公司 Test case design method and device and storage medium

Also Published As

Publication number Publication date
CN107229558B (en) 2020-10-16
TW201734791A (en) 2017-10-01
CN107229558A (en) 2017-10-03

Similar Documents

Publication Publication Date Title
WO2017162058A1 (en) Software test method and device
CN108509336B (en) Operating system standard formalization verification and test method
US11748245B2 (en) Object-oriented regression-candidate filter
KR102166753B1 (en) Implementing edit and update functionality within a development environment used to compile test plans for automated semiconductor device testing
CN109669873B (en) User interface automatic test method and device, electronic equipment and storage medium
US8893090B2 (en) Stepping out of an asynchronous method into its continuation in a debugger
WO2012066091A1 (en) Method and apparatus for automatic diagnosis of software failures
JP6726140B2 (en) Technical system operating software modification and simulation
US20190073292A1 (en) State machine software tester
CN106897090B (en) Embedded equipment program upgrading method and system
US7779302B2 (en) Automated testing framework for event-driven systems
CN108228190B (en) Persistent integration and delivery methods, systems, devices, and computer-readable storage media
US20150269057A1 (en) Self verifying device driver for multi-version compatible data manipulation devices
WO2016127566A1 (en) Patch processing method and device
US20070283327A1 (en) Hierarchical test verification using an extendable interface
CN108701057B (en) Computer-readable storage media, systems, and methods for provisioning a deployment conduit
US7685472B1 (en) Method and apparatus for testing object-oriented-programming methods
CN113742215A (en) Method and system for automatically configuring and calling test tool to perform test analysis
US5692122A (en) Generation of random conversation testcases
CN109144486B (en) Stateless workflow implementation method
CN109947645A (en) Automatic configuration tool method and system
WO2022222626A1 (en) Incremental source code acquisition method and apparatus, electronic device and storage medium
Jebbar et al. Architecture for the automation of live testing of cloud systems
CN111367705A (en) SQL error reporting processing method and device
TWI773939B (en) Version management system, version management method, and non-transitory computer readable storage medium for version management method

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17769335

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17769335

Country of ref document: EP

Kind code of ref document: A1