Pressure testing method and pressure testing system

By introducing a simulated two-end and process control module into the call center system to generate and monitor call requests, the problem that the traditional FreeSwitch load testing method cannot fully cover the call center system is solved, realizing full-link load testing and simulation of real call scenarios.

CN116346986BActive Publication Date: 2026-06-26KE COM (BEIJING) TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310197197.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-03
Publication Date
2026-06-26
Estimated Expiration
2043-03-03

Smart Images

  • Figure CN116346986B_ABST
    Figure CN116346986B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a pressure test method and a pressure test system, the method comprising: playing a recording in a call room with a preset room identifier through a calling simulation terminal; sending a call request to a service logic processing module through a flow control module; in response to receiving the call request, generating a call command through the service logic processing module and sending the call command to an outbound module in a call center system; calling a called simulation terminal with a called identifier through the outbound module to make the called simulation terminal join the call room; making a reply in the call room through the called simulation terminal; and monitoring transmission data on a link of the service logic processing module, the outbound module and the called simulation terminal to perform pressure test on the call process. The present application simulates a real call scene and performs pressure test on a whole link by introducing a simulation double terminal and a flow control module without affecting an external system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a pressure testing method and a pressure testing system. Background Technology

[0002] Traditional FreeSWITCH load testing methods only test the call volume of FreeSWITCH itself, thus only obtaining performance conclusions for FreeSWITCH alone. In practical applications, to meet various business needs, it is usually not enough to deploy just the FreeSWITCH module; corresponding modules such as process control, node management, signaling processing, and call log management are also required. Therefore, traditional FreeSWITCH load testing methods cannot comprehensively cover the entire call center system.

[0003] Initiating load testing from the call center system's entry point also presents certain challenges. Using real data for calls can harass users, and there's no way to control whether they answer or how long the call lasts. Constructing data for load testing also presents issues such as how to control responses, limitations on single-call duration, the inability to simulate two-way calls, and causing abnormal traffic to external services. Summary of the Invention

[0004] The purpose of this invention is to provide a stress testing method and a stress testing system that can at least solve some of the above-mentioned problems. That is, by introducing a simulated two-end and a process control module, the simulation of real call scenarios and the stress testing of the entire link can be completed without affecting the external system.

[0005] To achieve the above objectives, a first aspect of the present invention provides a stress testing method, the stress testing method comprising: playing a recording in a call room with a preset room identifier via a caller's analog terminal; sending a call request to a business logic processing module via a flow control module, wherein the call request includes request parameters, and the request parameters include the preset room identifier, the called party identifier, and the call identifier; in response to receiving the call request, generating a call command according to the request parameters via the business logic processing module, and sending the call command to an outbound calling module in a call center system; calling a called party's analog terminal with the called party identifier via the outbound calling module, so that the called party's analog terminal joins the call room according to the preset room identifier; responding via the called party's analog terminal in the call room; and monitoring the transmission data on the link formed by the business logic processing module, the outbound calling module, and the called party's analog terminal.

[0006] In at least one embodiment, the stress testing method further includes: generating the request parameters through a management module, wherein the request parameters further include: caller ID and recording storage path; and calling the flow control module through the management module to send the request parameters to the flow control module.

[0007] In at least one embodiment, the stress testing method further includes: receiving the request parameters through the process control module; and calling the caller simulation terminal with the caller identifier through the process control module, so that the caller simulation terminal joins the call room with the preset room identifier, wherein playing the recording in the call room with the preset room identifier through the caller simulation terminal includes: obtaining the recording according to the recording storage path; and playing the recording in the call room.

[0008] In at least one embodiment, the stress testing method further includes: monitoring call duration through the management module; sending a call termination request to the process control module through the management module when the call duration reaches a preset call duration; transmitting the call termination request through the process control module; generating a call termination command through the business logic processing module in response to receiving the call termination request, and sending the call termination command to the outbound calling module; and stopping the call to the called simulated terminal with the called identifier through the outbound calling module, so that the called simulated terminal leaves the call room.

[0009] In at least one embodiment, sending the call request to the business logic processing module via the process control module includes: signing the request parameters according to a preset rule and sending the first parameter obtained by signing and the request parameters to the business logic processing module. Before executing the step of generating a call command based on the request parameters by the business logic processing module, the stress testing method further includes: signing the request parameters according to the preset rule by the business logic processing module and comparing the second parameter obtained by signing with the first parameter; and verifying that the call request is a normal call request if the second parameter is the same as the first parameter.

[0010] In at least one embodiment, the stress testing method further includes: monitoring the call status in real time through the business logic processing module.

[0011] In at least one embodiment, the process control module is a mock module.

[0012] Through the above technical solution, this invention creatively first plays a recording in a call room with a preset room identifier using a caller's analog terminal; then, a call request is sent to a business logic processing module through a process control module; next, the business logic processing module generates a call command based on the request parameters and sends the call command to the outbound call module in the call center system; furthermore, the outbound call module calls a called analog terminal with the called identifier, so that the called analog terminal joins the call room according to the preset room identifier and responds within the call room. Throughout the call, the transmission data on the link formed by the business logic processing module, the outbound call module, and the called analog terminal is monitored to perform stress testing. Thus, this invention, by introducing simulated dual-ends and a process control module, completes the simulation of a real call scenario and the stress test of the entire link without affecting the external system.

[0013] A second aspect of the present invention provides a stress testing system, comprising: a calling simulation terminal for playing a recording in a call room with a preset room identifier; a flow control module for sending a call request to a business logic processing module, wherein the call request includes request parameters, and the request parameters include the preset room identifier, a called identifier, and a call identifier; the business logic processing module for generating a call command according to the request parameters in response to receiving the call request, and sending the call command to an outbound calling module in a call center system; the outbound calling module for calling a called simulation terminal with the called identifier, so that the called simulation terminal joins the call room according to the preset room identifier; the called simulation terminal for responding in the call room; and a stress testing module for monitoring the transmission data on the link formed by the business logic processing module, the outbound calling module, and the called simulation terminal, to perform stress testing on the call process with the call identifier.

[0014] For specific details and benefits of the pressure testing system provided by this invention, please refer to the above description of the pressure testing method, which will not be repeated here.

[0015] A third aspect of the present invention provides a machine-readable storage medium storing instructions for causing a machine to perform the stress testing method described above.

[0016] A fourth aspect of the present invention provides an electronic device comprising: a processor; a memory for storing executable instructions of the processor; the processor being configured to read the executable instructions from the memory and execute the instructions to implement the stress testing method described above.

[0017] Other features and advantages of the present invention will be described in detail in the following detailed description section. Attached Figure Description

[0018] The accompanying drawings are provided to further illustrate embodiments of the present invention and form part of the specification. They are used together with the following detailed description to explain the embodiments of the present invention, but do not constitute a limitation thereof. In the drawings:

[0019] Figure 1 This is a flowchart of a pressure testing method provided in an embodiment of the present invention;

[0020] Figure 2 This is a schematic diagram of the structure of a pressure testing system provided in an embodiment of the present invention; and

[0021] Figure 3 This is a schematic diagram of the structure of a pressure testing system provided in an embodiment of the present invention. Detailed Implementation

[0022] The specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are for illustration and explanation only and are not intended to limit the present invention.

[0023] Figure 1 This is a flowchart of a pressure testing method provided in an embodiment of the present invention. Figure 1 As shown, the pressure testing method may include the following steps S101-S106.

[0024] Before performing step S101, the stress test method may further include: generating the request parameters through the management module, wherein the request parameters further include: caller ID and recording storage path; and calling the flow control module through the management module to send the request parameters to the flow control module.

[0025] The management module can be a JMX module 10 (i.e., a Java management extension module); and the process control module can be a mock module 20, such as... Figure 2 or Figure 3 As shown.

[0026] Specifically, firstly, the JMX module 10 (e.g., a load testing script) generates call request parameters (i.e., parameters required for this call) according to specified rules. These parameters include, for example, the caller ID (e.g., caller number), recording storage path, preset room ID (e.g., Tencent Cloud call room ID), called party ID (e.g., called party number), and call ID (e.g., call_id). Then, the JMX module 10 (e.g., a load testing script) calls the mock module 20 to send the request parameters to the mock module 20, such as... Figure 2 or Figure 3 As shown.

[0027] Based on the above embodiments, the stress testing method may further include: receiving the request parameters through the process control module; and calling the caller simulation terminal with the caller identifier through the process control module, so that the caller simulation terminal joins the call room with the preset room identifier.

[0028] Specifically, the mock module 20 queries the corresponding login information of the tencent room with the tencent room ID based on the received request parameters, and calls the caller simulation terminal 30 (e.g., appDemo) with the caller ID, so that the caller simulation terminal 30 joins the corresponding tencent room 40 according to the preset room ID (or, according to the preset room ID and the corresponding login information) and starts "speaking" (playing a recording) in step S101, such as... Figure 2 or Figure 3 As shown.

[0029] Step S101: Play the recording in the call room with a preset room identifier through the caller's analog terminal.

[0030] For step S101, playing the recording in a call room with a preset room identifier via the calling analog terminal may include: obtaining the recording according to the recording storage path; and

[0031] The recording was played in the call room.

[0032] Specifically, during the process of mock module 20 calling the calling client 30 (e.g., appDemo), request parameters are sent to the calling client 30 (e.g., appDemo). Therefore, the calling client 30 (e.g., appDemo) retrieves the corresponding preset recording based on the received recording storage path, and then plays the recording in the tencent room 40 (for ease of implementation, the configuration file of the calling client 30 (e.g., appDemo) can also be pre-configured to play the preset recording). Figure 2 or Figure 3 As shown.

[0033] Step S102: The call request is sent to the business logic processing module through the process control module.

[0034] The call request includes request parameters, and the request parameters include the preset room identifier, the called identifier, and the call identifier.

[0035] The process control module can be a mock module 20, such as... Figure 2 or Figure 3 As shown. The process control module (e.g., mock module 20) has functions such as development parameter processing, interface callback, asynchronous processing, and signature verification. It can replace external systems in interacting with business logic processing modules (e.g., Network module 50) and call centers (e.g., outbound call modules) at the business logic level, so that load testing no longer depends on external services and will not affect external services.

[0036] For step S102, sending the call request to the business logic processing module through the process control module may include: signing the request parameters (or the request parameters and the corresponding login information) according to preset rules and sending the first parameter obtained by signing and the request parameters to the business logic processing module.

[0037] Accordingly, before executing the step of generating a call command based on the request parameters by the business logic processing module, the stress test method may further include: the business logic processing module signing the request parameters according to the preset rules and comparing the signed second parameter with the first parameter; if the second parameter is the same as the first parameter, verifying that the call request is a normal call request.

[0038] Specifically, such as Figure 3As shown, the JMX module 10 (e.g., a load testing script) calls the call request (i.e., call_request) interface in the mock module 20. The mock module 20 queries the subsequent callback interface (of the business logic processing module, such as the Network module 50) and the required input parameters (the callback function in the mock module 20) based on the called interface. It then signs the request parameters (or the request parameters and the corresponding login information) according to a preset rule to obtain new parameters. All parameters (login information, request parameters, and new parameters) are integrated and sent to the callback interface of the Network module 50. The Network module 50 signs the request parameters according to the aforementioned preset rule to obtain new parameters, compares these new parameters with the new parameters it received, and returns the comparison result to the caller (the asynchronous function in the mock module 20). If the two new parameters are the same, the call request is verified as a normal call request; otherwise, the call request is an illegal / abnormal call request.

[0039] The aforementioned "signature" process involves concatenating key parameters with a secret key (which can be obtained during the login process and stored locally) to form a new string. This string is then encrypted (e.g., using MD5 encryption) to obtain a signature. This signature, along with the request parameters, is then sent to the business logic processing module. The business logic processing module generates its own signature using the same method and compares it to the key key. If they match, the data has not been altered; otherwise, the data was modified during the network request process.

[0040] Step S103: In response to receiving the call request, the business logic processing module generates a call command based on the request parameters and sends the call command to the outbound call module in the call center system.

[0041] The business logic processing module may be a Network module 50, such as... Figure 2 or Figure 3 As shown.

[0042] The Network module 50, based on business logic, calls the call_view interface of the mock module 20 to return the call page information of the caller's simulation terminal, such as... Figure 3 As shown; after receiving the request, the mock module 20 responds to it according to the configured return content (mock function) (the subsequent call_ack, call_answer, and call_heartbeat follow the same process and will not be described again).

[0043] Specifically, upon receiving a call request, the Network module 50 constructs the actual outbound call command (i.e., a FreeSwitch command) based on the request parameters, locates the outbound call module 60 (e.g., the fs-netvoice module) in the call center system (e.g., a FreeSwitch machine, also known as fs) corresponding to the business scenario, establishes an ESL connection with the outbound call module 60 (e.g., the fs-netvoice module), and sends the outbound call command to the outbound call module 60 (e.g., the fs-netvoice module), such as... Figure 2 or Figure 3 As shown.

[0044] Step S104: The outbound calling module calls the called analog terminal with the called identifier, so that the called analog terminal joins the call room according to the preset room identifier.

[0045] Specifically, the outbound call module 60 (e.g., the fs-netvoice module) can call the called party's analog terminal 80 (a pre-defined fs-answer module) through the gateway module 70 (e.g., the fs-gateway module), thus establishing the entire call link. The called party's analog terminal 80 (the pre-defined fs-answer module) can join the tencent room 40 according to a preset room identifier (or, according to the preset room identifier and the corresponding login information). Figure 2 or Figure 3 As shown.

[0046] Step S105: The called party responds within the call room via the simulated terminal.

[0047] Specifically, the called party's analog terminal 80 (the pre-defined fs-answer module) responds within the tencent room 40. For example, to facilitate implementation, it can respond according to preset content. Specifically, by configuring the configuration file of the called party's analog terminal 80 (the pre-defined fs-answer module), a specified recording will begin playing after the call is connected. This embodiment deploys a freeswitch module for automatic answering to enable user answering, thereby achieving the purpose of automatic answering.

[0048] During a call between the calling and called analog terminals, the stress testing method may further include: monitoring the call status in real time through the business logic processing module.

[0049] Specifically, the business logic processing module (e.g., Network module 50) can monitor the call status, such as whether it is normal or disconnected, through heartbeat detection.

[0050] Step S106: Monitor the transmission data on the link formed by the business logic processing module, the outbound call module and the called party simulation terminal.

[0051] The purpose of step S106 is to perform a stress test on the call process with the call identifier.

[0052] Therefore, this embodiment can simulate real call scenarios and perform full-link stress testing without affecting external systems by introducing simulated dual-end and process control modules.

[0053] In one embodiment, the stress testing method may further include: monitoring call duration through the management module; sending a call termination request to the process control module through the management module when the call duration reaches a preset call duration; transmitting the call termination request through the process control module; generating a call termination command through the business logic processing module in response to receiving the call termination request, and sending the call termination command to the outbound calling module; and stopping the call to the called simulated terminal with the called party identifier through the outbound calling module, so that the called simulated terminal leaves the call room.

[0054] Specifically, such as Figure 3 As shown, firstly, a preset call duration can be set through the JMX module 10 (e.g., a load testing script). Then, the JMX module 10 (e.g., the load testing script) can monitor the call duration. Once the call duration equals the preset duration, the JMX module 10 (e.g., the load testing script) can initiate a call end request (i.e., a call_end_request request). Next, the JMX module 10 transmits (e.g., pass-through) the call end request to the network module 50 through the mock module 20. Then, the network module 50 generates a corresponding call end command based on the call end request and sends the end command to the outbound call 60 (e.g., the fs-netvoice module). Furthermore, the outbound call module 60 (e.g., the fs-netvoice module) can, for example, stop calling the called party's analog terminal 80 (a pre-specified fs-answer module) through the gateway module 70 (e.g., the fs-gateway module), thereby causing the called party's analog terminal 80 (the pre-specified fs-answer module) to exit the tencent room 40, i.e., the call ends.

[0055] This embodiment uses the following simulated two-way call technology.

[0056] After replacing the external service with the process control module, the "caller" role in the call chain is missing. To fully simulate a two-way call, a caller simulation client 30 (e.g., appDemo) is provided to join a specified Tencent call room and play a specified recording. Through the cooperation of the management module (e.g., JMX module 10) and the mock module 20, the specified call room, the authentication information required to join the room, and the storage path of the recording file to be played are passed as parameters to the caller simulation client 30 (e.g., appDemo), thereby enabling the "caller" role in a two-way call.

[0057] When generating request parameters, the called party identifier (e.g., called party number) is also specified, and the service strategy parameter corresponding to the specific call command is selected (e.g., busType, which is the strategy used for the call and is used to control the displayed number of the called party's analog terminal, so that the stress test data can be statistically analyzed based on busType later). When the call request reaches the gateway module 70 (e.g., the fs-gateway module), it will call the specified called party's analog terminal 80 (e.g., the fs-answer module). After receiving the specific command, the called party's analog terminal 80 (e.g., the fs-answer module) will automatically respond and reply with the specified content during the call, thereby realizing the [called party] call end in a two-end call.

[0058] In summary, this invention creatively first plays a recording in a call room with a preset room identifier using a caller's simulation terminal; then, a call request is sent to a business logic processing module via a flow control module; next, the business logic processing module generates a call command based on the request parameters and sends the call command to the outbound calling module in the call center system; furthermore, the outbound calling module calls a called simulation terminal with the called identifier, causing the called simulation terminal to join the call room according to the preset room identifier and respond within the call room. Throughout the call, the transmission data on the link formed by the business logic processing module, the outbound calling module, and the called simulation terminal is monitored to perform stress testing on the call process with the called identifier. Therefore, this invention, by introducing simulated dual-ends and a flow control module, simulates a real call scenario and performs full-link stress testing without affecting external systems.

[0059] An embodiment of the present invention also provides a stress testing system, the stress testing system comprising: a calling simulation terminal, used to play a recording in a call room with a preset room identifier; a flow control module, used to send a call request to a business logic processing module, wherein the call request includes request parameters, and the request parameters include the preset room identifier, the called identifier, and the call identifier; the business logic processing module, used to generate a call command according to the request parameters in response to receiving the call request, and send the call command to an outbound calling module in a call center system; the outbound calling module, used to call a called simulation terminal with the called identifier, so that the called simulation terminal joins the call room according to the preset room identifier; the called simulation terminal, used to respond in the call room; and a stress testing module, used to monitor the transmission data on the link formed by the business logic processing module, the outbound calling module, and the called simulation terminal.

[0060] For specific details and benefits of the pressure testing system provided by this invention, please refer to the above description of the pressure testing method, which will not be repeated here.

[0061] An embodiment of the present invention also provides a machine-readable storage medium storing instructions that cause a machine to perform the stress testing method described above.

[0062] An embodiment of the present invention also provides an electronic device, the electronic device comprising: a processor; a memory for storing executable instructions of the processor; the processor being configured to read the executable instructions from the memory and execute the instructions to implement the stress testing method described above.

[0063] The optional embodiments of the present invention have been described in detail above with reference to the accompanying drawings. However, the embodiments of the present invention are not limited to the specific details in the above embodiments. Within the scope of the technical concept of the embodiments of the present invention, various simple modifications can be made to the technical solutions of the embodiments of the present invention, and these simple modifications all fall within the protection scope of the embodiments of the present invention.

[0064] It should also be noted that the various specific technical features described in the above embodiments can be combined in any suitable manner without contradiction. To avoid unnecessary repetition, the embodiments of the present invention will not describe the various possible combinations separately.

[0065] Those skilled in the art will understand that all or part of the steps in the methods of the above embodiments can be implemented by a program instructing related hardware. This program is stored in a storage medium and includes several instructions to cause a microcontroller, chip, or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0066] Furthermore, various different implementations of the present invention can be combined arbitrarily, as long as they do not violate the spirit of the present invention, they should also be regarded as the content disclosed in the present invention.

Claims

1. A pressure testing method, characterized in that, The stress testing method includes: The recording is played in a call room with a preset room identifier via the caller's analog terminal; The call request is sent to the business logic processing module through the process control module. The call request includes request parameters, and the request parameters include the preset room identifier, the called identifier, and the call identifier. In response to receiving the call request, the business logic processing module generates a call command based on the request parameters and sends the call command to the outbound call module in the call center system. The outbound calling module calls a called analog terminal with the called identifier, so that the called analog terminal joins the call room according to the preset room identifier. The called party responds within the call room via the analog terminal; and Monitor the data transmission on the link formed by the business logic processing module, the outbound call module, and the called party's analog terminal. The request parameters also include the caller ID. The stress testing method also includes: The request parameters are received through the process control module; and The process control module calls the caller emulator with the caller ID so that the caller emulator joins the call room with the preset room ID.

2. The pressure testing method according to claim 1, characterized in that, The stress testing method also includes: The request parameters are generated by the management module, and the request parameters further include: the recording storage path; and The management module calls the process control module to send the request parameters to the process control module.

3. The pressure testing method according to claim 2, characterized in that, Playing the recording in a call room with a preset room identifier via the caller's analog terminal includes: The recording is obtained according to the recording storage path; and The recording was played in the call room.

4. The pressure testing method according to claim 2, characterized in that, The stress testing method also includes: The management module monitors call duration. If the call duration reaches the preset call duration, the management module sends a call termination request to the process control module. The call termination request is transmitted through the process control module. In response to receiving the call termination request, the business logic processing module generates a call termination command and sends the call termination command to the outbound call module; and The outbound calling module stops calling the called analog terminal with the called identifier, thereby causing the called analog terminal to exit the call room.

5. The pressure testing method according to claim 1, characterized in that, The step of sending the call request to the business logic processing module through the process control module includes: The request parameters are signed using preset rules, and the first signed parameter, along with the request parameters, is sent to the business logic processing module. Before performing the step of generating a call command based on the request parameters by the business logic processing module, the stress testing method further includes: The business logic processing module signs the request parameters according to the preset rules and compares the signed second parameter with the first parameter. If the second parameter is the same as the first parameter, verify that the call request is a normal call request.

6. The pressure testing method according to claim 1, characterized in that, The stress testing method also includes: The business logic processing module monitors the call status in real time.

7. The pressure testing method according to claim 1, characterized in that, The process control module is a mock module.

8. A pressure testing system, characterized in that, The stress testing system includes: The caller's analog terminal is used to play recordings in call rooms with preset room identifiers; The process control module is used to send a call request to the business logic processing module, wherein the call request includes request parameters, and the request parameters include the preset room identifier, the called identifier, and the call identifier; The business logic processing module is used to respond to receiving the call request, generate a call command according to the request parameters, and send the call command to the outbound call module in the call center system; The outbound calling module is used to call the called analog terminal with the called identifier, so that the called analog terminal joins the call room according to the preset room identifier; The called analog terminal is used to respond within the call room; and The stress testing module is used to monitor the data transmission on the link formed by the business logic processing module, the outbound call module, and the called party simulation terminal. The request parameters also include the caller ID. The process control module is also used to receive request parameters; and The caller emulator with the caller ID is invoked so that the caller emulator joins the call room with the preset room ID.

9. A machine-readable storage medium, characterized in that, The machine-readable storage medium stores instructions for causing the machine to perform the stress testing method according to any one of claims 1-7.

10. An electronic device, characterized in that, The electronic device includes: processor; Memory used to store the processor's executable instructions; The processor is configured to read the executable instructions from the memory and execute the instructions to implement the stress testing method according to any one of claims 1-7.

Citation Information

Patent Citations

  • Stress testing method, system, electronic device and storage medium for call center

    CN108989583A

  • Connection establishment method and system of SIP call center system, and storage medium

    CN115604237A