Static Analysis for Software Testing Priority
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software testing tools lack efficiency in determining which units to test first, especially when there are many units with complex relationships, leading to subjective and time-consuming user selection processes.
Innovation Solution
A method and apparatus that utilize static analysis to extract unit-based code indices and evaluate testing effort using formulas, objectively determining which units to test first based on calculated scores.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If static analysis and code index extraction are used to objectively determine testing priority, then test productivity and software quality are improved, but device complexity and processing time increase
Solution Approach 1:
The system segments the software testing process into distinct modules: static analysis module that extracts source code information, code index extraction module that generates unit-based metrics, and scoring module that calculates testing effort scores. This segmentation allows each module to handle specific tasks independently, improving overall testing efficiency while managing system complexity through modular design.
Solution Approach 2:
The system performs preliminary static analysis and code index extraction before actual testing begins. By pre-calculating unit-based code indices and testing effort scores, the system prepares testing priorities in advance, enabling more efficient test execution and improving productivity without adding complexity during the actual testing phase.
2Reliability
If static analysis and code index extraction are used to objectively determine testing priority, then software quality is improved, but processing time increases
Solution Approach 1:
The system performs preliminary static analysis and code index extraction before actual testing begins. By pre-calculating unit-based code indices and testing effort scores, the system prepares testing priorities in advance, enabling more efficient test execution and improving productivity without adding complexity during the actual testing phase.
Solution Approach 2:
The system creates simplified representations of the source code through code indices and metrics rather than analyzing the entire codebase repeatedly. These copied metrics (cyclomatic complexity, number of parameters, number of statements) serve as proxies for detailed code analysis, enabling quick scoring and priority determination without re-processing the original source code.
3Measurement precision
If unit-based code indices are extracted from source code information, then testing effort evaluation becomes more accurate, but measurement precision requirements increase
Solution Approach 1:
The system extracts specific, measurable attributes from the source code such as cyclomatic complexity, number of parameters, and number of statements. By taking out these discrete code indices from the complex source code structure, the system transforms difficult-to-measure software characteristics into quantifiable metrics that can be easily scored and compared for testing priority determination.
Data Source
AI summary
The present disclosure relates to a method and apparatus for testing software and a computer readable recording medium having a program for performing the same, and more particularly to a method for quickly testing software by using static analysis results and for quickly achieving a desired quality objective and a computer readable recording medium having a program for performing the same. The method for testing software in accordance with the embodiment of the present invention includes a step of statically analyzing a source code of software and extracting pieces of source code information; a step of extracting a unit-based code index from the extracted pieces of source code information; and a step of evaluating testing effort of each unit on the basis of the extracted unit-based code index.


