Automated App Testing Tool for Policy Compliance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
App stores face challenges in efficiently testing software applications for compliance with policies, as existing tools rely on human interaction and are vulnerable to developers obscuring components, leading to inefficiencies and potential non-compliance issues.
Innovation Solution
An automatic application testing tool that navigates through unique views of a software application without human intervention, using interaction models and machine learning to determine the likelihood of forward navigation, record application execution data, and analyze compliance with App store policies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If static code review tools are used to test applications, then testing can be automated without human interaction, but the tools are vulnerable when developers purposely obscure non-compliant components
Solution Approach 1:
The testing tool performs preliminary actions by automatically launching the application and navigating through its user interface before formal testing begins. It proactively explores the application by simulating user interactions, clicking on navigation objects, and transitioning between views to uncover hidden non-compliant components that static code review would miss.
Solution Approach 2:
The testing tool introduces an intermediary layer between the developer's application and the policy compliance verification. It acts as a simulated user that interacts with the application's UI, allowing the system to detect non-compliant behaviors that occur during runtime without requiring direct access to the source code or developer intentions.
2Reliability
If human testing is used to identify undesirable behaviors, then compliance can be accurately assessed, but the process is time-consuming and less efficient
Solution Approach 1:
The testing tool enables self-service automated testing where the system independently launches applications, navigates through views, identifies navigation objects, and assesses compliance without human intervention. It automatically records execution data, compares it against policy rules, and generates compliance assessments, freeing human testers from routine validation tasks while maintaining high detection accuracy.
Solution Approach 2:
The testing tool replaces the mechanical human testing process with an automated computational system. It substitutes human actions with algorithmic navigation object identification, automated UI interaction simulation, and computational policy compliance verification, dramatically increasing testing throughput while maintaining or improving detection accuracy through systematic exploration.
3Reliability
If the testing tool navigates through all views of an application, then comprehensive coverage is achieved, but repetitive testing of similar views reduces efficiency
Solution Approach 1:
The testing tool dynamically changes its testing parameters by adjusting the depth and scope of exploration based on view similarity analysis. When it detects that a new view is similar to previously tested views, it modifies its behavior to reduce or skip testing in that view, thereby adapting the testing parameters to avoid redundant work while maintaining coverage of unique functional areas.
Solution Approach 2:
The testing tool uses copying by creating a model or representation of the application's view hierarchy and navigation structure. It analyzes this model to identify similar views and determines which views require actual testing versus which can be inferred from previously tested similar views, thereby reducing repetitive testing while maintaining comprehensive coverage through intelligent inference.
Data Source
AI summary
The present technology consists of an automatic application testing tool that can initiate execution of an application submitted for testing by an application developer. The application testing tool can analyze views of the application while the application is executing to determine navigation objects and possible interactions with the navigation objects. The application testing tool can automatically apply possible interactions to the navigation objects and can record application execution data during the testing.


