Automatic Software Component Integration Testing via Script Adaptation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for automatic testing of software applications struggle with integrating and testing subsets of software components in running applications, especially when each application has a unique interface and data structure, making it impractical to perform the same integration tests across different applications.
Innovation Solution
A system and method that automatically test the integration of a subset of software components in a running software application by obtaining a test script specification, determining if further components implement process definitions, creating a new test script, and simulating user input to control the application, all without manually created integration tests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual integration tests are created for each different software application, then testing coverage can be achieved, but the work effort increases significantly and error risk increases
Solution Approach 1:
The system creates test scripts by copying and adapting a master test script template. Instead of manually creating unique tests for each application, the system generates test scripts by replacing placeholders with application-specific information, dramatically reducing manual effort while maintaining comprehensive testing coverage
Solution Approach 2:
The system enables self-service testing by automatically generating test scripts without requiring manual intervention. The test script generation process is automated through systematic replacement of placeholders with application-specific data, allowing the system to serve its own testing needs without external manual effort
2Stability of the object's composition
If the same integration test is performed on different software applications, then testing consistency can be maintained, but the unique interface and data structure of each application make this approach inapplicable
Solution Approach 1:
The test script template contains localized placeholders that are replaced with application-specific information. This allows the overall test structure to remain consistent while adapting specific parts (interface names, data structures, component references) to match each application's unique characteristics
Solution Approach 2:
The system changes parameters within the test script by systematically replacing placeholders with application-specific values. This maintains the structural consistency of the test while adapting the content to reflect each application's unique interface and data structure through parameter substitution
3Adaptability or versatility
If a software application is built from an application-specific subset of components, then flexibility in application composition is achieved, but the interface and data structure become different for each application
Solution Approach 1:
The master test script template serves as a universal framework that can be applied to any software application regardless of its specific component subset. The template's placeholders allow it to adapt to different interfaces and data structures, making it multi-functional across diverse application compositions
Data Source
Figure 1
Figure 2~3
Figure 4~9
AI summary
A system (1) for automatic testing of a software application while the software application (93) is running, e.g. on another system (13), is configured to obtain a test script specification associated with a software component of the software application. A test step comprised in the test script specification comprises a reference to a process definition stored in a catalog but not implemented by the software component. The system is further configured to determine whether a further software component of the software application implements the process definition, create a new version of the test script specification in which the reference to the process definition has been replaced with a reference to an implementation of the process definition in the further software component in dependence thereon, create a test script (151) based on the new version, and control the software application by simulating user input according to the test script.