Mobile App View Enumeration for Testing Coverage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current mobile testing tools face challenges in obtaining comprehensive coverage metrics for mobile applications, particularly for web applications with dynamic and complex structures, such as those using AJAX, which hinders the identification of security vulnerabilities and stability issues.
Innovation Solution
A method and component module that parses and enumerates different views specified in a mobile app's configuration file, enabling the computation of effective coverage metrics and prompting users for assistance to reach unreachable views, thereby improving testing coverage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a testing tool searches for security vulnerabilities in mobile applications, then security vulnerability identification is improved, but testing coverage information becomes hard to obtain
Solution Approach 1:
The patent applies preliminary action by statically analyzing the code base before execution to generate a call graph that predicts all reachable views. This pre-computed coverage map is then used during runtime to guide the testing process, ensuring that coverage information is available from the start rather than being lost during execution. The call graph is built in advance using interprocedural static analysis, allowing the system to know the complete testing surface before beginning vulnerability scanning.
Solution Approach 2:
The patent implements feedback by continuously comparing the set of actually reached views during testing against the pre-computed set of all reachable views from the call graph. This feedback mechanism allows the system to identify which views have not been tested and prompt users to provide inputs that would enable transitions to those unreachable views, thereby maintaining awareness of testing coverage throughout the vulnerability scanning process.
2Adaptability or versatility
If the testing tool lacks prior knowledge of the site map in web applications, then adaptability to dynamic structures is improved, but coverage information becomes difficult to obtain
Solution Approach 1:
The patent applies copying by creating a static model (call graph) that replicates the structure of the application's view hierarchy and navigation paths. Instead of relying on runtime exploration of dynamic web structures, the system copies the essential navigation information into a pre-computed call graph that can be analyzed offline. This copied structure provides coverage information without requiring the testing tool to understand or adapt to the dynamic nature of the actual running application.
3Loss of information
If manual user assistance is requested to discover more testing surface, then testing coverage can be improved, but productivity decreases
Solution Approach 1:
The patent applies self-service by automatically using the pre-computed call graph to identify unreachable views and generate targeted prompts for user assistance. Rather than requiring users to manually explore the entire application, the system serves itself by automatically analyzing coverage gaps and requesting only the specific inputs needed to reach undiscovered views. This automated guidance significantly reduces the manual effort required while still achieving comprehensive coverage.
Data Source
AI summary
A method and method for testing an application includes performing a static analysis of metadata of coding of an application, using a test application program executed by a processor on a computer. Available user interface states are simulated based on the static analysis. A configuration file of the application is accessed and parsed to enumerate states possible for the application. A coverage metric is calculated for the application based on a number of states reached by the simulating and a number of states possible.


