Software Test Automation Using Auxiliary Source Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The manual and time-consuming process of identifying expected outputs for software test cases, especially in complex and dynamic environments, leads to high costs and reduced reliability due to heavy human intervention and potential errors.

Innovation Solution

A method that uses auxiliary sources to automatically determine expected responses by applying a test input to both the system and independent auxiliary sources, calculating a confidence index based on the frequency and reliability of auxiliary responses to select the most accurate expected response.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual identification of expected outputs by testers is used, then test case accuracy can be ensured through human validation, but testing time and costs increase significantly

Engineering Contradiction:
Improvetest result reliabilityVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates copies of test inputs and applies them to multiple auxiliary sources simultaneously. Instead of manual identification, the system automatically generates expected outputs by copying the test input to various auxiliary sources and collecting their responses, thereby reducing time while maintaining reliability through multiple validation points.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs self-service by automatically determining expected outputs without requiring manual tester intervention. The auxiliary sources themselves provide the expected outputs in response to test inputs, eliminating the need for human identification and validation while significantly reducing testing time.

Inventive Principle:
Principle #25Self-service

2Measurement precision

If heavy human intervention is used to validate expected outputs, then test accuracy improves, but productivity decreases

Engineering Contradiction:
Improveexpected output accuracyVSAvoidtesting productivity
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent introduces auxiliary sources as intermediaries between the test input and the expected output determination. These auxiliary sources automatically provide expected outputs, serving as mediators that eliminate the need for human intervention while maintaining accuracy. The intermediary system processes multiple sources and determines the most reliable expected output automatically.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical system of manual tester validation with an automated computational system. Instead of human testers manually identifying and validating expected outputs, the system uses auxiliary sources and automated comparison logic to determine expected outputs, thereby increasing productivity while maintaining measurement precision.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If multiple auxiliary sources are used to determine expected responses, then reliability of test results improves, but system complexity increases

Engineering Contradiction:
Improvetest result reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the expected output determination process into multiple independent auxiliary sources. Each auxiliary source independently processes the test input and provides its own expected output. This segmentation allows the system to maintain reliability through diversity while managing complexity by keeping each auxiliary source independent and modular.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The auxiliary sources are designed to be universal and multi-functional, capable of handling various types of test inputs and providing expected outputs for different test scenarios. This universality reduces overall system complexity by using a standardized approach across multiple sources rather than requiring specialized components for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Productivity

If automated determination of expected outputs is implemented, then productivity increases, but measurement precision may decrease

Engineering Contradiction:
Improvetesting productivityVSAvoidexpected output accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent implements feedback mechanisms where the actual output from the system under test is compared with expected outputs from multiple auxiliary sources. This feedback loop allows the automated system to validate its expected output determinations and adjust accordingly, maintaining measurement precision while achieving high productivity through automation.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent uses partial action by selecting only the most reliable expected output from multiple auxiliary sources rather than requiring all sources to agree. This approach maintains measurement precision by being selective about which auxiliary source results are used, while still benefiting from the productivity gains of automated multi-source processing.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP2095236B1Method, system and computer program for testing software applications based on multiple data sources
Publication Date: 2010.08.11 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP2095236B1 patent drawingFigure 1
  • EP2095236B1 patent drawingFigure 2
  • EP2095236B1 patent drawingFigure 3

AI summary

A solution is proposed for testing a software application (205). The test includes the execution of a series of test cases, each one involving the application of a predefined test input to the software application. The software application generates a corresponding output in response to this test input; a result of the test case is determined (210) by comparing the actual output provided by the software application with an expected output thereof. The expected output of the test case is determined automatically. For this purpose, multiple auxiliary sources (215) are exploited (such as other software applications different from the one under test). Each auxiliary source receives a corresponding input - derived from the test input - which is intended to cause the auxiliary source to provide the same expected output as the software application. The expected output is then estimated (220) according to the actual outputs provided by the different auxiliary sources (for example, by setting it to the most frequent value thereof).