Automated UI Testing via Static and Dynamic Analysis

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

VSEngineering 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

Engineering Contradiction:
Improvetest result accuracyVSAvoidautomation level
Core Design Contradiction:
ReliabilityVSExtent of automation

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.

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

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improvetesting efficiencyVSAvoidtime per test case
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #20Continuity of useful action

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvetest coverage completenessVSAvoidtesting system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

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

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9372779B2System, method, apparatus and computer program for automatic evaluation of user interfaces in software programs
Publication Date: 2016.06.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9372779B2 patent drawing
  • US9372779B2 patent drawing
  • US9372779B2 patent drawing

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.