Software Test Coverage Analysis for Redundant Code Elimination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current test automation frameworks are one-size-fits-all and often result in under- or over-testing of software applications, leading to coverage gaps, superfluous, and duplicate tests, which waste time and resources.

Innovation Solution

A system that autonomously analyzes programmatic tests to determine covered features and functionality, identifies coverage gaps, and generates an optimized testing plan by mapping specific features and functionality, eliminating unnecessary tests and redundancy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If test automation frameworks are applied to software applications, then testing can be automated and executed efficiently, but coverage gaps and duplicate tests occur leading to wasted time and resources

Engineering Contradiction:
Improvetesting efficiencyVSAvoidtest coverage completeness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system automatically generates coverage reports by analyzing test execution results and comparing them against the software feature model. This feedback mechanism identifies coverage gaps and duplicate tests, enabling quality engineers to adjust test suites to achieve complete and non-redundant coverage, thus resolving the contradiction between testing efficiency and coverage completeness

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs autonomous analysis of test coverage by automatically parsing test code, executing tests, and generating coverage reports without manual intervention. This self-service capability eliminates the need for manual coverage assessment while ensuring comprehensive coverage analysis, thereby maintaining high productivity while improving coverage reliability

Inventive Principle:
Principle #25Self-service

2Reliability

If comprehensive test suites are created to cover all features, then test coverage is improved, but the number of tests increases leading to wasted time on superfluous and duplicate tests

Engineering Contradiction:
Improvetest coverage completenessVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system extracts and identifies duplicate tests and superfluous tests by analyzing the test suite against the software feature model and coverage requirements. By taking out these unnecessary tests from the comprehensive test suite, the system reduces testing time while maintaining complete coverage of all critical features

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system changes the parameter of test suite composition by dynamically determining the minimum set of tests required to achieve complete coverage. By optimizing the test selection based on coverage analysis and duplicate detection, the system reduces the number of tests from a comprehensive but redundant set to an optimized minimal set that maintains full coverage

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11422926B2Managing test coverage for a software application
Publication Date: 2022.08.23 RED HAT INC
  • US11422926B2 patent drawing
  • US11422926B2 patent drawing
  • US11422926B2 patent drawing

AI summary

Test coverage for a software application can be managed. For example, one system of the present disclosure can receive a feature set for the software application. The feature set indicates features of the software application and functionality attributed to features. The system can also access test code for testing the software application. The test code is source code defining programmatic tests for testing the software application. The system can then determine test coverage for the feature set by analyzing the test code for references to the features and the functionality associated with the feature set. The system can generate a display output indicating the test coverage for the software application.