Proxy System Instrumenting Web Application Test Coverage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Automated testing methodologies for Web applications are limited in their ability to provide detailed testing, as they cannot replicate the nuanced navigation and logic of human testers, leading to incomplete test coverage.

Innovation Solution

A proxy system intercepts and analyzes requests and responses between a client system and a Web application under test, instrumenting the responses to indicate test coverage, thereby aiding testers in determining which portions of the application have been executed or visited.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If automated Web crawlers are used for testing, then testing efficiency is improved, but test coverage and attention to detail deteriorate

Engineering Contradiction:
Improvetesting efficiencyVSAvoidtest coverage
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

A proxy system is introduced as an intermediary between the automated tester and the Web application. The proxy system captures requests and responses, instruments responses to add coverage information, and presents enhanced feedback to the tester. This mediator enables automated testing to achieve better coverage visibility by combining automation efficiency with enhanced measurement capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system instruments responses to include coverage information that provides feedback to the tester about which portions of the application have been executed. This feedback mechanism allows the automated testing process to gain visibility into test coverage, enabling the tester to understand what has been tested and what remains untested, thereby improving overall test coverage.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If Web applications emulate desktop applications, then user interface consistency is improved, but automated testing capability deteriorates

Engineering Contradiction:
Improveinterface consistencyVSAvoidautomated testing capability
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system replaces manual navigation mechanics with automated request capture and response instrumentation. Instead of relying on automated crawlers to manually navigate and interpret desktop-like interfaces, the proxy system captures the underlying requests and responses, instrumenting them to provide coverage information. This substitution enables automated testing to effectively handle desktop-emulating Web applications by operating at the protocol level rather than the interface level.

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

3Measurement precision

If manual testing is performed, then test coverage and attention to detail are improved, but testing productivity deteriorates

Engineering Contradiction:
Improvetest coverageVSAvoidtesting productivity
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The proxy system automatically instruments responses and generates coverage information without requiring manual intervention. The system serves itself by capturing requests, analyzing responses, adding coverage markers, and presenting enhanced feedback automatically. This self-service capability maintains the high test coverage of manual testing while eliminating the time-consuming manual navigation and documentation steps.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9003235B2Indicating coverage of web application testing
Publication Date: 2015.04.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9003235B2 patent drawing
  • US9003235B2 patent drawing
  • US9003235B2 patent drawing

AI summary

Testing a system under test includes intercepting, within a proxy system, a request from a client system sent to the system under test. The request is analyzed within the proxy system and sent to the system under test. Within the proxy system, a response from the system under test sent to the client system is intercepted. The response is instrumented creating a modified response indicating test coverage according to the request. The modified response is sent to the client system.