Automated App Testing Tool for Policy Compliance

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveautomation of application testingVSAvoiddetection accuracy of non-compliant components
Core Design Contradiction:
Extent of automationVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedetection accuracy of non-compliant behaviorsVSAvoidtesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #25Self-service

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.

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

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

Engineering Contradiction:
Improvecompliance testing coverageVSAvoidtesting time on repetitive views
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #35Parameter changes

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10417114B2Testing tool for testing applications while executing without human interaction
Publication Date: 2019.09.17 APPLE INC
  • US10417114B2 patent drawing
  • US10417114B2 patent drawing
  • US10417114B2 patent drawing

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.