Systems and methods for testing software applications

US11455238B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11455238-B2
Application numberUS-202117379231-A
CountryUS
Kind codeB2
Filing dateJul 19, 2021
Priority dateDec 10, 2019
Publication dateSep 27, 2022
Grant dateSep 27, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods and systems are presented for testing software applications in a production-like environment that simulates real-world failures of production environments. A production environment has production applications and databases configured to process user requests from users for conducting transactions with a service provider. A testing system provides an intermediate interface that enables a software application operating in the test environment to access at least one of a production application or a production database. The intermediate interface can be configured based on different failure configurations to simulate production component failures in the production environment. Failure injection and randomized failure modes can be employed, including for network-related failures (latency, dropped packets, connections, etc.) that might occur in the production environment.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a processor; and a non-transitory computer-readable medium having stored thereon instructions that are executable to cause the system to perform operations comprising: receiving an indication of a transaction request, the indication received in a testing environment configured based on one or more failure configurations to simulate one or more failure modes applicable to a production environment; generating a copy of the transaction request; transmitting the transaction request to the production environment for processing, wherein a first transaction processing engine within the production environment is configured to process the transaction request by accessing one or more production database nodes that are in the production environment; transmitting the copy of the transaction request to the testing environment for processing, wherein a second transaction processing engine within the testing environment is configured to process the copy of the transaction request by accessing the one or more production database nodes according to the one or more failure configurations; determining a result of the second transaction processing engine attempting to process the copy of the transaction request; and storing the result, wherein the result includes information relating to a status of the second transaction processing engine within the testing environment. 2. The system of claim 1 , wherein a first failure configuration of the one or more failure configurations is based on a network failure mode. 3. The system of claim 2 , wherein the first failure configuration simulates the network failure mode by intentionally dropping one or more network data packets corresponding to processing operations for the copy of the transaction request by the second processing engine. 4. The system of claim 2 , wherein the first failure configuration simulates the network failure mode by introducing artificial latency for one or more network data packets corresponding to processing operations for the copy of the transaction request by the second processing engine. 5. The system of claim 2 , wherein the first failure configuration simulates the network failure mode by limiting an available bandwidth for one or more network data packets corresponding to processing operations for the copy of the transaction request by the second processing engine. 6. The system of claim 1 , wherein a first failure configuration of the one or more failure configurations is based on a database failure mode. 7. The system of claim 6 , wherein the first failure configuration simulates the database failure mode by disregarding a database request corresponding to processing operations for the copy of the transaction request by the second processing engine. 8. The system of claim 7 , wherein the disregarding the database request includes returning a database error to the second processing engine in response to the database request. 9. A non-transitory computer-readable medium having stored thereon instructions that are executable by a computer system to cause the computer system to perform operations comprising: receiving an indication of a transaction request, the indication received in a testing environment configured based on one or more failure configurations to simulate one or more failure modes applicable to a production environment; transmitting the transaction request to the production environment for processing, wherein a first transaction processing engine within the production environment is configured to process the transaction request by accessing one or more production database nodes that are in the production environment; transmitting a copy of the transaction request to the testing environment for processing, wherein a second transaction processing engine within the testing environment is configured to process the copy of the transaction request by accessing the one or more production database nodes according to the one or more failure configurations; determining a result of the second transaction processing engine attempting to process the copy of the transaction request; and storing the result, wherein the result includes information relating to a status of the second transaction processing engine within the testing environment. 10. The non-transitory computer-readable medium of claim 9 , wherein the operations further comprise: storing error information associated with the result of the second transaction processing engine attempting to process the copy of the transaction request, wherein the error information corresponds to the one or more failure modes. 11. The non-transitory computer-readable medium of claim 9 , wherein the operations further comprise: performing a comparison of a result from the first transaction processing engine within the production environment processing the transaction request with a result from the second transaction processing engine within the testing environment processing the copy of the transaction request; and storing an output of the comparison in association with the testing environment. 12. The non-transitory computer-readable medium of claim 9 , wherein a first one of the one or more failure configurations is based on a database schema failure mode. 13. The non-transitory computer-readable medium of claim 9 , wherein a first failure configuration of the one or more failure configurations is based on a network failure mode, and wherein the first failure configuration simulates the network failure mode by intentionally dropping one or more network data packets corresponding to processing operations for the copy of the transaction request by the second processing engine. 14. The non-transitory computer-readable medium of claim 9 , wherein a first failure configuration of the one or more failure configurations is based on a network failure mode, and wherein the first failure configuration simulates the network failure mode by introducing artificial latency for one or more network data packets corresponding to processing operations for the copy of the transaction request by the second processing engine. 15. The non-transitory computer-readable medium of claim 9 , wherein a first failure configuration of the one or more failure configurations is based on a network failure mode, and wherein the first failure configuration simulates the network failure mode by limiting an available bandwidth for one or more network data packets corresponding to processing operations for the copy of the transaction request by the second processing engine. 16. A method, comprising: receiving, at a computer system, an indication of a transaction request, the indication received in a testing environment configured based on one or more failure configurations to simulate one or more failure modes applicable to a production environment; transmitting the transaction request to the production environment for processing, wherein a first transaction processing engine within the production environment is configured to process the transaction request by accessing one or more production database nodes that are in the production environment; transmitting a copy of the transaction request to the testing environment for processing, wherein a second transaction processing engine within the testing environment is configured to process the copy of the transaction request by accessing the one or more production database nodes according to the one or more failure configurations; determining a result of the second transaction processing engine attempting to process the copy of the tran

Assignees

Inventors

Classifications

  • Transaction processing · CPC title

  • for test design, e.g. generating new test cases · CPC title

  • for test execution, e.g. scheduling of test suites · CPC title

  • Schema design and management · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11455238B2 cover?
Methods and systems are presented for testing software applications in a production-like environment that simulates real-world failures of production environments. A production environment has production applications and databases configured to process user requests from users for conducting transactions with a service provider. A testing system provides an intermediate interface that enables a…
Who is the assignee on this patent?
Paypal Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/3688. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 27 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).