CN106776313B - Method and device for simulating service and centralized management platform - Google Patents

Method and device for simulating service and centralized management platform Download PDF

Info

Publication number
CN106776313B
CN106776313B CN201611152472.4A CN201611152472A CN106776313B CN 106776313 B CN106776313 B CN 106776313B CN 201611152472 A CN201611152472 A CN 201611152472A CN 106776313 B CN106776313 B CN 106776313B
Authority
CN
China
Prior art keywords
service
simulator
request
simulation
tested
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611152472.4A
Other languages
Chinese (zh)
Other versions
CN106776313A (en
Inventor
马家麒
梁议尹
黄嵘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vipshop Guangzhou Software Co Ltd
Original Assignee
Guangzhou Pinwei Software Co Ltd
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 Guangzhou Pinwei Software Co Ltd filed Critical Guangzhou Pinwei Software Co Ltd
Priority to CN201611152472.4A priority Critical patent/CN106776313B/en
Publication of CN106776313A publication Critical patent/CN106776313A/en
Application granted granted Critical
Publication of CN106776313B publication Critical patent/CN106776313B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F11/3664Environments for 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

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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses a method for simulating service, which comprises the following steps: simulating external service behaviors to start simulator initialization operation, and editing simulation matching conditions and preset responses in a pile matcher of the initialized simulator; intercepting a request sent by a tested service by a monitoring link started by a simulator with the same IP as the tested service; analyzing the intercepted request and transmitting the analyzed request to a pile matcher of the simulator; the pile matcher of the simulator receives the analyzed request and executes a matching command according to the simulation matching condition; and if the matching is successful, the pile matcher of the simulator sends a preset response to the tested service. The invention also discloses a device for simulating service and a centralized management platform, aiming at simplifying the simulation service of joint debugging test, development joint debugging, abnormal scenes and complex test scenes of testers, simplifying the pressure test data and the test environment and improving the working efficiency of the simulation service.

Description

Method and device for simulating service and centralized management platform
Technical Field
The invention relates to the field of testing, in particular to a method and a device for simulating service and a centralized management platform.
Background
With the development of social science and technology, business scenes and joint debugging test data related to a system for managing internal services of an enterprise are very complex, the system applied by the enterprise rarely exists in isolation, and most systems are assembled together by depending on services provided by different software providers. The existing multiple service simulation frameworks or systems basically need to write codes, are mainly developed and limited to unit tests or integrated tests, and only support simulation of general protocols such as HTTP and SOCKS. However, the main operation of testers is black box testing, but the coding capability has limitations and business pressure, and the difficulty of writing a mock to simulate external services is very serious, so that the working efficiency is greatly influenced. In particular, some large internet companies, one system often depends on multiple external systems, and the involved service scenarios and joint debugging test data are very complex and often encounter the following situations: 1. the A service calls the B service, and the B service is unavailable or unstable for some reasons (for example, a login page calls a login passport. api, but the login is not allowed because the passport. api is not connected); 2. the method comprises the steps that A service transfers B service, data or a scene of the B service is difficult to construct (for example, a landing page transfers one logged-in passport. api which can return some error codes under some extreme conditions; and 3, during automatic testing, the A service transfers B service, and due to the fact that the B service is uncontrollable, data changes frequently, test data changes frequently.
For the above reasons, the operation of the service cannot be performed due to the dependence on the external service, which affects the work efficiency.
Disclosure of Invention
The invention mainly aims to provide a method and a device for simulating services and a centralized management platform, and aims to improve the working efficiency of the simulating services.
In order to achieve the above object, the present invention provides a method for simulating services, comprising the steps of:
simulating external service behaviors to start simulator initialization operation, and editing simulation matching conditions and preset responses in a pile matcher of the initialized simulator;
intercepting a request sent by a tested service by a monitoring link which is started by a simulator and has the same IP as the tested service;
analyzing the intercepted request and transmitting the analyzed request to a pile matcher of the simulator;
and the pile matcher of the simulator receives the analyzed request and executes a matching command according to the simulation matching condition.
Preferably, the step of simulating external service behavior to start simulator initialization operation, and editing a simulation matching condition and a preset response in a stub matcher of the initialized simulator includes:
selecting a simulation test architecture according to the request of the service to be tested, and simulating external service behaviors to start one or more simulators of different protocol services in the selected simulation test architecture;
selecting the configuration of a current protocol link of a simulator according to a current protocol service request of the service to be tested, and modifying the IP of the service request to be tested into the IP of the simulator so as to direct the request of the service to be tested to a port of a monitoring link started by the simulator;
according to the intention of simulating the external service behavior, editing simulation matching conditions and preset responses in a pile matcher of the simulator into piles, and parameterizing the piles to generate pile parameters.
Preferably, the step of selecting the configuration of the current protocol link of the simulator according to the current protocol service request of the service under test comprises: if the current protocol service of the service to be tested is the universal protocol service, modifying DNS configuration, directing the IP of the service request to be tested to the IP of the simulator, configuring Nginx, and directing the request of the service to be tested to the port of the monitoring link started by the simulator by utilizing the port mapping of the Nginx; if the current protocol service of the tested service is the self-defined protocol service, the IP of the tested service request is directly directed to the IP of the simulator and the port of the monitoring link corresponding to the OSP link through the IP and the port of the static route of the OSP.
Preferably, the step of parsing the intercepted request and transmitting the parsed request to a stub matcher of the simulator includes: analyzing the intercepted request to generate request parameters; converting the request parameters into request objects uniformly encapsulating different protocols; the request object is transmitted to a stub matcher of the simulator.
Preferably, the step of receiving the parsed request by the pile matcher of the simulator and executing the matching command according to the simulated matching condition includes: the pile matcher receives the analyzed request; calling pile parameters; analyzing pile parameters to release simulation matching conditions and preset responses; and calling a simulation matching condition and executing a matching command.
Preferably, the step of receiving the parsed request by the pile matcher of the simulator and executing the matching command according to the simulated matching condition includes: if the matching is successful, the pile matcher of the simulator sends a preset response to the tested service; and if the matching fails, the pile matcher of the simulator forwards the analyzed request to an external service, receives a real response to the request sent by the external service and transmits the real response to the tested service.
Preferably, the method further includes, between the step of intercepting a request issued by a service under test of the same IP by a listening link of the simulator and the step of parsing the intercepted request and transmitting the parsed request to a stub matcher of the simulator: monitoring the intercepted request by a monitoring link of the simulator; if the intercepted request does not need to return a preset response, suspending the monitoring link, directly transmitting the request sent by the tested service to an external service, receiving a real response of the external service to the request, and returning the real response to the tested service; and if the intercepted request does not need to use the simulator, stopping the monitoring link, closing the monitoring port by the simulation service, and returning error reporting information.
Preferably, the simulating external service behavior starts a simulator initialization operation, and before the step of editing the simulation matching condition and the preset response in the pile matcher of the initialized simulator, the simulating external service behavior includes: when the execution condition of the decoupling dependency is presented, the decoupling dependency is executed.
The present application further provides a device for simulating a service, comprising: the initialization module is used for simulating external service behaviors to start the initialization operation of the simulator, and editing simulation matching conditions and preset responses in a pile matcher of the initialized simulator; the monitoring module is used for intercepting a request sent by the tested service by a monitoring link started by a simulator with the same IP as the tested service; the message analysis module is used for analyzing the intercepted request and transmitting the analyzed request to a pile matcher of the simulator; and the execution module is used for receiving the analyzed request by the pile matcher of the simulator and executing the matching command according to the simulation matching condition.
Preferably, the system further comprises a response module, wherein the response module is used for sending a preset response to the tested service by the pile matcher of the simulator if the matching is successful; the server is also used for receiving a real response to the request sent by the external service and transmitting the response to the tested service if the matching fails; the forwarding module is used for forwarding the analyzed request to an external service by the pile matcher of the simulator if the matching fails; the decoupling dependency module is used for executing decoupling dependency when the execution condition of the decoupling dependency is presented; the monitoring module is used for monitoring the intercepted request by the monitoring link of the simulator; the monitoring execution module is used for suspending a link of the simulator if the intercepted request does not need to return a preset response, directly forwarding the request sent by the tested service to the external service, receiving a real response of the external service to the request and returning the real response to the tested service; and if the intercepted request does not need to use the simulator, stopping the link of the simulator, closing the monitoring port by the simulation service, and returning error reporting information.
Preferably, the initialization module includes: the simulation test architecture unit is used for selecting a simulation test architecture according to the request of the service to be tested, and simulating external service behaviors to start one or more simulators of different protocol services in the selected simulation test architecture; the simulation multi-protocol service unit is used for simulating external service behaviors to start one or more simulators of different protocol services; the service port configuration unit is used for selecting the configuration of the current protocol link of the simulator according to the current protocol service request of the service to be tested, modifying the IP of the service request to be tested as the IP of the simulator, and directing the request of the service to be tested to the port of the monitoring link started by the simulator; and the pile unit is used for editing simulation matching conditions and preset responses in a pile matcher of the simulator into piles according to the intention of simulating external service behaviors, and parameterizing the piles to generate pile parameters.
Preferably, the service port configuration unit includes: the universal protocol configuration subunit is used for modifying DNS configuration if the current protocol service of the service to be tested is the universal protocol service, directing the IP of the service request to be tested to the IP of the simulator, configuring Nginx, and directing the service request to be tested to the port of the monitoring link started by the simulator by utilizing the port mapping of the Nginx; and the custom protocol configuration subunit is used for directly directing the IP of the service request to be tested to the IP of the simulator and the port of the monitoring link corresponding to the OSP link through the IP and the port of the static route of the OSP if the current protocol service of the service to be tested is the custom protocol service.
Preferably, the message parsing module includes: the analysis unit is used for analyzing the intercepted request to generate request parameters; the packaging unit is used for converting the request parameters into request objects uniformly packaged with different protocols; a transmitting unit for transmitting the request object to a stub matcher of the simulator.
Preferably, the execution module includes: a receiving unit, configured to receive the analyzed request by the pile matcher; the calling unit is used for calling the pile parameters; the release unit is used for analyzing the pile parameters so as to release the simulation matching conditions and the preset response; and the execution unit is used for calling the simulation matching condition and executing the matching command.
The invention also discloses a centralized management platform of the simulation service, which comprises: means for simulating services as described above for one or more different protocols; the UI interaction module is used for establishing a UI interaction test model and an interaction specification and editing static HTML (hypertext markup language) so as to be responsible for interactive butt joint of all simulation services; the log management module is used for providing a log management function and recording, checking, downloading and cleaning logs of a simulation test result; and the simulation database is used for storing all data of the simulation service.
In the invention, simple configuration operations such as NGINX configuration, multiple protocol link configuration and pile configuration of a simulator and rich intelligent matching rules such as automatic configuration of the simulation service including, equality, regular expression matching, external parameters and the like are adopted, so that the intelligent matching is realized, the working procedure is simplified, and the working efficiency of the simulation service is improved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical arrangements in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and other drawings can be obtained according to the structures shown in the drawings without creative efforts for those skilled in the art.
FIG. 1 is a schematic flow chart of a first embodiment of a method for simulating services according to the present invention;
FIG. 2 is a schematic flow chart illustrating the steps of simulating external service behavior to start the initialization operation of the simulator, editing simulation matching conditions and presetting response in the post matcher of the initialized simulator according to an embodiment of the present invention;
FIG. 3 is a schematic flow chart illustrating a configuration for selecting a current protocol link of a simulator according to a current protocol service request of a service under test according to an embodiment of the present invention;
FIG. 4 is a schematic flow chart illustrating steps of parsing an intercepted request and transmitting the parsed request to a pile matcher of a simulator according to an embodiment of the present invention;
FIG. 5 is a schematic flow chart illustrating the process of the stub matcher of the simulator receiving the parsed request and executing the matching command according to the simulated matching condition according to an embodiment of the present invention;
FIG. 6 is a flowchart illustrating a method for simulating services according to a second embodiment of the present invention;
FIG. 7 is a flowchart illustrating a third exemplary embodiment of a method for simulating services according to the present invention;
FIG. 8 is a functional block diagram of a first embodiment of an apparatus for simulating services according to the present invention;
FIG. 9 is a functional block diagram of a device for simulating services according to a second embodiment of the present invention
FIG. 10 is a block diagram illustrating a detailed function of an initialization module according to an embodiment of the present invention;
FIG. 11 is a block diagram illustrating a detailed function of a service port configuration unit according to an embodiment of the present invention;
fig. 12 is a schematic diagram of a detailed functional module of a message parsing module according to an embodiment of the present invention;
FIG. 13 is a block diagram illustrating a detailed function of an execution block according to an embodiment of the present invention.
The implementation, functional features and advantages of the objects of the present invention will be further explained with reference to the accompanying drawings.
Detailed Description
Technical configurations in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that, if directional indications (such as up, down, left, right, front, and back … …) are involved in the embodiment of the present invention, the directional indications are only used to explain the relative positional relationship between the components, the movement situation, and the like in a specific posture (as shown in the drawing), and if the specific posture is changed, the directional indications are changed accordingly.
Referring to fig. 1, fig. 1 is a schematic flow chart of a method for simulating a service according to an embodiment of the present disclosure, where the method for simulating a service includes the following steps:
step S10, simulating external service behaviors to start simulator initialization operation, and editing simulation matching conditions and preset responses in a pile matcher of the initialized simulator;
in step S10, the simulator initialization operation needs to complete two preparation steps, and first, a test environment (mainly referred to as a hardware environment) needs to be deployed to provide a stable and controllable environment for the simulation service of the simulator, thereby improving the working quality and efficiency of the simulator. The method comprises the steps of pre-running and constructing or deploying the butt joint of a network communication service interface between the tested service and the external service, establishing a WEB UI interaction test model, constructing a plurality of test type frameworks, encapsulating link configurations with different protocols, and executing decoupling dependence to bypass the port of the external service which depends when the service port configuration of the tested service is deployed according to the protocol service of the tested service and the decoupling dependence condition is presented. The deployment of the test environments is completed by a simulation service platform which manages a plurality of simulators in a centralized way, and firstly, network communication among the simulators, the tested service and the external service is established; establishing a WEB UI interface interaction test model and an interaction specification, wherein the following steps are operated on the interface without coding; and then, a framework of various test types is constructed according to the requirements of the tested service, such as: the system comprises a unit test module, an integrated test module, an automatic test module, a functional test module and a pressure test module, wherein a test case for simulating external service behaviors is stored in a frame of each test type; encapsulating link configurations of different protocols for each simulator according to different protocol services; according to the protocol service of the tested service, the target service port configuration of the tested service is modified, the tested A service (namely the tested service) originally depends on the external B service (namely the external service), and the target service of the A service does not point to the B service but points to the simulator instead. Second, a testing service (mainly referred to as a software environment) needs to be deployed to provide a test object for the testing method of the present invention. The test service comprises a test management unit and a test execution unit, wherein a simulator is equivalent to the test management unit, the simulator manages the operation of single simulation test, a virtual Stub Matcher (Stub match) in the simulator is equivalent to the test execution unit, the Stub Matcher implements simulation test execution control, specifically, a test module in the simulator stores a test case for simulating external service behaviors, and the Stub Matcher is used for simulating elements of calling conditions of the test module to replace an interface of the test module and receive or transmit data of the test module, wherein the calling conditions of the test module are simulation matching conditions edited in the Stub Matcher, or simulation test matching conditions of the custom service are edited by registering an API function of a custom service event. And the pile matcher carries out test control according to the simulation test matching conditions.
Specifically, when a functional test framework is constructed, the functional test framework is a pressure test packet provided by a platform which is started independently, and the pressure test packet supports a general protocol and a custom protocol, where the general protocol is, for example, an HTTP protocol (hypertext transfer protocol) and the custom protocol is, for example, an OSP protocol (an international standard protocol for inter-network domain authorization, routing, and charging), and scenario cases are as follows: and the pressure measurement service of the OSP protocol is simulated, and the pressure measurement package is also the stub setting of the specified link by using the Web interface without repeated configuration. The method comprises the following steps: firstly, downloading a pressure test package provided by a platform by one key, starting a pressure test simulator, carrying out pressure simulation test, and directly checking a test result through an interface.
The initialization of the simulator of the application further comprises the creation of the simulator, and the simulator is used for simulating the external B service which is really interacted with the A service to be tested. The simulator can adopt a JETTY server, the JETTY server is an open-source servelet container (servelet is a server-end program written by JAVA, and has the main functions of interactively browsing and modifying data and generating dynamic WEB content), and the JETTY server is a WEB container based on JAVA. The JETTY server can be used as an embedded server, the running speed of the JETTY server is high, the JETTY server is light, the JETTY server is written by using Java language, and the API of the JETTY server is released in the form of a group of JAR packages. JAR package (JAVA's encapsulation package) management is used for RPC Protocol emulation (remote procedure Call Protocol, which is a Protocol that requests services from a remote computer program over a network without knowledge of underlying network technology), manages JAR packages of clients in a unified manner, understandably, JAR packages can be used to resolve services of different protocols. When the tested A service calls the external B service through the interface to carry out interaction in the test, the simulator is called to simulate the interaction instead, namely the originally tested A service request is modified to point to the simulator instead of the B service.
Step S20, intercepting the request sent by the tested service by the monitoring link which is started by the simulator and has the same IP with the tested service;
in step S20, after the initialization of the simulator is completed, all link snoops are started, and when the monitored link snoops a request of the same IP as the service under test, the monitored request, that is, the request sent by the service under test , is intercepted. The "IP" in this application is an IP Address (also translated to an Internet Protocol Address).
Step S30, analyzing the intercepted request and transmitting the analyzed request to a pile matcher of the simulator;
in step S30, the intercepted request is subjected to message parsing, the requested message data is parsed according to rules defined in the system, the parsed request generates the requested related data, and the requested related data is transmitted to the stub matcher of the simulator. The step S30 is actually the process of receiving the tested service request before the simulator normally simulates the matching execution
And step S40, the pile matcher of the simulator receives the analyzed request and executes a matching command according to the simulation matching condition.
In step S40, the step of receiving the parsed request by the stub matcher of the simulator should be understood as meaning the initiation of the simulation matching as soon as the request is received by the stub matcher of the simulator, which starts to execute the simulation test execution control. The simulation test execution control comprises the calling of simulation matching conditions, the operation judgment of simulation matching, the response execution after the judgment and the like. The step S40 is actually a parameter solving process corresponding to the pile parameterization before the simulator performs normal simulation matching,
referring to fig. 2, specifically, in the present embodiment, step S10 includes:
step S101, selecting a simulation test architecture according to a request of a service to be tested, and simulating an external service behavior to start one or more simulators of different protocol services in the selected simulation test architecture;
in step S101, the external service behavior may be a test case of one protocol service or a test case of multiple protocol services, and one tested service may depend on multiple different external services at the same time, and the test case simulating the external service behavior is stored in advance in the test management unit — simulator, so that when the initialization operation of the simulator is started, one or more simulators corresponding to the external services need to be started.
The simulation test framework is a simulation test analysis tool for providing simulation test cases, and comprises a test module for simulation test, a management module and a statistical analysis module, wherein the test module is used for providing the called simulation test cases when simulation matching commands of different test types are executed, and the simulation test cases can be repeatedly used; the management module is used for managing the calling of simulation test cases of different simulation test types; the statistical analysis module is used for counting and analyzing the result of the simulation test. The simulation test architecture is divided into different test types according to different expected differences of simulation tests, and then the simulation test architecture established by the different test types is simulated, wherein the simulation test architecture comprises a unit test architecture, an integrated test architecture, a functional test architecture and a pressure test architecture, and each simulation test architecture is an independent system structure formed by extracting common parts of each test type.
Step S102, selecting the configuration of the current protocol link of the simulator according to the current protocol service request of the service to be tested, modifying the IP of the service to be tested as the IP of the simulator, and directing the request of the service to be tested to the port of the monitoring link started by the simulator;
in step S102, after receiving the request, the centralized management platform of the simulation service obtains a protocol type at a request URL (uniform resource Locator), and forwards the protocol type to the simulator adapted to the protocol type for processing.
And step S103, editing simulation matching conditions and preset responses in a pile matcher of the simulator into piles according to the intention of simulating external service behaviors, and parameterizing the piles to generate pile parameters.
In step S103, the intention of simulating the external service behavior is a call condition of the test case that simulates the external service behavior, that is, the call condition corresponds to the intention of the external service behavior. And in the computer system, the calling condition is functionalized to generate a simulation matching condition. The functionalization defines the simulation matching condition as a functional expression from the default rule of the system, the preset response is defined as the return value of the functional expression, and the pile edited by the simulation matching condition and the preset response is a calculation expression composed of the simulation matching condition and the preset response. The parameterized pile generates pile parameters, and is another skill in computer operation, the parameterized pile transmits form parameters when a function is defined, and correspondingly, analytic parameters transmit actual parameters when the function is called. The process of parameterization of the pile is as follows: and configuring the format of the parameters of the pile, adding the pile parameters, completing parameterization and generating the pile parameters. The parameterization of the stub is used to adapt different external services of multiple protocols. It should be understood that the stub function can be automatically generated and also can be customized, but the automatically generated stub function is mainly different from the customized stub function in that: the calling priority level of the self-defined stub function is higher than that of the original function, and the priority level of the original function is higher than that of the automatically generated stub function. For example, assuming that the original definition of a function can be found in the code, the automatically generated stub function is invalid because the primitive function has a higher priority than the automatically generated stub function. The self-defined pile function has the following advantages: the calling primitive may have a fixed return value and may not return an expected value, so that different code branches may be tested. The return value of the stub function can be freely controlled by a user, so that the method has greater flexibility.
The simulation matching has rich matching rules, AND the matching conditions of the piles logically support AND, OR AND NOT relations among a plurality of piles; the matched operators support equils, contacts (value contained), regex (value regular expression match). The preset response is dynamically generated by means of a beans interpreter according to different analog matching conditions.
It should be noted that, the stub is distinguished into a public stub and a private stub according to the difference of specific data in the test case data, the public stub can be newly built and called in the link, or data of a read (read is an open source data written in ANSI C language, supports a network, can be automatically generated based on a log-type and Key-Value database which can be persistent in memory, and provides APIs of multiple languages), can be called by a link associated with the public stub under the same IP, and the private stub can only be newly built in the link and is only private to the link. The newly created stub described herein includes a custom stub function and an original function.
Particularly, the public post also has a recording rule, and there are two recording ways of the public post: 1. capturing flow from an external service system for recording, wherein the scene is as follows: when the platform is butted with an ApiTester (interface test platform) and a DCT (data manufacturing platform), because ApiTester and DCT test are carried out, all normal interface requests and responses can send a public redis to be used as cache, and the platform can extract the data from the redis at regular time to automatically generate a public stub; 2. when the simulator does not match the request, the request and response intercepted by the simulator and not matching the direct forwarding are generated as a public Stub by recording the request and response by a Stub Recorder (Stub Recorder). The public post recording rule can be automatically generated after a default rule is established in advance by an internal code, and can also be manually set on a page.
The parameterized peg of the invention is also an embodiment of the intelligent matching function. The matching conditions and simulated responses for the stub are parameterized accordingly, it being understood that if the parameter format of the stub configuration is $ { parameter name }, the stub parameters must be set when the parameter format is set, otherwise the measured service request will not match successfully, and the response that should be obtained will only be seen if the stub parameters are reset, replacing the formatted parameters of the matching conditions and simulated responses with the stub parameters, and then requesting again.
Referring to fig. 3, in this embodiment, the step S102 specifically includes the following steps:
step S1021, if the current protocol service of the tested service is the universal protocol service, the DNS configuration is modified, the IP of the tested service request is directed to the IP of the simulator, Nginx is configured, and the port mapping of the Nginx is utilized to direct the request of the tested service to the port of the monitoring link started by the simulator;
step S1022, if the current protocol service of the service to be tested is the custom protocol service, the IP of the service request to be tested is directly directed to the IP of the simulator and the port of the monitoring link corresponding to the OSP link through the IP and the port of the static route of the OSP.
It should be understood that, in this embodiment, the protocol services are divided into a general protocol service and a custom protocol service, and specifically, the service simulation platform has the following simulation schemes for different protocol services:
1) simulation of HTTP/Thrift protocol:
a user can more conveniently access the Internet by modifying DNS configuration (a full-Name Domain Name System, a Domain Name System, a distributed database on the Internet as mutual mapping of Domain names and IP addresses, without remembering IP number strings which can be directly read by a machine), the IP of the B service is directed to the IP of the platform simulator, and the request of the A service is directed to a port of a monitoring link started by the simulator through the built-in Nginx of the platform.
2) OSP protocol simulation:
the user directs the IP of the B service through the statically routed IP and port of the OSP to the IP of the emulator and the port of the listening link of the corresponding OSP link.
It should be added that Nginx is a high-performance HTTP and reverse proxy server, the present invention only uses the port mapping function of Nginx for HTTP protocol or Thrift protocol simulation (Thrift is a framework system of a server and a client, so that systems developed in different languages can communicate through the framework), and the platform has a built-in Nginx, so that a user does not need to use a server to operate the Nginx, but only needs to configure on a page. If the configuration page in Nginx is: the Server Name, car, api, vip, com listen Port, 80 default listening Port, 1234, will actually generate a configuration file at Nginx as follows:
Figure BDA0001179186810000111
indicating a request for a cart.api.vip.com domain and port 80, is forwarded uniformly to a link with listening port 1234. For example, the request is http:// car.api. vip.com:80/xxx, which becomes http://127.0.0.1:1234 after forwarding through Nginx.
The principle of the nginnx reverse proxy is that a proxy server receives a connection request on the internet, then forwards the request to a server on an internal network, and returns a result obtained from the server to a client requesting connection on the internet, and at the moment, the proxy server externally appears as a server.
Specifically, referring to fig. 4, step S30 includes:
step S301, analyzing the intercepted request to generate request parameters;
in step S301, when the link is started, an InboundChannel (InboundChannel is dedicated to the channel for communication between the a service and the simulator) is started, and is used to listen to the received request from the a service.
Step S302, converting the request parameters into request objects uniformly encapsulating different protocols;
in step S302, after receiving the Request, the Request extractor extracts the requested parameters (such as uri, body parameters) and converts the parameters into a RequestElement (Request object), such as: request contents of different protocols such as HTTP and OSP are uniformly converted into RequestElement (request object), that is, request parameters of different protocols are encapsulated).
Step S303, the request object is transmitted to the stub matcher of the simulator.
In step S303, the simulator further transmits the RequestElement to a Stub Matcher (Stub match) to match the Stub preset by the user. It should be understood that the entire parsing of the request into RequestElement is performed by the internal code of the simulator.
Specifically, referring to fig. 5, step S40 includes:
step S401, the pile matcher receives the analyzed request;
step S402, calling pile parameters;
step S403, analyzing pile parameters to release simulation matching conditions and preset responses;
step S404, calling the simulation matching condition and executing the matching command.
The pile can be a constant or a variable, so that the pile is defined as a function, the parameters transmitted in the function definition are called form parameters, the parameters transmitted in the function calling are called real parameters, the simulator replaces the area allocation conditions and the preset response parameters in the pile, releases the original functions of the simulation matching conditions and the preset response parameters, and then calls the simulation matching conditions to execute the matching command.
Referring to fig. 6, in the second embodiment, after step S40, the method further includes:
step S50, if the matching is successful, the pile matcher of the simulator sends a preset response to the tested service;
and step S60, if the matching fails, the pile matcher of the simulator forwards the analyzed request to an external service, receives a real response to the request sent by the external service, and transmits the response to the tested service.
In the second embodiment, steps S50 and S60 are steps S40, and then include response measures, that is, when matching succeeds, the stub matcher of the simulator sends a preset response to the service under test; when the matching fails, the simulator forwards the request to the external service, receives a real response to the request sent by the external service, and transmits the response to the tested service. At this time, the stub matcher is only used as a transfer station to forward the request and receive the real response of the external service to the request, and then forward the request to the tested service.
Referring to fig. 7, in the third embodiment, between step S20 and step S30, there is further included:
step S70, monitoring the intercepted request by the monitoring link of the simulator;
step S80, if the intercepted request does not need to return a preset response, suspending the link of the simulator, directly transmitting the request sent by the tested service to the external service, receiving the real response of the external service to the request and returning to the tested service;
step S90, if the intercepted request does not need to use the simulator, the link of the simulator is stopped, the simulation service closes the monitoring port, and returns an error message.
In this embodiment, considering the complexity of the business of the enterprise user, in order to meet different requirements of various businesses of the user, the simulator completes the function of monitoring the request through the control of the link state, it should be understood that the monitoring request is combined with the requirements of the business, if the business does not need to be matched with the link of the simulator for direct forwarding, the link of the simulator can be suspended, if the business does not use the simulator, the link of the simulator can be stopped, the monitoring port is closed by the simulation service, and the tested service sends the request to the simulator again, and will receive the error reporting information of connection failure.
In the fourth embodiment, step S10 is preceded by:
when the case of the decoupling dependency is presented, the decoupling dependency is executed to bypass the interface of the external service that is relied upon.
In this embodiment, the measured a service originally depends on the external B service, and an open platform for centralized management of a plurality of simulators is now established between the measured a service and the external B service, and the platform cooperatively interacts with different external servers through interfaces to process the service of the measured service. It should be understood that the coupling in the calculation is biased toward the influence of two or more of them, and the decoupling is to release the influence, enhance the respective independent existence ability, and can infinitely reduce the existing coupling degree, but can not eradicate, otherwise, the mutual association is lost, and the existence meaning is lost.
The service simulation platform has the function of service decoupling and can be used for research and development or testing personnel to bypass external services to independently test the services in charge of the service simulation platform. Service decoupling scenario: 1) the service A calls the service B, and the service B is unavailable or unstable for some reasons, such as calling a login passport. 2) The service A calls the service B, and the data or the scene of the service B is difficult to construct, for example, a landing page calls a landing passport. 3) When the automatic test is carried out, the service A transfers the service B, and the test data is changed frequently due to the fact that the service B is uncontrollable and the data are changed frequently. Such as: jetty can control the running of test case, so that the automatic test does not depend on the external environment, and the automatic test is smoothly realized.
Referring to fig. 8, the present invention also discloses a device for simulating service, which comprises:
the initialization module 10 is configured to simulate an external service behavior to start an initialization operation of the simulator, and edit a simulation matching condition and a preset response in a pile matcher of the initialized simulator;
a monitoring module 20, configured to intercept a request sent by a service under test, by using a monitoring link started by a simulator having the same IP as the service under test;
a message parsing module 30 for parsing the intercepted request and transmitting the parsed request to a stub matcher of the simulator;
and the execution module 40 is used for receiving the analyzed request by the pile matcher of the simulator and executing the matching command according to the simulation matching condition.
In this embodiment, the initialization operation of the simulator needs to be performed in two ways, and first, a test environment (mainly referred to as a hardware environment) needs to be deployed to provide a stable and controllable environment for the simulation service of the simulator, thereby improving the working quality and efficiency of the simulator. The method comprises the steps of pre-running and constructing or deploying the butt joint of a network communication service interface between the tested service and the external service, establishing a WEB UI interaction test model, constructing a plurality of test type frameworks, encapsulating link configurations with different protocols, and executing decoupling dependence to bypass the port of the external service which depends when the service port configuration of the tested service is deployed according to the protocol service of the tested service and the decoupling dependence condition is presented. The deployment of the test environments is completed by a simulation service platform which manages a plurality of simulators in a centralized way, and firstly, network communication among the simulators, the tested service and the external service is established; establishing a WEB UI interface interaction test model and an interaction specification, wherein the following steps are operated on the interface without coding; and then, a framework of various test types is constructed according to the requirements of the tested service, such as: unit test, integration test, automation test, function test and pressure test; encapsulating link configurations of different protocols for each simulator according to different protocol services; according to the protocol service of the tested service, the target service port configuration of the tested service is modified, the tested A service (namely the tested service) originally depends on the external B service (namely the external service), and the target service of the A service does not point to the B service but points to the simulator instead. Second, a testing service (mainly referred to as a software environment) needs to be deployed to provide a test object for the testing method of the present invention. The test service comprises a test management unit and a test execution unit, wherein a simulator is equal to the test management unit, a virtual pile matcher in the simulator is equal to the test execution unit, specifically, a test case for simulating external service behaviors is stored in the simulator in advance, a matching condition and a preset response of the simulation test are edited in the pile matcher of the simulator, or the matching condition and the preset response of the simulation test of the custom service are edited by registering an API function of a custom service event, the matching condition and the preset response of the simulation test are edited into a pile in the pile matcher in the simulator, pile parameters are generated by the pile, and the pile matcher performs test control according to the matching condition of the simulation test.
Specifically, when the functional test framework is constructed, the pressure test package is provided by a platform which is started independently, the pressure test package supports a general protocol, such as an HTTP protocol, and a custom protocol, such as an OSP protocol, for service simulation during pressure test, and the pressure test package is also a stub configuration for specifying a link by using a Web interface, and does not need to be configured repeatedly. The method comprises the following steps: firstly, downloading a pressure test package provided by a platform by one key, starting a pressure test simulator, carrying out pressure simulation test, and directly checking a test result through an interface.
The method of the invention completely adopts the visual operation interface of the WEB UI, the configuration and the sharing are realized, the simulation of the service can be realized without any skill and understanding the technical details, namely without self coding when the user uses the method, and the efficiency of the joint debugging test is greatly improved.
The initialization of the simulator of the application further comprises the creation of the simulator, and the simulator is used for simulating the external B service which is really interacted with the A service to be tested. The simulator can adopt a JETTY server, and the JETTY server is an open-source servelet container and is a WEB container based on JAVA. Jetty can be used as an embedded server, has a fast running speed and is lightweight, and is written in Java language, and its API is published in the form of a set of JAR packages. The JAR package management is used for RPC protocol simulation, and the JAR package of the client side is managed in a unified mode. When the tested A service calls the external B service through the interface to carry out interaction in the test, the simulator is called to simulate the interaction instead, namely the originally tested A service request is modified to point to the simulator instead of the B service.
After the simulator is started, a port of a monitoring link started by the simulator starts monitoring, when a request with the same IP as that of the simulator is monitored, the request is intercepted, the request is analyzed by a message, and the analyzed request is sent to the pile matcher. And after receiving the request, the pile matcher executes a matching command according to the simulation matching condition, starts test control, and if the matching is successful, the pile matcher pushes out a preset response of the simulation test and returns to the tested service.
Referring to fig. 8, a second embodiment of the apparatus for simulating a service according to the present invention further includes:
the response module 50 is used for sending a preset response to the tested service by the pile matcher of the simulator if the matching is successful; the server is also used for receiving a real response to the request sent by the external service and transmitting the real response to the tested service;
a forwarding module 60, configured to forward, by the pile matcher of the simulator, the analyzed request to an external service if the matching fails;
a decoupling dependency module 70, configured to execute decoupling dependencies when an execution condition of the decoupling dependencies is presented;
a monitoring module 80, configured to monitor the intercepted request by the monitoring link of the simulator;
the monitoring execution module 90 is configured to suspend the link of the simulator if the intercepted request does not need to return a preset response, directly forward the request sent by the service to be tested to the external service, and receive a real response of the external service to the request and return the real response to the service to be tested; and if the intercepted request does not need to use the simulator, stopping the link of the simulator, closing the monitoring port by the simulation service, and returning error reporting information.
In the second embodiment, the system further includes a response module 50, that is, when the matching is successful, the pile matcher of the simulator sends a preset response to the service to be tested; when the matching fails, the simulator forwards the request to the external service, receives a real response to the request sent by the external service, and transmits the response to the tested service. When the matching fails, the pile matcher only serves as a transfer station, forwards the request, receives the real response of the external service to the request and forwards the response to the tested service.
In the third embodiment, the monitoring module 80 and the monitoring execution module 90 are further included, in consideration of the complexity of business of enterprise users, in order to meet different requirements of various businesses of users, the simulator performs the function of monitoring requests through control of link states, it should be understood that the monitoring requests are combined with the requirements of the businesses simultaneously, if the businesses do not need to match with direct forwarding, the link of the simulator can be suspended, if the businesses do not use the simulator, the link of the simulator can be stopped, the monitoring port is closed by the simulation service, the tested service re-initiates a request to the simulator, and error reporting information of connection failure can be received.
In the fourth embodiment, a decoupling dependency module 70 is further included, the a service to be tested originally depends on the external B service, and an open platform for centralized management of a plurality of simulators is now established between the a service to be tested and the external B service, and the platform cooperatively interacts with different external servers through interfaces to process the service of the service to be tested. It should be understood that the coupling in the calculation is biased toward the influence of two or more of them, and the decoupling is to release the influence, enhance the respective independent existence ability, and can infinitely reduce the existing coupling degree, but can not eradicate, otherwise, the mutual association is lost, and the existence meaning is lost.
The service simulation platform has the function of service decoupling and can be used for research and development or testing personnel to bypass external services to independently test the services in charge of the service simulation platform. Service decoupling scenario: 1) the service A calls the service B, and the service B is unavailable or unstable for some reasons, such as calling a login passport. 2) The service A calls the service B, and the data or the scene of the service B is difficult to construct, for example, a landing page calls a landing passport. 3) When the automatic test is carried out, the service A transfers the service B, and the test data is changed frequently due to the fact that the service B is uncontrollable and the data are changed frequently. Such as: jetty can control the running of test case, so that the automatic test does not depend on the external environment, and the automatic test is smoothly realized.
Referring to fig. 9, the initialization module 10 includes:
a simulation test architecture unit 101, configured to select a simulation test architecture according to a request of a service under test, and in the selected simulation test architecture, simulate an external service behavior to start one or more simulators of services in different protocols;
the simulation multi-protocol service unit 102 is used for acquiring the protocol type on the request URL address after receiving the request, transferring the protocol type to a simulation service device adapted to the protocol type for processing, and selecting the configuration of the current protocol link of the simulator according to the current protocol service request of the service to be tested;
a service port configuration unit 103, configured to select a configuration of a current protocol link of the simulator according to a current protocol service request of the service to be tested, modify the IP of the service request to be tested as the IP of the simulator, and direct the request of the service to be tested to a port of a monitoring link started by the simulator;
and the pile unit 104 is used for editing simulation matching conditions and preset responses in a pile matcher of the simulator into piles according to the intention of simulating external service behaviors, and parameterizing the piles to generate pile parameters.
Specifically, the simulation test architecture 101 is a simulation test analysis tool for providing simulation test cases, and includes a test module for simulation test, a management module, and a statistical analysis module, where the test module is used to provide called simulation test cases when executing simulation matching commands of different test types, and the simulation test cases are reusable; the management module is used for managing the calling of simulation test cases of different simulation test types; the statistical analysis module is used for counting and analyzing the result of the simulation test. The simulation test architecture is divided into different test types according to different expected differences of simulation tests, and then the simulation test architecture established by the different test types is simulated, wherein the simulation test architecture comprises a unit test architecture, an integrated test architecture, a functional test architecture and a pressure test architecture, and each simulation test architecture is an independent system structure formed by extracting common parts of each test type.
The simulation multi-protocol service unit 102 is used for acquiring the protocol type on the request URL address after receiving the request, and transferring the protocol type to a simulator adapted to the protocol type for processing, and includes a simulation general protocol service and a simulation custom protocol service.
The service port configuration unit 103 is configured to modify port configurations of the service under test, the external service, and the simulator according to different protocol services, so that the simulator enters a role of a proxy server.
The stub unit 104 is a unit for simulating a call condition of a test case to replace an interface of the test case and receive or transmit data of the test case, where the call condition of the test module is a simulation matching condition.
The external service behavior may be a test case of one protocol service or a test case of multiple protocol services, and one tested service may depend on multiple different external services at the same time, and the test case simulating the external service behavior is stored in advance in a test management unit, namely a simulator, so that when the initialization operation of the simulator is started, one or more simulators corresponding to the external services need to be started.
In the process of initializing the simulator, a stub matcher in the simulator is used for simulating elements of calling conditions of the test case to replace an interface of the test case and receive or transmit data of the test case, wherein the calling conditions of the test module are simulation matching conditions. Judging the intention of the called test case data, and editing simulated matching conditions and preset responses according to specific data in the test case data to generate a stub; further, in order to improve the intelligence of matching, the parameterized stub should be understood that the variability of the external service determines the variability of the simulated matching condition and the preset response, that is, the stub may be a constant or a variable, so that the stub is understood as a stub function, the simulated matching condition is a calculation formula, the preset response is a return value, the parameterized stub is introduced with the argument when the function is defined, and relatively, the analytic parameter is introduced with the argument when the function is called. The process of parameterization of the pile is as follows: and configuring the format of the parameters of the pile, adding the pile parameters, completing parameterization and generating the pile parameters. The parameterization of the pile is used for adapting to different external services of various protocols, so that the pile function can be automatically generated and can also be customized, but the main difference between the automatically generated pile function and the customized pile function is as follows: the calling priority level of the self-defined stub function is higher than that of the original function, and the priority level of the original function is higher than that of the automatically generated stub function. For example, assuming that the original definition of a function can be found in the code, the automatically generated stub function is invalid because the primitive function has a higher priority than the automatically generated stub function. The self-defined pile function has the following advantages: the calling primitive may have a fixed return value and may not return an expected value, so that different code branches may be tested. The return value of the stub function can be freely controlled by a user, so that the method has greater flexibility. Therefore, in this embodiment, the return value of the stub function, i.e., the preset response, is dynamically generated by the bearer shell.
The parameterized peg of the invention is also an embodiment of the intelligent matching function. The matching conditions and simulated responses for the stub are parameterized accordingly, it being understood that if the parameter format of the stub configuration is $ { parameter name }, the stub parameters must be set when the parameter format is set, otherwise the measured service request will not match successfully, and the response that should be obtained will only be seen if the stub parameters are reset, replacing the formatted parameters of the matching conditions and simulated responses with the stub parameters, and then requesting again.
In this embodiment, it should be noted that the stub includes a public stub and a private stub, which are different according to different specific data in the test case data, where the public stub may be newly created and invoked in the link, or data for capturing redis automatically generated, and may be invoked by a link associated with the public stub under the same IP, and the private stub may only be newly created in the link and is private to the link. The newly created stub described herein includes a custom stub function and an original function.
Particularly, the public post also has a recording rule, and there are two recording ways of the public post: 1. capturing flow from an external service system for recording, wherein the scene is as follows: when the platform is butted with an ApiTester (interface test platform) and a DCT (data manufacturing platform), because ApiTester and DCT test are carried out, all normal interface requests and responses can send a public redis to be used as cache, and the platform can extract the data from the redis at regular time to automatically generate a public stub; 2. when the simulator does not match the request, the request and response intercepted by the simulator and not matching the direct forwarding are generated as a public Stub by recording the request and response by a Stub Recorder (Stub Recorder). The public post recording rule can be automatically generated after a default rule is established in advance by an internal code, and can also be manually set on a page.
The simulation matching has rich matching rules, AND the matching conditions of the piles logically support AND, OR AND NOT relations among a plurality of piles; the matched operators support equils, contacts (value contained), regex (value regular expression match). And the preset response is dynamically generated through the bearer shell according to different simulation matching conditions.
Referring to fig. 10, the service port configuration unit 103 includes:
a universal protocol configuration subunit 1031, configured to modify DNS configuration if the current protocol service of the service to be tested is a universal protocol service, direct the IP of the service request to be tested to the IP of the simulator, configure Nginx, and direct the service request to be tested to the port of the monitoring link started by the simulator by using port mapping of the Nginx;
a custom protocol configuration subunit 1032, configured to, if the current protocol service of the service to be tested is the custom protocol service, directly direct the IP of the service request to be tested to the IP of the simulator and the port of the monitoring link corresponding to the OSP link through the IP and the port of the static route of the OSP.
It should be understood that, in this embodiment, the protocol services are divided into a general protocol service and a custom protocol service, and specifically, the service simulation platform has the following simulation schemes for different protocol services:
1) HTTP/Thrift protocol simulation (generic protocol simulation):
the user directs the IP address of the B service to the platform simulator (by modifying DNS configuration), and directs the request of the A service to the port of the monitoring link started by the simulator through the Nginx built in the platform.
2) OSP protocol simulation (custom protocol simulation):
the user directs the IP of the B service through the statically routed IP and port of the OSP to the IP of the emulator and the port of the listening link of the corresponding OSP link.
It should be added that Nginx is an open-source reverse proxy server, the platform only uses the port mapping function of the Nginx, and is used for HTTP protocol or thread protocol simulation, the platform is internally provided with the Nginx, and the user does not need to use the server to operate the Nginx, but only needs to configure on the page. If the configuration page in Nginx is: the Server Name, car, api, vip, com listen Port, 80 default listening Port, 1234, will actually generate a configuration file at Nginx as follows:
Figure BDA0001179186810000201
indicating a request for a cart.api.vip.com domain and port 80, is forwarded uniformly to a link with listening port 1234. For example, the request is http:// car.api. vip.com:80/xxx, which becomes http://127.0.0.1:1234 after forwarding through Nginx.
The principle of the nginnx reverse proxy is that a proxy server receives a connection request on the internet, then forwards the request to a server on an internal network, and returns a result obtained from the server to a client requesting connection on the internet, and at the moment, the proxy server externally appears as a server.
Referring to fig. 11, the packet parsing module 30 includes:
an analyzing unit 301, configured to analyze the intercepted request to generate a request parameter;
an encapsulating unit 302, configured to convert the request parameter into a uniform request object encapsulating different protocols;
a transmitting unit 303 for transmitting the request object to the stub matcher of the simulator.
In this embodiment, what the message parsing module actually completes is a process of receiving a service Request to be tested before a simulator performs normal simulation matching, when a link is started, an InboundChannel (the InboundChannel is specially used for a service and a channel for communication between the simulator) is started, and is used for monitoring a received Request from the a service, and after the Request is received, a Request extractor extracts a parameter of the Request (such as a parameter of uri or body) and converts the parameter into a RequestElement Request object (Request contents of different protocols such as HTTP and OSP are uniformly converted into a RequestElement Request object, that is, a Request parameter encapsulated with different protocols). The simulator transmits the RequestElement to a Stub Matcher (Stub Matcher) to be matched with a Stub preset by a user. The entire parsing of the request into RequestElement is performed by the internal code of the simulator.
Referring to fig. 12, the execution module 40 includes:
a receiving unit 401, configured to receive the analyzed request by the stub matcher;
a calling unit 402, configured to call a stub parameter;
a release unit 403, configured to analyze the pile parameters to release the simulation matching condition and the preset response;
and the execution unit 404 is configured to invoke the simulated matching condition and execute the matching command.
In this embodiment, the execution module actually performs a parameter solution process corresponding to a parameterization of the stub before the normal simulation matching execution of the simulator, where the stub may be a constant or a variable, so that the stub is defined as a function, the parameters introduced during the function definition are called the parameters of the form, and the parameters introduced during the function call are called the actual parameters, and the simulator replaces the area allocation conditions and the parameters of the preset response in the stub first, releases the original functions of the simulation matching conditions and the preset response, and then calls the simulation matching conditions to execute the matching command.
The invention also discloses a centralized management platform of the simulation service, which comprises:
means for simulating services as described above for one or more different protocols; and
the UI interaction module is used for establishing a UI interaction test model and an interaction specification and editing static HTML (hypertext markup language) so as to be responsible for interactive butt joint of all simulation services; and
the log management module is used for providing a log management function and recording, checking, downloading and cleaning logs of a simulation test result; and
and the simulation database is used for storing all data of the simulation service.
In the invention, the centralized management platform of the simulation service completely adopts a visual operation interface of a WEB UI, configuration and sharing are realized, and the simulation of the service can be realized without any skill and technical details, namely, without self coding when a user uses the system, thereby greatly improving the efficiency of joint debugging test.
In practical application, the centralized management platform of the simulation service is a platform for performing centralized management on the simulators of the one or more different protocol services, and the core principle of the simulation service platform is an agent service platform for constructing an adaptive test environment for the simulators performing the simulation service; searching a proper simulator and link configurations of different protocols according to the request type of the service to be tested so as to provide corresponding service; centralized management, configuration and sharing of a plurality of simulators are realized, and the working efficiency of joint debugging test is improved; the log record and the database provide conventional service of centralized management; when the decoupling dependence condition is presented, decoupling dependence is executed to bypass the interface of the external service relied on, so that the tester can conveniently perform the test service responsible for the tester.
The centralized management platform of the simulation service enables the joint debugging test, development joint debugging, abnormal scene and complex test scene test of testers to be simplified, and also enables the pressure test data and environment to be simplified
In practical application, the method and the device for simulating the service provided by the invention have the following practical operation processes:
method for simulating service
Taking HTTP protocol simulation as an example:
1. the simulator is provided with a Nginx receiving request, the Nginx forwards the request to a monitoring port started by a corresponding link according to a forwarding port configured by a user after receiving the request.
2. When the link is started, an InboundChannel (the InboundChannel is specially used for a service and a channel for communication between the simulator) is started, and is used for monitoring a received request from the a service. After receiving the request, the requestExtractor extracts the parameters of the request (such as the parameters of uri and body) and converts the parameters into a requestElement request object (request contents of different protocols such as HTTP and OSP are uniformly converted into the requestElement request object).
3. The simulator transmits the RequestElement to a Stub Matcher (Stub Matcher) to be matched with a Stub preset by a user.
4. A matching failure is forwarded to the real service and a response is received through an OutboundChannel (OutboundChannel is a channel dedicated to communication between the simulator and the B service and is established only at the time of forwarding), and a response is recorded through a stubrcorder (stub recorder, which is dedicated to recording a response intercepted and forwarded by the simulator as a public stub), and then the real response is returned to the requester (a service) through an InBoundChannel.
5. After matching is successful, a preset response is directly returned to the requester (a service) through the InBoundChannel.
The simulator realizes the actual operation flow of the common matching process of the simulation service:
1. a link configuration for a simulator, comprising: the method comprises the following steps of link ID, link IP, link name, link monitoring port, whether matching is used or not, target service target IP, target service Host/URL, target service port and protocol type, wherein the first link can be used as a monitoring port, the target service sets forwarding after user matching failure, and the protocol type is supported by the target service, and comprises the following steps: HTTP, DSP, Thrift, etc.;
2. link list and state control, the link state includes: start, pause (forward only not matched use) and stop;
3. nginx configuration is used for simulating an HTTP (hyper text transport protocol) or a Thrift protocol, Nginx is arranged in the platform, and a user does not need to operate the Nginx on a server and only needs to configure on a page;
4. JAR package management is used for RPC protocol simulation, unified management of JAR packages of clients and convenience in analysis of different protocol services.
5. Pile configuration, which is to specify the settings of simulation matching rules, preset responses, pile parameters and the like, wherein each link can be provided with a plurality of piles;
6. the recording rule of the public stake is set, and the recording ways of the public stake are two types: 1. capturing flow from an external service system for recording; 2. when the simulator does not match the request, the request and response intercepted by the simulator and not matching the direct forwarding are generated as a public Stub by recording the request and response by a Stub Recorder (Stub Recorder). The public pile recording rule can be manually set, and if the condition does not exist, the recording rule can be automatically generated;
7. log recording, namely recording forwarded logs when the simulation matching fails, and recording logs returning preset responses when the simulation matching succeeds;
8. the independently started service pressure test packet carries out pressure test, supports the pressure measurement service simulation of HTTP and DSP protocols, downloads the pressure test packet by one key, starts the pressure test simulator, carries out pressure test by the pressure test simulator and checks the test result.
Second, centralized management platform of simulation service
The central management platform of the simulation service is a platform for carrying out central management on the simulator, the core principle of the simulation service platform is an agent service platform, and the working content of the platform comprises a test environment which is adapted to the simulator for carrying out the simulation service; searching proper simulator and link configuration according to the request type of the service to be tested so as to provide corresponding service; centralized management, configuration and sharing of a plurality of simulators are realized, and the working efficiency of joint debugging test is improved; logging and storing data of simulation service, and the like, and the operation steps of the platform are as follows:
step one, establishing a UI interaction test model so that all operations of a user are basically performed from a WEB interface of a platform without coding;
step two, generating a test frame by using the test model, wherein the test frame comprises the following steps: the system comprises a unit testing frame, an integrated testing frame, a function testing frame and a pressure testing frame;
step three, when the situation of the decoupling dependency is presented, the decoupling dependency is executed to bypass the interface of the external service which is depended on;
compiling a test event, and editing the compiled script into a corresponding simulator in a test framework by simulating a test case of an external service or registering an API function of a custom service event;
step five, implementing simulation test matching in the simulator, and returning a corresponding response;
recording the log, namely recording, checking, downloading and cleaning the log, and returning the log with a preset response if the matching is successful; if the matching fails, returning the forwarded log;
step seven, the simulation database collects the test data, stores and manages the test data,
the test framework is a simulation test analysis tool for providing simulation test cases, and comprises a basic module for simulation test, a management module and a statistical analysis module, wherein the basic module is used for providing the called simulation test cases when simulation matching commands of different test types are executed, and the simulation test cases are reusable; the management module is used for managing the calling of simulation test cases of different simulation test types; the statistical analysis module is used for counting and analyzing the result of the simulation test. The test architecture is divided into different test types according to different expected differences of simulation tests, and then the simulation test architecture established by the different test types is simulated, wherein the simulation test architecture comprises a unit test architecture, an integrated test architecture, a functional test architecture and a pressure test architecture, and each simulation test architecture is an independent system structure formed by extracting common parts of each test type. Applicable scenarios are as follows:
1) functional test, integration test and unit test
When working performance testing, integration testing, unit testing and even function development are carried out by testing or research personnel, the self service is butted to the platform simulator, external unstable, unavailable and complex external service can be simply bypassed, and any return of the external service can be simulated. The user only needs to pay attention to the functions and logic of the self service so as to realize the decoupling dependence on the external service.
2) Performance testing
When the tester carries out the pressure test, the pressure test package provided by the platform is downloaded to the pressure test machine and started. The pressure measurement package is a high-performance simulation service which can be independently started, is in butt joint with the platform body through an interface, and acquires relevant data of the pile and the link when the pressure measurement package is started. When the user presses and tests, the user does not need to deploy external dependence service and generate a large amount of external pressure test data, and only needs to simply change the external dependence into the connection simulator and pay attention to the performance and the pressure test data of the tested service. The pressure measurement package provided by the platform supports the pressure measurement service simulation of a general protocol and a custom protocol, and is also the pile setting of a specified link by using a Web interface without repeated configuration. The method comprises the following steps: firstly, downloading a pressure test package provided by a platform by one key, starting a pressure test simulator, carrying out pressure simulation test, and directly checking a test result through an interface.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element. The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments. Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware system, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. With this understanding, the technical arrangements of the present invention may be embodied in the form of a software product, which is stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (such as an electronic device, e.g., a mobile phone, a computer, a server, or a network device) to execute the method according to the embodiments of the present invention.
The above description is only a preferred embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications and equivalents of the present invention, which are made by the contents of the present specification and the accompanying drawings, or directly/indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (14)

1. A method of simulating a service, comprising the steps of:
simulating external service behaviors to start simulator initialization operation, and editing simulation matching conditions and preset responses in a pile matcher of the initialized simulator;
intercepting a request sent by a tested service by a monitoring link which is started by a simulator and has the same IP as the tested service;
analyzing the intercepted request and transmitting the analyzed request to a pile matcher of the simulator;
the pile matcher of the simulator receives the analyzed request and executes a matching command according to the simulation matching condition;
the method also comprises the following steps between the step of intercepting the request sent by the tested service of the same IP by the monitoring link of the simulator and the step of analyzing the intercepted request and transmitting the analyzed request to the pile matcher of the simulator:
monitoring the intercepted request by a monitoring link of the simulator;
if the intercepted request does not need to return a preset response, suspending the monitoring link, directly transmitting the request sent by the tested service to an external service, receiving a real response of the external service to the request, and returning the real response to the tested service;
and if the intercepted request does not need to use the simulator, stopping the monitoring link, closing the monitoring port by the simulation service, and returning error reporting information.
2. The method of simulating services according to claim 1, wherein the step of simulating external service behavior to initiate simulator initialization operations, editing simulated matching conditions and preset responses in a stub matcher of the initialized simulator comprises:
selecting a simulation test architecture according to the request of the service to be tested, and simulating external service behaviors to start one or more simulators of different protocol services in the selected simulation test architecture;
selecting the configuration of a current protocol link of a simulator according to a current protocol service request of the service to be tested, and modifying the IP of the service request to be tested into the IP of the simulator so as to direct the request of the service to be tested to a port of a monitoring link started by the simulator;
according to the intention of simulating the external service behavior, editing simulation matching conditions and preset responses in a pile matcher of the simulator into piles, and parameterizing the piles to generate pile parameters.
3. A method of simulating services according to claim 2, wherein the step of selecting a configuration of a simulator current protocol link in accordance with a current protocol service request for the service under test comprises:
if the current protocol service of the service to be tested is the universal protocol service, modifying DNS configuration, directing the IP of the service request to be tested to the IP of the simulator, configuring Nginx, and directing the request of the service to be tested to the port of the monitoring link started by the simulator by utilizing the port mapping of the Nginx;
if the current protocol service of the tested service is the self-defined protocol service, the IP of the tested service request is directly directed to the IP of the simulator and the port of the monitoring link corresponding to the OSP link through the IP and the port of the static route of the OSP.
4. A method of simulating services according to claim 1, wherein the step of parsing the intercepted request and transmitting the parsed request to a stub matcher of a simulator comprises:
analyzing the intercepted request to generate request parameters;
converting the request parameters into request objects uniformly encapsulating different protocols;
the request object is transmitted to a stub matcher of the simulator.
5. A method of simulating services according to claim 1, wherein the stub matcher of the simulator receives the parsed request, and the step of executing the matching command according to the simulated matching condition comprises:
the pile matcher receives the analyzed request;
calling pile parameters;
analyzing pile parameters to release simulation matching conditions and preset responses;
and calling a simulation matching condition and executing a matching command.
6. A method of simulating services according to any of claims 1 to 5, wherein the stub matcher of the simulator receives the parsed request, the step of executing the matching command according to the simulated matching conditions comprising, after:
if the matching is successful, the pile matcher of the simulator sends a preset response to the tested service;
and if the matching fails, the pile matcher of the simulator forwards the analyzed request to an external service, receives a real response to the request sent by the external service and transmits the real response to the tested service.
7. A method of simulating services according to any of claims 1 to 5 wherein the simulated external service behaviour initiates simulator initialisation operations comprising, prior to the step of compiling simulated matching conditions and preset responses in the stub matcher of the initialised simulator:
when the execution condition of the decoupling dependency is presented, the decoupling dependency is executed.
8. An apparatus for simulating a service, comprising:
the initialization module is used for simulating external service behaviors to start the initialization operation of the simulator, and editing simulation matching conditions and preset responses in a pile matcher of the initialized simulator;
the monitoring module is used for intercepting a request sent by the tested service by a monitoring link started by a simulator with the same IP as the tested service;
the message analysis module is used for analyzing the intercepted request and transmitting the analyzed request to a pile matcher of the simulator;
the execution module is used for receiving the analyzed request by the pile matcher of the simulator and executing a matching command according to the simulation matching condition;
further comprising:
the monitoring module is used for monitoring the intercepted request by the monitoring link of the simulator;
the monitoring execution module is used for suspending a link of the simulator if the intercepted request does not need to return a preset response, directly forwarding the request sent by the tested service to the external service, receiving a real response of the external service to the request and returning the real response to the tested service; and if the intercepted request does not need to use the simulator, stopping the link of the simulator, closing the monitoring port by the simulation service, and returning error reporting information.
9. An apparatus for simulating services according to claim 8, further comprising:
the response module is used for sending a preset response to the tested service by the pile matcher of the simulator if the matching is successful; the server is also used for receiving a real response to the request sent by the external service and transmitting the response to the tested service if the matching fails;
the forwarding module is used for forwarding the analyzed request to an external service by the pile matcher of the simulator if the matching fails;
and the decoupling dependency module is used for executing decoupling dependency when the execution condition of the decoupling dependency is presented.
10. An apparatus for simulating services according to claim 8, wherein the initialization module includes:
the simulation test architecture unit is used for selecting a simulation test architecture according to the request of the service to be tested, and simulating external service behaviors to start one or more simulators of different protocol services in the selected simulation test architecture;
the simulation multi-protocol service unit is used for acquiring the protocol type on the request URL address after receiving the request, transferring the protocol type to a simulation service device adapted to the protocol type for processing, and selecting the configuration of the current protocol link of the simulator according to the current protocol service request of the service to be tested;
the service port configuration unit is used for selecting the configuration of the current protocol link of the simulator, modifying the IP of the tested service request into the IP of the simulator and directing the tested service request to the port of the monitoring link started by the simulator;
and the pile unit is used for editing simulation matching conditions and preset responses in a pile matcher of the simulator into piles according to the intention of simulating external service behaviors, and parameterizing the piles to generate pile parameters.
11. An apparatus for simulating services according to claim 10, wherein the service port configuration unit includes:
the universal protocol configuration subunit is used for modifying DNS configuration if the current protocol service of the service to be tested is the universal protocol service, directing the IP of the service request to be tested to the IP of the simulator, configuring Nginx, and directing the service request to be tested to the port of the monitoring link started by the simulator by utilizing the port mapping of the Nginx;
and the custom protocol configuration subunit is used for directly directing the IP of the service request to be tested to the IP of the simulator and the port of the monitoring link corresponding to the OSP link through the IP and the port of the static route of the OSP if the current protocol service of the service to be tested is the custom protocol service.
12. An apparatus for simulating services according to claim 8, wherein the message parsing module includes:
the analysis unit is used for analyzing the intercepted request to generate request parameters;
the packaging unit is used for converting the request parameters into request objects uniformly packaged with different protocols;
a transmitting unit for transmitting the request object to a stub matcher of the simulator.
13. An apparatus for simulating services according to claim 8, wherein the execution module includes:
a receiving unit, configured to receive the analyzed request by the pile matcher;
the calling unit is used for calling the pile parameters;
the release unit is used for analyzing the pile parameters so as to release the simulation matching conditions and the preset response;
and the execution unit is used for calling the simulation matching condition and executing the matching command.
14. A centralized management platform for simulation services, comprising:
means for simulating a service according to any one of claims 8-13 in one or more different protocols; and
the UI interaction module is used for establishing a UI interaction test model and an interaction specification and editing static HTML (hypertext markup language) so as to be responsible for interactive butt joint of all simulation services; and
the log management module is used for providing a log management function and can record, check, download and clean the log of the result of the simulation test; and
and the simulation database is used for storing all data of the simulation service.
CN201611152472.4A 2016-12-13 2016-12-13 Method and device for simulating service and centralized management platform Active CN106776313B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611152472.4A CN106776313B (en) 2016-12-13 2016-12-13 Method and device for simulating service and centralized management platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611152472.4A CN106776313B (en) 2016-12-13 2016-12-13 Method and device for simulating service and centralized management platform

Publications (2)

Publication Number Publication Date
CN106776313A CN106776313A (en) 2017-05-31
CN106776313B true CN106776313B (en) 2020-06-23

Family

ID=58887808

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611152472.4A Active CN106776313B (en) 2016-12-13 2016-12-13 Method and device for simulating service and centralized management platform

Country Status (1)

Country Link
CN (1) CN106776313B (en)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107707638B (en) * 2017-06-01 2022-10-21 云智慧(北京)科技有限公司 Distributed cloud pressure measuring machine resource management system and method
CN107579879A (en) * 2017-09-26 2018-01-12 深圳震有科技股份有限公司 A kind of network simulation method of testing, emulation server and storage medium
CN109559583B (en) * 2017-09-27 2022-04-05 华为技术有限公司 Fault simulation method and device
CN107659455B (en) * 2017-10-16 2020-01-03 武汉斗鱼网络科技有限公司 Method, storage medium, device and system for Mock data of iOS (internet operating system) end
CN110032454A (en) * 2018-01-12 2019-07-19 北京京东尚科信息技术有限公司 Remote invocation method, system and relevant device and computer readable storage medium
CN108268375B (en) * 2018-01-12 2021-04-30 深圳壹账通智能科技有限公司 Application program testing method and device, computer equipment and storage medium
CN109218297B (en) * 2018-08-31 2020-08-07 北京创鑫旅程网络技术有限公司 Method and device for requesting data
CN109359036A (en) * 2018-09-25 2019-02-19 腾讯科技(深圳)有限公司 Test method, device, computer readable storage medium and computer equipment
CN109614314B (en) * 2018-11-01 2024-03-01 北京奇虎科技有限公司 Performance test method, device, server and readable storage medium
CN111198809A (en) * 2018-11-16 2020-05-26 北京奇虎科技有限公司 Interface automation test method and device
CN109800093A (en) * 2018-12-27 2019-05-24 四川艾格瑞特模具科技股份有限公司 A kind of client of remote customisation product
CN110046099A (en) * 2019-04-11 2019-07-23 艾伯资讯(深圳)有限公司 Intelligent software test macro and method
CN111131436B (en) * 2019-12-20 2022-08-30 广州品唯软件有限公司 Method and device for quickly searching proxy and readable storage medium
CN113722020A (en) * 2020-05-26 2021-11-30 腾讯科技(深圳)有限公司 Interface calling method, device and computer readable storage medium
CN113760715A (en) * 2020-11-12 2021-12-07 北京京东振世信息技术有限公司 Method and device for testing system
CN112416786A (en) * 2020-11-27 2021-02-26 上海达梦数据库有限公司 Test method, device, equipment and storage medium
CN112671574B (en) * 2020-12-18 2024-04-16 深圳赛安特技术服务有限公司 Front-end and back-end joint debugging method and device, proxy equipment and storage medium
CN112702436B (en) * 2020-12-29 2023-06-20 广州品唯软件有限公司 Flow recording method, device, computer equipment and storage medium
CN112732499A (en) * 2020-12-30 2021-04-30 广州品唯软件有限公司 Test method and device based on micro-service architecture and computer system
CN112732567B (en) * 2020-12-31 2023-06-27 平安银行股份有限公司 Mock data testing method and device based on ip, electronic equipment and storage medium
CN113641579A (en) * 2021-08-10 2021-11-12 中国平安人寿保险股份有限公司 Data processing method, device, equipment and storage medium
CN114553929B (en) * 2022-01-10 2024-04-12 多点生活(成都)科技有限公司 Recording playback enhancement method and device for recording call dynamic Mock
CN114706662B (en) * 2022-06-08 2022-09-02 杭州比智科技有限公司 Method and system for realizing dynamic simulation of business operation and data based on JVM sandbox
CN115344502B (en) * 2022-10-18 2023-03-10 中建电子商务有限责任公司 Method for automatically generating mock data and automatically loading mock data based on real data
CN115454880A (en) * 2022-10-25 2022-12-09 中邮消费金融有限公司 Request processing assembly for dynamically generating data
CN117478570B (en) * 2023-12-27 2024-03-22 深圳万物安全科技有限公司 Equipment testing method and device based on containerization technology and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1527559A (en) * 2003-03-04 2004-09-08 华为技术有限公司 Method of inquiring routing to position sorver
CN104063325A (en) * 2014-07-11 2014-09-24 电子科技大学 Automatic generation device and method for test cases of embedded software
CN105302721A (en) * 2015-10-29 2016-02-03 普元信息技术股份有限公司 System and method for realizing integration testing of centralized analog server in cloud computing platform
CN105512044A (en) * 2015-12-25 2016-04-20 北京奇虎科技有限公司 Method and system for updating object base used for keyword drive test

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8112262B1 (en) * 2008-09-30 2012-02-07 Interactive TKO, Inc. Service modeling and virtualization
US9015672B2 (en) * 2012-01-31 2015-04-21 The United States Of America As Represented By The Secretary Of The Navy Interface simulator for test rig in data distribution service
US9348739B2 (en) * 2014-07-10 2016-05-24 International Business Machines Corporation Extraction of problem diagnostic knowledge from test cases

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1527559A (en) * 2003-03-04 2004-09-08 华为技术有限公司 Method of inquiring routing to position sorver
CN104063325A (en) * 2014-07-11 2014-09-24 电子科技大学 Automatic generation device and method for test cases of embedded software
CN105302721A (en) * 2015-10-29 2016-02-03 普元信息技术股份有限公司 System and method for realizing integration testing of centralized analog server in cloud computing platform
CN105512044A (en) * 2015-12-25 2016-04-20 北京奇虎科技有限公司 Method and system for updating object base used for keyword drive test

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"桩模块 stub 和驱动模块driver";albert1017;《博客园》;20140826;全文 *

Also Published As

Publication number Publication date
CN106776313A (en) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106776313B (en) Method and device for simulating service and centralized management platform
CN106603283B (en) A kind of method, apparatus and centralized management platform of analog service
US20170185507A1 (en) Processing special requests at dedicated application containers
US10305962B1 (en) Unit testing clients of web services
US20130074046A1 (en) Application protoyping suite
CN104579822A (en) Automatic performance test system and method of mobile application based on Http protocol
CN104821954A (en) Cross-platform remote procedure call method
CN104536890A (en) Testing system, method and device
Leonidis et al. The AmI-Solertis system: creating user experiences in smart environments
CN114205342A (en) Routing method, electronic device, medium, and program product for service debugging
CN113641582A (en) Mixed-mode mobile application debugging method and system
CN113641581B (en) Mixed mode mobile application debugging method and system
CN111782306A (en) Interface calling information processing method and device, electronic equipment and storage medium
CN105553775B (en) Acquisition methods, device and the test macro of information in a kind of test macro
CN111367685A (en) Interface calling method and device, computer equipment and storage medium
US9329960B2 (en) Methods, systems, and computer readable media for utilizing abstracted user-defined data to conduct network protocol testing
CN113468045A (en) Test system, method and assembly for server batch configuration software
US10402307B2 (en) System and method for providing runtime tracing for a web-based client accessing a transactional middleware platform using an extension interface
CN117041111A (en) Vehicle cloud function test method and device, electronic equipment and storage medium
CN116599949A (en) Third party API protocol access method and system based on HTTP protocol
CN113641580B (en) Mixed mode mobile application debugging method and system
CN105260179A (en) Method for achieving flex and servlet interaction
CN113626330A (en) Mixed-mode mobile application debugging method and system
US7007094B1 (en) Object oriented communications system over the internet
CN106789225A (en) A kind of method and device of interface operation port mapping configuration

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20171208

Address after: 510000 Guangzhou City, Guangzhou, Guangdong, Fangcun Avenue, one of the 314 self compiled

Applicant after: Guangzhou Pinwei Software Co., Ltd.

Address before: Liwan District Fangcun Huahai street Guangzhou city Guangdong province 510000 No. 20 self 1-5 building (only for office use)

Applicant before: Guangzhou VIPSHOP Information and Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220111

Address after: 510000 Room 601, 128 Dingxin Road, Haizhu District, Guangzhou City, Guangdong Province (office only)

Patentee after: Vipshop (Guangzhou) Software Co.,Ltd.

Address before: 510000 No. 314, Fangcun Avenue, Liwan District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU PINWEI SOFTWARE Co.,Ltd.