Proxy Module for Markup Language Application Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional testing systems lack the ability to provide development tools for effectively testing markup language applications executing on computing devices, leading to cumbersome methods such as insertion of debug code and reliance on simulators, which are not fully faithful to actual device execution.

Innovation Solution

A system and method that utilize a proxy module and driver module to enable the use of development tools like Chrome DevTools on devices running iOS, allowing communication between these tools and embedded test tools, even when the device does not natively support them, thereby allowing debugging of markup language applications on actual computing devices or simulations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional testing methods are used (insertion of debug code and simulators), then testing can be performed, but the testing fidelity is low and the process is cumbersome

Engineering Contradiction:
Improvetesting fidelityVSAvoidtesting process complexity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces a bridge module as an intermediary component that connects the testing framework to the markup language application. This bridge module enables communication and data exchange between the testing environment and the application under test, allowing high-fidelity testing without requiring direct modification of the application code or complex manual debugging procedures.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If debug code is inserted for testing, then application behavior can be observed, but the application code becomes more complex and maintenance-difficult

Engineering Contradiction:
Improveapplication behavior visibilityVSAvoidapplication code complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent extracts the testing and debugging functionality from within the application code itself and places it in a separate, external testing framework. The bridge module serves as the interface that allows the external testing framework to observe and control application behavior without embedding debug code within the application, thereby maintaining code cleanliness and reducing complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If simulators are used for testing, then testing can be performed on different platforms, but the testing results may not accurately reflect actual device execution

Engineering Contradiction:
Improveplatform testing capabilityVSAvoidexecution accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent creates a faithful representation or copy of the actual device execution environment through the bridge module, which interfaces directly with the markup language application running on the target device. This allows the testing framework to observe and interact with the application in a manner that accurately reflects real device behavior, rather than relying on simplified simulator models that may not capture all execution nuances.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9367415B1System for testing markup language applications on a device
Publication Date: 2016.06.14 GOOGLE LLC
  • US9367415B1 patent drawing
  • US9367415B1 patent drawing
  • US9367415B1 patent drawing

AI summary

A system is described for testing markup language-based applications, such as a web page, executing on an external computing device. A development device executes development tool modules which may include a proxy module and a driver module. The proxy module enables communication between one or more modules which execute on the development device and one or more embedded test tools on the computing device. The driver module provides a command line interface to facilitate automated testing, and generates commands appropriate to the use of the embedded test tools and may use the proxy module to communicate with the computing device. Using the proxy module, the driver module, or both, a developer is able to test and interact with a markup language application executing on the computing device with a variety of development modules.