Software Code Testing Engine Optimizing Test Suite Coverage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional software code testing systems rely on user experience and do not effectively measure software code coverage, leading to inefficient testing processes where multiple test cases may exercise the same code or fail to cover portions of the code, resulting in resource wastage and invalid test executions.
Innovation Solution
An Information Handling System (IHS) with a software code testing engine that runs test cases on software code modules, identifies and maps software code coverage, and generates a test suite with a subset of test cases to achieve a desired level of coverage using a minimum number of test cases, optimizing the testing process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If all available test cases are run to maximize software code coverage, then code coverage is improved, but testing resources and time are wasted due to multiple test cases exercising the same code
Solution Approach 1:
The system performs preliminary analysis of the software code to identify code blocks and determines which test cases will exercise each code block before actually executing the tests. This advance planning allows the system to select only the necessary test cases, avoiding redundant executions and optimizing resource utilization while ensuring comprehensive code coverage.
2Productivity
If a limited number of test cases are used to speed up the testing process, then testing time is reduced, but portions of the software code remain uncovered
Solution Approach 1:
The system establishes a feedback mechanism that continuously monitors which code blocks have been exercised by test cases and which remain uncovered. Based on this feedback, the system dynamically selects additional test cases to execute, ensuring that all code blocks are covered while minimizing the total number of test cases needed. This feedback-driven approach enables efficient testing with optimal coverage.
3Ease of operation
If test cases are selected based on user experience and functionality specification without analyzing internal logical structure, then testing is simpler to perform, but testing efficiency is reduced due to invalid test executions
Solution Approach 1:
The system replaces manual user judgment and experience-based test case selection with an automated computer-implemented method. The system analyzes the internal logical structure of the software code, identifies code blocks, and automatically determines which test cases will exercise each block. This substitution of manual processes with automated analysis dramatically improves testing efficiency while maintaining simplicity of operation.
Data Source
AI summary
A software code testing system includes sub-engines and a test case database storing test cases. A test case sub-engine runs each of the test cases on a plurality of software code modules, and a software code coverage determination sub-engine identifies a respective software code coverage for each software code method included in each of the software code modules. A test case/software code coverage mapping sub-engine then maps the respective software code coverage for each of the software code methods included in each of the software code modules with the respective test case that was run on that software code module to provide a test case/software code coverage mapping, which is used by a test suite optimization sub-engine to generate a test suite that includes a subset of the test cases that provide a desired level of software code coverage using a minimum number of test cases.


