Software Test Coverage Metrics for Interface and Internal Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software testing methods struggle to determine the thoroughness of code testing, leading to resource wastage and inefficiencies due to the difficulty in analyzing test results and identifying necessary further tests, especially in complex software systems.

Innovation Solution

A method that identifies interface and internal portions of software code, generating test metrics to measure the thoroughness of testing, allowing for a finer-grained analysis and resource allocation based on these metrics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If detailed analysis of test results is performed by software engineers, then test coverage quality is improved, but time consumption increases

Engineering Contradiction:
Improvetest coverage qualityVSAvoidtime consumption
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system automatically generates test coverage metrics and identifies untested code portions without requiring manual analysis by software engineers. The testing system serves itself by producing actionable insights about test coverage quality and resource allocation recommendations, eliminating the need for human intervention in the analysis process.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system introduces an intermediary layer that automatically processes test results and generates metrics. This intermediary component translates raw test data into meaningful coverage metrics and resource allocation recommendations, bridging the gap between testing and without requiring direct human analysis of the test results.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If 100% code testing is performed, then software reliability is improved, but testing resources and costs increase

Engineering Contradiction:
Improvesoftware reliabilityVSAvoidtesting resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system applies different testing priorities to different code portions by identifying interface portions (external software interfaces) versus internal portions. Interface portions receive higher testing priority as they are critical for external interactions, while internal portions can be tested less extensively. This local differentiation allows achieving sufficient reliability without expending resources on 100% code coverage.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the testing parameter from uniform 100% coverage to differentiated coverage based on code portion importance. By categorizing code as interface or internal portions, the system adjusts testing intensity accordingly, achieving acceptable reliability with reduced testing resources allocated to less critical internal portions.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If test coverage percentage is increased, then testing thoroughness is improved, but identification of critical untested portions becomes more difficult

Engineering Contradiction:
Improvetesting thoroughnessVSAvoididentification of critical untested portions
Core Design Contradiction:
Measurement precisionVSDifficulty of detecting and measuring

Solution Approach 1:

The system segments code into distinct interface portions and internal portions, making it easier to identify which portions are most critical for testing. Interface portions represent external software interfaces that are inherently more important than internal portions. This segmentation provides clear guidance on where to focus testing efforts and which untested portions are most critical, simplifying the detection and measurement process.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7904890B1Software test coverage metrics
Publication Date: 2011.03.08 ORACLE AMERICAN INC
  • US7904890B1 patent drawing
  • US7904890B1 patent drawing
  • US7904890B1 patent drawing

AI summary

A mechanism is disclosed for determining how thoroughly a set of code has been tested. The mechanism involves identifying which portions within the set of code are interface portions and which portions are internal portions. A test is executed to test the set of code. Based upon a set of testing information derived from the test, an interface test metric is derived that provides a measure of how thoroughly the interface portions were tested by the test. Based upon the set of testing information, an internal test metric is derived that provides a measure of how thoroughly the internal portions were tested by the test. In one embodiment, an overall measure of how thoroughly the set of code has been tested by the test is derived, based upon the interface test metric and the internal test metric.