Automated UI Testing via Static and Dynamic Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Manual interaction in mobile application testing is inefficient and prone to human error, as it fails to adequately test all possible program flow paths, leading to incomplete test results.
Innovation Solution
A method involving static and dynamic analysis of a user interface, performed without executing the application, using a software library to generate analysis results and determine UI policy rule violations, allowing for automated evaluation and testing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual interaction is used for mobile application testing, then human testers can perform test cases, but human error contaminates test results and not all program flow paths are adequately tested
Solution Approach 1:
The patent replaces manual mechanical testing operations with automated computer-based systems. The automated testing system executes test cases programmatically, eliminating human error in test execution while systematically covering all program flow paths through automated control and tracking mechanisms.
Solution Approach 2:
The testing system performs self-evaluation by automatically executing test cases, capturing interactions and application responses, and generating test results without requiring continuous human intervention. The system independently manages the complete testing workflow from execution to result generation.
2Productivity
If manual testing is performed for each test case, then individual test cases can be executed, but the process is inefficient and time-consuming
Solution Approach 1:
The automated testing system enables continuous execution of test cases without interruption or repetition of manual setup procedures. Once configured, the system can continuously execute multiple test cases automatically, maximizing productivity while minimizing the time required for each individual test case through elimination of manual overhead.
Solution Approach 2:
The system performs preliminary configuration of test cases, test environments, and execution parameters before actual testing begins. This upfront preparation enables rapid, efficient execution of subsequent test cases without requiring repeated manual setup, significantly improving productivity and reducing time per test case.
3Reliability
If comprehensive testing of all program flow paths is attempted manually, then complete coverage may be achieved, but the complexity and effort required increase significantly
Solution Approach 1:
The patent replaces complex manual testing coordination with automated computer-based control systems. The automated system systematically manages test case execution, tracks program flow paths, and ensures complete coverage through programmable logic, reducing the effective complexity of achieving comprehensive testing while maintaining high reliability.
Solution Approach 2:
The testing system incorporates automated feedback mechanisms that track execution status, identify untested code paths, and dynamically adjust test case selection to achieve complete coverage. This feedback-driven approach systematically ensures comprehensive testing without requiring manual tracking and coordination, managing complexity through automated information flow.
Data Source
AI summary
A method includes inputting an application program to be tested to a data processing system; linking the application program to a software library; performing, in cooperation with the software library, a static analysis of a user interface of the application program, without executing the application program, to generate a set of static analysis results; performing, in cooperation with the software library, a dynamic analysis of the user interface of the application program while executing the application program to generate a set of dynamic analysis results and, based on the set of static analysis results and the set of dynamic analysis results, a step of determining if the user interface of the application program violates one or more user interface policy rules. Also disclosed is a computer program product that implements the method and a system configured to execute the computer program product in accordance with the method.


