Automated Web Testing via Code Analysis and Standard Input Knowledge Bases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional QA tools for websites and web applications rely on a manual record-and-playback model, which is time-consuming, incomplete, and inflexible, often missing latent errors and requiring new scripts for minor changes, making them unsuitable for complex and dynamic web environments.

Innovation Solution

A method that automatically tests websites and web applications by examining page code, detecting user input fields, categorizing them, consulting knowledge bases of standard inputs and errors, and applying these inputs to detect potential errors, generating log entries, and iteratively testing until predetermined conditions are met.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional QA tools use a manual record-and-playback model, then the testing process can be initiated with basic scripting, but the testing becomes time-consuming and incomplete as website complexity increases

Engineering Contradiction:
Improvetesting efficiencyVSAvoiderror detection completeness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The QA tool automatically generates test scripts by examining website code structure and identifying input fields, eliminating the need for manual script creation. The system serves itself by autonomously navigating the website, detecting forms, and generating comprehensive test cases without human intervention in the scripting process.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically changes testing parameters by automatically adjusting test data based on field types detected in the website code. It modifies testing behavior adaptively, changing input values, validation rules, and test sequences based on the specific structure and requirements of each website being tested.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If manual testing scripts are created to cover various user-website interactions, then more permutations can be tested, but the process is inherently incomplete and time-consuming

Engineering Contradiction:
Improvetesting thoroughnessVSAvoidscript creation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system replaces the mechanical process of manual script creation with an automated code examination process. Instead of manually writing test scripts, the QA tool parses website HTML and JavaScript code to automatically generate test scripts, substituting human effort with computational analysis.

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

Solution Approach 2:

The system performs preliminary actions by pre-examining the website code structure before actual testing begins. It proactively identifies all input fields, form types, and potential error conditions in advance, preparing comprehensive test scripts beforehand to ensure thorough coverage without time-consuming manual intervention during execution.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If the website or application is changed or upgraded, then new functionality is added, but conventional QA tools require that a new script be recorded and the entire process started over again

Engineering Contradiction:
Improveflexibility to changesVSAvoidretesting efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The QA tool implements dynamic adaptability by continuously examining updated website code and automatically regenerating test scripts based on new structures. Instead of static, pre-recorded scripts, the system dynamically adjusts its testing approach to match current website configurations, allowing seamless adaptation to changes without complete retesting.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system provides universal testing capability that works across different website structures and technologies. By examining code rather than relying on specific script recordings, it maintains functionality across website updates and upgrades, making the testing process universally applicable regardless of platform changes.

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

4Reliability

If more permutations of inputted data are manually keyed to fully test the site, then more errors can be detected, but the process becomes increasingly time-consuming

Engineering Contradiction:
Improveerror detection capabilityVSAvoidtesting duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system replaces manual data entry with automated code analysis. By parsing website code to identify input fields and their expected data types, it automatically generates appropriate test data permutations without manual keying, maintaining comprehensive error detection while eliminating time-consuming manual input.

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

Data Source

PatentUS7444548B2Methods and systems for automatically testing websites and web applications using knowledge bases of standard inputs and standard errors
Publication Date: 2008.10.28 ORACLE INT CORP
  • US7444548B2 patent drawing
  • US7444548B2 patent drawing
  • US7444548B2 patent drawing

AI summary

A method for automatically testing a website or a web application may include steps of examining the code of an opened Web page or Web application and detecting and categorizing user input fields in the examined code. A knowledge base of standard inputs that stores a plurality of categorized standard inputs may then be consulted. A standard input may then be selected from the knowledge base of standard inputs and applied to the detected input field. When the website or web application generates a message in response to the applied standard input, a knowledge base of standard errors that stores a plurality of standard errors may be consulted. The generated message may then be matched to one of the stored standard errors or a likelihood that the generated message is an error message may be assigned when the generated message does not match one of the stored standard errors. A log entry may then be created, the log entry including sufficient information as to allow a post-facto reconstruction of the circumstances leading to the generation of the error message.