Automated Web App Testing via Global Page State Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Automating the testing of web applications that include multiple components, such as web components and visualization components, is challenging due to their independent display trees, making it difficult to verify the presence and interaction of elements across these components.

Innovation Solution

An automatic testing application determines a consistent global page state to ensure all components have finished displaying, then verifies and modifies the state of the visualization component using a communication component, simulating user interactions to test cross-component functionality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual testing is used to verify web application components, then testing accuracy can be maintained, but testing efficiency and productivity are reduced

Engineering Contradiction:
Improvetesting accuracyVSAvoidtesting efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The testing system performs self-verification by automatically detecting component states, verifying display correctness, and identifying defects without human intervention. The system serves itself by implementing automated testing workflows that were previously requiring manual execution, thereby maintaining accuracy while dramatically improving productivity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical testing operations with automated software-based testing mechanisms. The testing application programmatically interacts with web application components, simulating user actions and automatically verifying component behavior, thus substituting human-operated mechanical processes with automated computational processes.

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

2Productivity

If automated testing is implemented for web applications with independent display trees, then testing productivity is improved, but testing reliability deteriorates due to difficulty in verifying cross-component interactions

Engineering Contradiction:
Improvetesting automationVSAvoidverification accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The testing application acts as an intermediary between the test controller and the web application components with independent display trees. It establishes communication channels that enable verification of cross-component interactions by mediating between different display tree contexts, thereby maintaining reliability while enabling automated testing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The testing application implements universal verification capabilities that work across multiple independent display trees. It provides multi-functional testing operations including component state verification, interaction validation, and display correctness checking that can be applied consistently across different component types and display tree structures.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If comprehensive testing of all web application components is performed, then testing coverage is improved, but device complexity and source code instrumentation requirements increase

Engineering Contradiction:
Improvetesting coverageVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The testing system extracts and isolates individual component verification logic from the overall testing framework. By separating component-state detection, display verification, and interaction testing into distinct modular operations, it achieves comprehensive coverage without proportionally increasing system complexity. Each extracted testing function can be independently applied to relevant components.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the testing process into distinct phases: component loading verification, component state detection, display correctness verification, and interaction validation. This segmentation allows comprehensive testing coverage to be achieved through systematic execution of discrete testing operations rather than monolithic complex testing procedures.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8572505B2Automatically testing a web application that has independent display trees
Publication Date: 2013.10.29 ORACLE INT CORP
  • US8572505B2 patent drawing
  • US8572505B2 patent drawing
  • US8572505B2 patent drawing

AI summary

An automatic testing application is provided that can simulate a user interaction with a web application. The automatic testing application can determine that the web application has been completely displayed within a graphical user interface of a web browser using a consistent global page state. The automatic testing application can test that the web application has been correctly displayed by verifying a state of a visualization component of the web application using a communication component. Subsequently, the automatic testing application can transmit an event to the web application that can modify the state of the visualization component using the communication component. Once the automatic testing application has determined that the web application has been completely re-displayed, using the consistent global page state, the automatic testing application can test that the web application has been correctly re-displayed by verifying a modified state of the visualization component using the communication component.