Centralized Test Data Repository for Software Testing Reuse

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software testing approaches, such as data driven and keyword driven testing, limit the reusability of test data by binding it to specific tests, making it difficult to reuse test data across different tests and increasing maintenance costs.

Innovation Solution

A centralized shared repository system that manages and maintains reusable test components, including test actions, scenarios, and automation scripts, allowing for late binding of test data to test steps, enabling full reuse of test data across various test assets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If test data is bound to specific test cases in data driven or keyword driven testing, then test execution can be automated, but test data reusability across different tests is limited

Engineering Contradiction:
Improvetest execution automationVSAvoidtest data reusability
Core Design Contradiction:
Extent of automationVSAdaptability or versatility

Solution Approach 1:

The patent segments test data from test cases by introducing an intermediary layer (test data repository with data templates). Test data is stored as independent, reusable entities that can be selectively bound to different test cases through parameters, enabling both automation and high reusability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a test data repository and data templates as intermediaries between test cases and actual test data. This intermediary layer allows test data to be defined once and reused across multiple test cases through parameterized binding, resolving the contradiction between automation and reusability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If test data is customized for each specific test, then test accuracy is improved, but maintenance cost increases

Engineering Contradiction:
Improvetest accuracyVSAvoidmaintenance cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent enables copying and reusing of test data across multiple test cases through the test data repository. Instead of customizing data for each test, the same data templates can be instantiated multiple times with different parameters, maintaining test accuracy while reducing maintenance effort.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent creates universal test data templates that can serve multiple test cases. A single data template can be bound to different tests through parameterization, allowing the same data structure to fulfill multiple testing purposes while reducing overall maintenance cost.

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

3Ease of operation

If test data is stored in external datasheets or embedded in test cases, then data organization is simplified, but determination of tested conditions becomes difficult

Engineering Contradiction:
Improvedata organizationVSAvoidcondition coverage tracking
Core Design Contradiction:
Ease of operationVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements feedback mechanisms that automatically track which test data has been used in which test cases. The system provides visibility into condition coverage by maintaining relationships between data templates and their usage in tests, making it easy to determine what has been tested without complicating data organization.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8677320B2Software testing supporting high reuse of test data
Publication Date: 2014.03.18 WILSON PETER B
  • US8677320B2 patent drawing
  • US8677320B2 patent drawing
  • US8677320B2 patent drawing

AI summary

A software testing system and method provides full reuse of software tests and associated test data in a centralized shared repository, including enabling the full reuse of test assets including test actions, test scenarios, test data; and automation scripts. Reusable test components consisting of test steps and the type of test data needed by those test steps, are managed and maintained. These components are assembled into reusable components with no binding of test data until execution time, thereby treating the test data as a reusable asset. A reusable test is initially defined using only an indication of a type or category of data, and not bound to the actual data itself, until it is assembled into an executable immediately prior to automated or manual test execution.