Vendor Version Independent Browser Driver for Heterogeneous Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional testing suites for heterogeneous client environments are unreliable, inconsistent, and inefficient, often resulting in high rates of false negative and false positive test results due to failure to handle ephemeral conditions and flawed client object identification mechanisms, which can introduce errors and require complex, client-specific compensation code.

Innovation Solution

A transition testing model that specifies test state transitions using a suitable test description language, with pre-assembled executable components and a vendor and version-independent browser driver to ensure reliable testing across diverse clients, along with client-side event logging and security management to handle instrumentation and security contexts effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional testing suites are used for heterogeneous client environments, then testing can be performed, but reliability and consistency of test results deteriorate due to false negative and false positive results

Engineering Contradiction:
Improvetest result reliabilityVSAvoidtest result accuracy
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent introduces a browser driver as an intermediary component between the test suite and the browser under test. This driver handles the complexity of interacting with different browser vendors and versions, providing a standardized interface that eliminates false negatives and positives by properly managing ephemeral conditions and race conditions without requiring client-specific compensation code.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The browser driver performs self-configuration and self-adjustment based on the detected browser capabilities. It automatically identifies the appropriate browser interface and behavior patterns, eliminating the need for manual configuration and reducing human error in test setup, thereby improving both reliability and measurement precision.

Inventive Principle:
Principle #25Self-service

2Reliability

If compensation code is written to correct conventional test suite failures, then test reliability improves, but device complexity increases and errors are introduced

Engineering Contradiction:
Improvetest reliabilityVSAvoidtesting process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the testing system into distinct components: a test suite, a browser driver, and a browser under test. The browser driver is a separate, reusable module that handles all browser-specific interactions, eliminating the need to embed complex compensation code within the test suite itself and reducing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The browser driver is designed as a universal component that works across multiple browser vendors and versions. It provides a single point of abstraction that handles all browser-specific behaviors, eliminating the need for multiple client-specific compensation codes and reducing complexity while maintaining high reliability.

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

3Measurement precision

If client-specific compensation code is used, then test accuracy for specific clients improves, but adaptability to other clients deteriorates

Engineering Contradiction:
Improvetest accuracyVSAvoidclient compatibility
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The browser driver is designed as a universal component that adapts to different browser clients through automatic capability detection. It maintains high test accuracy for each specific client while providing broad adaptability across multiple vendors and versions, eliminating the trade-off present in client-specific compensation code approaches.

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

Solution Approach 2:

The browser driver dynamically changes its behavior parameters based on the detected browser capabilities. It adjusts its interaction methods, timing parameters, and error handling strategies to match the specific browser being tested, achieving both high accuracy for each client and versatility across the entire client ecosystem.

Inventive Principle:
Principle #35Parameter changes

4Ease of operation

If test suites delegate object identification to the client, then ease of operation improves, but reliability deteriorates due to flawed or ambiguous identification mechanisms

Engineering Contradiction:
Improvetest setup easeVSAvoidobject identification reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The browser driver serves as an intermediary that takes over the object identification function from the client. It provides standardized, reliable identification mechanisms for test objects while maintaining ease of operation through automated detection and configuration, eliminating the reliability issues associated with direct client delegation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9317398B1Vendor and version independent browser driver
Publication Date: 2016.04.19 AMAZON TECH INC
  • US9317398B1 patent drawing
  • US9317398B1 patent drawing
  • US9317398B1 patent drawing

AI summary

A testing model for heterogeneous client environments is enabled. A test of a computer system state transition may be specified. The test specification may include elements corresponding to test actions that cause the computer system state transition and elements corresponding to test conditions that are evaluated to generate the test results. A collection of pre-assembled executable components suitable for implementing specified tests at a wide variety of clients may be maintained, and particular test specifications may be mapped to a corresponding and optimal implementation subset of the collection. Test results may be determined based on one or more outputs of the implementation subset of executable components. A vendor and version independent browser driver may include code capable of identifying an operational set of browser capabilities among the superset of considered browser capabilities independent of vendor or version identification by a browser under test.