Automated Test Harness Generation for Web App Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Testing JavaScript code for web-based applications is complex due to the need for generating test harnesses that are time-consuming and difficult to manage, especially when ensuring compatibility across various execution environments, which can lead to inconsistencies and user dissatisfaction.

Innovation Solution

Automated generation of test harnesses based on specified configurations and test scripts, hosting them for execution, and delivering results, allowing for flexible testing across multiple environments using a system that receives configuration information, generates test harnesses, runs tests, and displays results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If test harnesses are manually generated for JavaScript code testing, then testing coverage can be achieved, but the process becomes time-consuming and difficult to manage

Engineering Contradiction:
Improvetesting coverageVSAvoidtime to generate test harnesses
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by automatically generating test harnesses before execution based on test case specifications. The test harness generator creates the necessary test infrastructure in advance, eliminating the need for manual generation and reducing the time required for testing setup.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The test harness generator enables self-service by automatically creating test harnesses without requiring manual intervention. The system uses the test case specification and code under test to autonomously generate the test infrastructure, making the process efficient and scalable.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If multiple execution environments are tested to ensure compatibility, then user satisfaction improves, but the complexity of managing test harnesses increases

Engineering Contradiction:
Improveenvironment compatibilityVSAvoidtest harness management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The test harness generator creates universal test harnesses that can execute across multiple environments. By generating a single test harness that incorporates environment-specific configurations, the system achieves multi-environment compatibility without requiring separate manual test harnesses for each platform.

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

Solution Approach 2:

The system segments the test harness into environment-specific configurations while maintaining a unified structure. This allows the same test logic to be executed across different environments by simply changing the configuration parameters, reducing the complexity of managing multiple test harnesses.

Inventive Principle:
Principle #1Segmentation

3Manufacturing precision

If comprehensive testing across various environments is performed, then code quality improves, but the difficulty of detecting and measuring test results increases

Engineering Contradiction:
Improvecode qualityVSAvoidtest result consistency
Core Design Contradiction:
Manufacturing precisionVSDifficulty of detecting and measuring

Solution Approach 1:

The system implements feedback mechanisms by automatically collecting and reporting test results from multiple environments. The test harness generator includes result aggregation functionality that consolidates outcomes from different environments into a unified report, making it easier to detect and measure test results consistently.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9910764B2Automated software testing
Publication Date: 2018.03.06 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9910764B2 patent drawing
  • US9910764B2 patent drawing
  • US9910764B2 patent drawing

AI summary

Disclosed in some examples are systems, machine readable mediums and methods which automate testing of web-based application code by automatically generating test harnesses based on a specified configuration and test script, hosting the test harness, causing the test harness to be run to test the code, and delivering the test results to the user. In some examples, the specified conditions may specify one or more test environments corresponding to an execution environment. This allows users greater flexibility in support of testing libraries and support of testing environments. The end users of the software under test will be provided software that is better tested for many different environments.