Automated Path Generator for Software Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software development lifecycle lacks effective methods for comprehensive testing, leading to inconsistencies in application behavior across different user scenarios, with existing testing processes failing to ensure consistent user experience and identifying issues in source code execution.

Innovation Solution

An automated path generation technique is employed, where source code analysis identifies execution paths and generates test cases to cover all source code lines, excluding dead code, ensuring highest code coverage and improving testing efficiency by defining sequences of execution steps based on conditional statements and key field evaluations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If comprehensive testing is performed to ensure consistent user experience, then software quality improves, but testing time and resources increase

Engineering Contradiction:
Improvesoftware qualityVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of source code to automatically generate test execution paths and test cases before actual testing begins. By pre-computing the test paths based on code structure and conditional statements, the system prepares a comprehensive testing strategy in advance, ensuring thorough coverage without requiring excessive testing time during execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The testing system serves itself by automatically generating test cases and execution paths from the source code without requiring manual test design. The system analyzes the code structure, identifies conditional statements, and autonomously creates comprehensive test scenarios, eliminating the need for extensive manual testing effort while maintaining high software quality.

Inventive Principle:
Principle #25Self-service

2Reliability

If manual testing processes are used to identify execution issues, then testing coverage can be achieved, but testing efficiency decreases

Engineering Contradiction:
Improvetesting coverageVSAvoidtesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system replaces manual mechanical testing processes with an automated computational system. Instead of manually designing and executing test cases, the system uses algorithms to analyze source code, generate test paths, and execute tests automatically. This substitution dramatically improves testing efficiency while maintaining comprehensive coverage by systematically analyzing all code paths.

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

Solution Approach 2:

The system introduces an intermediary automated path generation process between source code and testing execution. This intermediary automatically translates code structure into test execution paths, serving as a bridge that converts static code into dynamic test scenarios without requiring manual intervention, thereby enhancing both coverage and efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Manufacturing precision

If all source code lines are covered in testing, then code coverage improves, but test case complexity increases

Engineering Contradiction:
Improvecode coverageVSAvoidtest case complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The system segments the source code into discrete paths based on conditional statements and control flow structures. By dividing the codebase into manageable execution paths, the system can systematically cover all lines while organizing test cases in a structured manner. This segmentation reduces the perceived complexity by breaking down comprehensive testing into distinct, manageable path segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs excessive action by generating test cases that cover all possible code paths, including edge cases and rare execution scenarios. While this comprehensive approach ensures maximum code coverage, the automated system manages the resulting complexity through systematic path generation and execution, transforming what would be overwhelming manual complexity into manageable automated processes.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10713152B2Automated path generator for optimized application testing
Publication Date: 2020.07.14 SAP SE
  • US10713152B2 patent drawing
  • US10713152B2 patent drawing
  • US10713152B2 patent drawing

AI summary

An application module is read and parsed into a text file to store source code lines included into the implementation of the application module. The text file is analyzed and predicate conditions are identified in one or more of source code lines. Key values associated with a predicate condition from the predicate conditions are determined. Key values are associated with a key field defined for the application module. A plurality of paths of execution of the application module is determined based on the text file analysis and on the determined predicate conditions. A path includes one or more lines from the source code lines corresponding to a sequence of execution steps of the application module. Based on determining key values for the predicate conditions and the plurality of paths, generating test cases corresponding to the path and corresponding predicate conditions.