Software testing environment that includes a duplicating proxy service
First Claim
Patent Images
1. A duplicating proxy system, comprising:
- at least one computing device configured to implement an interceptor service and a duplicating proxy service,the interceptor service to;
intercept a production request to a production system that is to provide information responsive to the production request;
duplicate, at least partially, the production request to create a duplicate request;
provide the production request to the production system; and
provide the duplicate request to the duplicating proxy service; and
the duplicating proxy service to;
cause a candidate shadow request to be processed by a candidate software system, the candidate shadow request based at least in part on the duplicate request and the candidate software system being a modified version of the production system that is to be validated or a replacement for the production system;
cause an authority shadow request to be processed by an authority software system that is distinct from the production system and the candidate software system, the authority shadow request based at least in part on the duplicate request, wherein the candidate software system is validated by the authority software system based at least in part on a comparison of the candidate software system to the authority software system;
receive, in response to the candidate shadow request, a candidate response from the candidate software system;
receive, in response to the authority shadow request, an authority response from the authority software system; and
compare the candidate response to the authority response to identify differences between the candidate response and the authority response.
1 Assignment
0 Petitions
Accused Products
Abstract
The techniques described herein provide software testing of a candidate software system. In some examples, an interceptor intercepts at least one production request to a production software system. The duplicating proxy service causes the at least one intercepted request to be processed by the candidate software system being validated and the production software system being used to validate the candidate software system. The duplicating proxy service may then compare and/or analyze at least one candidate response to the intercepted request from the candidate software system and at least one production response to the intercepted request from the production software system.
78 Citations
20 Claims
-
1. A duplicating proxy system, comprising:
-
at least one computing device configured to implement an interceptor service and a duplicating proxy service, the interceptor service to; intercept a production request to a production system that is to provide information responsive to the production request; duplicate, at least partially, the production request to create a duplicate request; provide the production request to the production system; and provide the duplicate request to the duplicating proxy service; and the duplicating proxy service to; cause a candidate shadow request to be processed by a candidate software system, the candidate shadow request based at least in part on the duplicate request and the candidate software system being a modified version of the production system that is to be validated or a replacement for the production system; cause an authority shadow request to be processed by an authority software system that is distinct from the production system and the candidate software system, the authority shadow request based at least in part on the duplicate request, wherein the candidate software system is validated by the authority software system based at least in part on a comparison of the candidate software system to the authority software system; receive, in response to the candidate shadow request, a candidate response from the candidate software system; receive, in response to the authority shadow request, an authority response from the authority software system; and compare the candidate response to the authority response to identify differences between the candidate response and the authority response. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method comprising:
-
under control of one or more processors configured with executable instructions, requesting a candidate software system to process at least one candidate request that is based at least in part on an intercepted request to a production software system from a requester, the candidate software system being a modified version of the production software system that is to be validated or a replacement for the production software system and undergoing validation prior to being placed in production; requesting an authority software system to process at least one authority request that is based at least in part on the intercepted request, the authority software system being used for validating the candidate software system, wherein the production software system is a live software system that is different than the authority software system and the candidate software system; receiving, in response to processing of the at least one candidate request, at least one candidate response from the candidate software system; receiving, in response to processing of the at least one authority request, at least one authority response from the authority software system; classifying a comparison between the at least one candidate response and the at least one authority response; and generating a validation result based on the comparison between the at least one candidate response and the at least one authority response. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. One or more non-transitory computer-readable storage media storing computer-executable instructions that are executable in at least one computing device to perform operations comprising:
-
selecting one or more intercepted requests logged by a duplicating proxy service to be replayed by the duplicating proxy service by reprocessing the one or more intercepted requests without modifying production system data of a production system, the one or more intercepted requests corresponding to one or more production requests that are intercepted based, at least in part, on one or more sampling rules prior to processing by the production system; replaying at least one intercepted request, of the one or more intercepted requests, to a candidate software system and an authority software system based at least part on the selecting; and generating performance metrics for the candidate software system, the candidate software system being a test software system that is a modified version of the production system that is to be validated or a replacement for the production system, the candidate software system operating without modifying the production system data, the performance metrics including at least one metric relating to differences between a candidate response generated by the candidate software system and an authority response generated by the authority software system that is a software system being used for validating the candidate software system, the candidate software system being a different software system from the production software system and the authority software system. - View Dependent Claims (18, 19, 20)
-
Specification