Autonomous Web Application Testing via Dynamic Form Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software testing tools for web-based applications require manual predefinition of all form fields and test data, limiting the variety of data that can be tested and making them impractical for dynamic applications, as they need frequent updates with changes in the application.

Innovation Solution

An autonomous testing method that uses an analysis module to identify fillable form fields, determine their types and data formats, generate test data, and submit it to the server, allowing for automated testing without manual intervention and enabling testing of multiple pages and forms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual predefinition of all form fields and test data is used, then testing coverage can be controlled, but the time and effort required for testing increases significantly

Engineering Contradiction:
Improvetesting coverageVSAvoidtime and effort required for testing
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The testing system automatically identifies form fields, determines their types, generates appropriate test data, and executes tests without requiring manual predefinition. The system serves itself by autonomously navigating the web application, discovering fields through analysis, and creating test cases dynamically, thereby eliminating the time-consuming manual predefinition process while maintaining comprehensive testing coverage.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary analysis of the web application structure before testing begins. By pre-identifying all form fields and their types through automated analysis, the system prepares the test data generation phase in advance, allowing for efficient execution of comprehensive tests without manual intervention during the actual testing process.

Inventive Principle:
Principle #10Preliminary action

2Extent of automation

If all form fields are predefined in a test script, then testing can be automated, but the variety of test data is limited

Engineering Contradiction:
Improvetesting automationVSAvoidvariety of test data
Core Design Contradiction:
Extent of automationVSAdaptability or versatility

Solution Approach 1:

The system dynamically changes parameters by automatically determining field types (text, number, email, etc.) and generating diverse test data appropriate for each field type. Instead of using fixed predefined data, the system varies test data parameters based on field characteristics, enabling comprehensive automation while maintaining high data variety and adaptability to different field requirements.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The testing system transitions from static predefined test data to dynamic generated test data. The system adapts its behavior based on the analyzed structure of the web application, automatically adjusting test data generation strategies to match the specific characteristics of each form field, thereby achieving both full automation and extensive data variety.

Inventive Principle:
Principle #15Dynamics

3Productivity

If simple automation scripts are used, then some automation is achieved, but the system requires frequent updates when the application changes

Engineering Contradiction:
Improveautomation efficiencyVSAvoidmaintenance complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary analysis of the web application structure before testing, automatically discovering and cataloging all form fields and their types. This upfront analysis creates a dynamic model of the application that automatically adapts when changes occur, eliminating the need for frequent manual script updates while maintaining high automation efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The testing system continuously self-updates by re-analyzing the web application structure when changes are detected. Instead of requiring manual maintenance, the system automatically adapts its test scripts to match the current state of the application, thereby maintaining productivity without increasing maintenance complexity.

Inventive Principle:
Principle #25Self-service

4Reliability

If comprehensive manual testing is performed, then testing thoroughness is ensured, but the cost and complexity increase

Engineering Contradiction:
Improvetesting thoroughnessVSAvoidtesting complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system replaces manual mechanical testing processes with automated intelligent analysis. Instead of human testers manually navigating and testing each field, an automated system analyzes the application structure, generates appropriate test cases, and executes comprehensive tests, thereby ensuring thoroughness while reducing the complexity of test script creation and maintenance.

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

Solution Approach 2:

The testing process is segmented into distinct automated phases: analysis phase (identifying fields and types), generation phase (creating test data), and execution phase (running tests). This segmentation allows each phase to be optimized independently, ensuring comprehensive thoroughness while managing overall system complexity through modular automated processes.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10613971B1Autonomous testing of web-based applications
Publication Date: 2020.04.07 INTUIT INC
  • US10613971B1 patent drawing
  • US10613971B1 patent drawing
  • US10613971B1 patent drawing

AI summary

Certain aspects of the present disclosure provide techniques for autonomously testing a web-based application. The techniques generally include an analysis module searching a page of the web-based application for one or more fillable form fields and identifying a fillable form field in the page. The analysis module determines a field type associated with the fillable form field, determines a field data format based on the field type of the fillable form field and generates a test data entry based on the field data format. The analysis module then enters the test data entry into the respective fillable form field and submits the test data entry to a server.