Production Transaction Replay for Automated Software Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Testing computing systems, particularly for performance, regression, and security, is labor-intensive and time-consuming due to the complexity of developing and maintaining test scripts that provide adequate code coverage.
Innovation Solution
A system captures transactions from a production computing system to generate test scripts that simulate actual user behavior and code coverage, allowing for automated testing by mirroring the production environment in a test environment, thereby simplifying and streamlining the testing process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual test scripts are developed to provide adequate code coverage, then testing reliability is improved, but labor intensity and time consumption increase
Solution Approach 1:
The patent captures actual production transactions and replays them in the test environment, copying real user behavior patterns instead of manually creating test scripts. This automatically provides comprehensive code coverage while eliminating manual script development time.
Solution Approach 2:
The system automatically generates test scripts by capturing and replaying production transactions without requiring manual intervention. The transaction capture and replay mechanism serves itself to create comprehensive test coverage, reducing both labor and time requirements.
2Reliability
If manual test scripts are developed to provide adequate code coverage, then testing reliability is improved, but labor intensity increases
Solution Approach 1:
The system copies actual production transactions to create test scripts, eliminating the need for manual script development. This automated copying process maintains comprehensive code coverage while removing human labor from the script creation process.
Solution Approach 2:
The transaction capture and replay system automatically generates and maintains test scripts without human intervention, making the system self-sufficient for creating comprehensive test coverage and eliminating manual labor.
3Reliability
If test scripts are maintained throughout their life cycle, then testing reliability is improved, but maintenance effort increases
Solution Approach 1:
Instead of maintaining static test scripts, the system continuously copies fresh transactions from production, automatically updating the test data source. This eliminates the complexity of maintaining manually created test scripts while preserving reliability through real production behavior.
Solution Approach 2:
The test script generation is made dynamic and adaptive, automatically updating based on new production transactions rather than remaining static. This dynamic approach reduces maintenance effort by self-updating while maintaining reliability through continuous alignment with actual production behavior.
4Manufacturing precision
If production-level code coverage is achieved, then testing quality is improved, but test script complexity increases
Solution Approach 1:
The system achieves comprehensive code coverage by copying actual production transactions that naturally exercise all code paths. This eliminates the complexity of designing complex test scripts manually, as the copied transactions inherently provide complete coverage.
Data Source
AI summary
Generating, from transactions performed at a production computing system, information that can be used to effectively test new, updated, and/or modified source code to be deployed within the production computing system. In one example, this disclosure describes a method that includes communicating with a production processing system to determine an initial state of the production processing system; capturing information about a plurality of transactions executing across a plurality of application servers included within the production processing system; communicating with a test processing system to deploy source code within the test processing system that is not included in the production processing system; generating a replay test script; and communicating with the test processing system to enable the test processing system to execute the replay test script.


