Real-Time Software Testing via Action Replication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software testing methods are inefficient in simulating user interactions across multiple systems with differing configurations and locales, as they often require recording and replaying interactions, which are not real-time and do not account for varying user interfaces and hardware environments.

Innovation Solution

A system and method for testing software by simultaneous replication of user actions on multiple systems using test duplication software, where interactions are replicated in real-time across multiple computer systems with different configurations, allowing for immediate analysis of results and notification of unexpected outcomes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If recording and replaying interactions is used for testing, then testing can be automated, but real-time detection of operational discrepancies across multiple configurations is lost

Engineering Contradiction:
Improvetesting automationVSAvoidreal-time detection time
Core Design Contradiction:
Extent of automationVSLoss of time

Solution Approach 1:

The patent creates duplicate copies of the software application running simultaneously on multiple computer systems with different configurations. These copies execute in real-time parallel to the original application, capturing operational discrepancies as they occur rather than relying on recorded interactions. The duplication mechanism enables concurrent testing across diverse hardware and software environments while maintaining real-time detection capability through synchronized execution monitoring.

Inventive Principle:
Principle #26Copying

2Extent of automation

If recording and replaying interactions is used, then testing can be performed without human intervention, but the ability to immediately analyze results and detect unexpected outcomes is reduced

Engineering Contradiction:
Improvetesting automationVSAvoidtesting efficiency
Core Design Contradiction:
Extent of automationVSProductivity

Solution Approach 1:

The patent implements a feedback mechanism that continuously monitors operational results from multiple software copies in real-time and compares them against expected outcomes. When discrepancies are detected, the system provides immediate feedback signals to identify unexpected results across different configurations. This real-time feedback loop enables automated testing while maintaining high productivity by eliminating delays between execution and result analysis, allowing immediate detection of operational issues.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If testing is performed on multiple systems with differing configurations, then software adaptability is improved, but testing complexity increases

Engineering Contradiction:
Improvesoftware adaptabilityVSAvoidtesting complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the testing system into independent computer systems, each configured with specific hardware and software environments representing different target platforms. Each system executes a separate copy of the application independently, allowing parallel testing across diverse configurations without requiring a monolithic complex testing framework. The segmentation approach manages complexity by distributing test execution across autonomous units while maintaining overall coordination through the duplication and monitoring architecture.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10073765B2Method and system of testing software using real time replication
Publication Date: 2018.09.11 HEWLETT PACKARD DEVELOPMENT COMPANY LP
  • US10073765B2 patent drawing
  • US10073765B2 patent drawing
  • US10073765B2 patent drawing

AI summary

Method and system of testing software using real time replication. At least some illustrative examples include interacting by a human tester with a first software program executed on a first computer system. The interacting causes an operation to be performed on the first software program and the operation is duplicated on a second software program executed on a second computer system. The duplication on the second computer system is done programmatically in real time with the interacting and the duplicating on the first computing system. A result of the operation on the first computer system against a result of the operation on the second computer system is programmatically analyzed on the second computing system. The human tester is notified when the result of the operation on the second computer system is unexpected.