Minimizing Software Test Suites via Redundancy Elimination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Regression testing consumes excessive time and computing resources due to the inclusion of redundant and irrelevant test cases in the full test suite, which may omit crucial faults in modified software.

Innovation Solution

A test case selection engine that identifies and eliminates redundant test cases by generating a minimized test suite focused on functionalities invoked via the user interface, sorting test cases based on functionality coverage, and removing redundant functionalities to create a subset of test cases with minimal redundancy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the full test suite is used for regression testing, then all functionalities are covered, but testing time and computing resources are excessively consumed

Engineering Contradiction:
Improvefunctionality coverageVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts and removes redundant test cases from the full test suite by analyzing functionality coverage. The system identifies test cases that test the same functionalities and eliminates duplicates, keeping only the minimal set of test cases needed to cover all functionalities. This extraction principle directly resolves the contradiction by removing unnecessary testing elements while preserving complete functionality coverage.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by running only a minimized subset of test cases rather than the complete test suite. By generating a minimized test suite that covers all functionalities with fewer test cases, the system performs sufficient testing without the excessive action of running redundant tests, thus reducing testing time while maintaining reliability.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If the full test suite is used for regression testing, then all functionalities are covered, but computing resources are excessively consumed

Engineering Contradiction:
Improvefunctionality coverageVSAvoidcomputing resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system extracts redundant test cases from the full test suite through functionality analysis. By identifying and removing duplicate test cases that test the same functionalities, the minimized test suite requires fewer computing resources while maintaining complete functionality coverage, thus resolving the resource consumption issue.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent discards redundant test cases that consume computing resources without adding value. The functionality coverage analysis identifies which test cases are unnecessary, and these are discarded from the test suite. The system recovers computing resources by eliminating wasted execution of duplicate tests while preserving all essential functionality coverage.

Inventive Principle:
Principle #34Discarding and recovering

3Productivity

If redundant test cases are eliminated to reduce testing time, then testing efficiency improves, but risk of omitting crucial faults increases

Engineering Contradiction:
Improvetesting efficiencyVSAvoiddefect detection capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies universality by ensuring that the minimized test suite maintains universal coverage of all functionalities. Each functionality is ensured to be tested by at least one test case in the minimized suite, making the reduced test set equally effective as the full suite for detecting defects across all functionalities.

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

Solution Approach 2:

The system replaces the mechanical approach of running all test cases with an intelligent selection process. By using functionality coverage analysis and automated identification of redundant tests, the system substitutes brute-force testing with a smarter, analysis-based approach that maintains defect detection capability while improving efficiency.

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

4Use of energy by moving object

If the test suite is minimized to reduce computing resources, then resource consumption decreases, but complexity of test case selection increases

Engineering Contradiction:
Improvecomputing resourcesVSAvoidtest case selection complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The system applies self-service by using automated algorithms to perform the complex task of identifying and eliminating redundant test cases. The functionality coverage analysis and redundant test detection are performed automatically without requiring manual intervention, thus the system serves itself to resolve the selection complexity while achieving resource efficiency.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces an intermediary process of functionality coverage analysis that mediates between the full test suite and the minimized test suite. This intermediary analysis layer automatically identifies redundant tests based on functionality mapping, simplifying the selection process and reducing the apparent complexity while achieving resource-efficient test suite minimization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10353810B2Software testing with minimized test suite
Publication Date: 2019.07.16 SAP SE
  • US10353810B2 patent drawing
  • US10353810B2 patent drawing
  • US10353810B2 patent drawing

AI summary

In one respect, there is provided a system that includes at least one processor and at least one memory. The memory may include program code that provides operations when executed by the at least one processor. The operations may include: identifying one or more functionalities of a software program that are invoked via a user interface; identifying a plurality of test cases for testing the one or more functionalities; generating a minimized test suite by at least eliminating, from the plurality of test cases, a redundant test case, wherein the redundant test case tests a same functionality as at least one other test case from the plurality of test cases; and testing, based at least on the minimized test suite, the software program. Related methods and articles of manufacture, including computer program products, are also provided.