Declarative Testing Tool for Multi-Platform Browser Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As systems become increasingly complex, creating an exhaustive set of tests for various user experiences becomes time-consuming, and existing testing methods require separate test software for different browsers and native applications, making automated testing inefficient.

Innovation Solution

Declarative UI automated testing uses a unified approach by specifying the final state of a software application's user interface, allowing for testing through JSON or XML data structures without requiring specific programming languages, and utilizes a declarative testing tool that self-learns and auto-generates tests based on user behavior data, reusing validators across multiple user experiences.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional automated testing methods are used for each browser and native application separately, then testing coverage is comprehensive, but the complexity of device and time consumption increase significantly

Engineering Contradiction:
Improvetesting coverageVSAvoidseparate test software for different platforms
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal testing tool that can test multiple browser types (Chrome, Firefox, Safari, IE) and native applications across different operating systems (Windows, Mac, Linux) through a single interface. The system uses platform-agnostic test case definitions and automated driver selection to achieve multi-functionality, eliminating the need for separate test software for each platform while maintaining comprehensive testing coverage

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

Solution Approach 2:

The testing system is divided into independent modular components: test case management module, automated driver selection module, test execution module, and result aggregation module. Each module handles specific functions independently, allowing the system to scale across multiple platforms without increasing overall complexity. Test cases are segmented into platform-agnostic definitions that can be executed by different drivers

Inventive Principle:
Principle #1Segmentation

2Reliability

If exhaustive manual testing is performed for all user experiences, then testing completeness is achieved, but time consumption increases

Engineering Contradiction:
Improvetesting completenessVSAvoidtime to create and manage tests
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements self-service through automated driver selection that automatically chooses appropriate test drivers based on the target application type, and self-generating test cases that are created automatically from user experience definitions. The test execution engine automatically manages test runs across multiple platforms without manual intervention, significantly reducing the time required to create and manage comprehensive test suites

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Test cases are defined in advance using platform-agnostic declarative syntax that captures the essential testing logic before execution. The system pre-configures multiple test drivers and automatically selects the appropriate one during execution. Test frameworks and validation rules are established beforehand, enabling rapid execution of exhaustive test scenarios without manual setup time for each test run

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10061687B2Self-learning and self-validating declarative testing
Publication Date: 2018.08.28 PAYPAL INC
  • US10061687B2 patent drawing
  • US10061687B2 patent drawing
  • US10061687B2 patent drawing

AI summary

A system and method for self-learning and self-validating declarative testing are provided. In example embodiments, a user experience module identifies a declarative test representing a user experience being tested. A test execution module simulates a client machine including a client machine environment and executes the declarative test using the simulated client machine and the user behavior data of the specific user to generate test results. A validation module validates the test results by invoking at least one of plurality of validators, including at least one client-side validator and at least one server-side validator.