Persona-Based Software Test Generation from Production Traffic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Manual creation of software tests that accurately reflect real-world usage in large-scale computing systems is time-consuming and often fails to cover real-world scenarios, leading to potential service failures such as unavailability or high latency.

Innovation Solution

An automated software testing system that collects data from production environments to identify client personas and generates persona-specific tests, mimicking real-world traffic patterns, including input values, call order, and call volume, to assess service performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual test creation is used to ensure tests reflect real-world usage, then test quality improves, but development time increases significantly

Engineering Contradiction:
Improvetest qualityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system automatically copies real-world production traffic patterns to generate test cases. By capturing actual client requests, responses, and traffic characteristics from the production environment, the system creates test scenarios that authentically replicate real-world usage without requiring manual analysis and recreation by developers

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The testing system serves itself by automatically generating test cases from production data. The system autonomously collects traffic patterns, identifies test scenarios, and creates test configurations without human intervention, eliminating the time-consuming manual process while maintaining high test quality

Inventive Principle:
Principle #25Self-service

2Reliability

If comprehensive manual testing is performed to cover all real-world scenarios, then service reliability improves, but testing complexity increases

Engineering Contradiction:
Improveservice reliabilityVSAvoidtesting complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Instead of manually designing complex test scenarios to cover all possible real-world cases, the system directly copies actual production traffic patterns. This approach captures the full complexity of real-world usage automatically, ensuring comprehensive coverage without requiring testers to manually anticipate or design for every possible scenario

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The testing system dynamically adapts to real-world conditions by continuously monitoring production traffic and automatically adjusting test scenarios based on actual usage patterns. This dynamic approach allows the system to cover emerging scenarios and changing conditions without requiring manual updates to test designs

Inventive Principle:
Principle #15Dynamics

3Productivity

If automated test generation is implemented to reduce manual effort, then productivity improves, but test accuracy may deteriorate

Engineering Contradiction:
Improvetesting efficiencyVSAvoidtest accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system generates accurate tests by copying real production traffic data rather than using synthetic or template-based approaches. By directly replicating actual client requests, responses, and traffic characteristics from the production environment, the automated system maintains high fidelity and accuracy while achieving rapid test generation

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system uses feedback from production environment monitoring to continuously improve test accuracy. By analyzing actual traffic patterns, performance metrics, and error conditions from production, the system refines its automated test generation to accurately reflect real-world behavior and edge cases

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11416379B1Creation of software tests matching production personas
Publication Date: 2022.08.16 AMAZON TECH INC
  • US11416379B1 patent drawing
  • US11416379B1 patent drawing
  • US11416379B1 patent drawing

AI summary

Methods, systems, and computer-readable media for creation of software tests matching production personas are disclosed. A software testing system determines a plurality of observations regarding execution of a software product in a production environment comprising a plurality of software products. The software testing system determines one or more personas based at least in part on analysis of the plurality of observations. A particular persona represents one or more usage characteristics shared by a subset of clients of the software product. The software testing system generates one or more tests associated with the particular persona. The one or more tests comprise one or more input values of a plurality of calls. The one or more input values represent the usage characteristics shared by the subset of clients of the software product.