Automated Web Testing via Object Repository and Self-Service Script Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current test automation tools lack intelligence for automatic test generation and require manual development and execution, leading to high costs and inefficiencies, especially in testing dynamic web pages where common objects' behavior remains consistent across different implementations.

Innovation Solution

An automated testing system that identifies GUIs, input objects, and determines if they are present in an object repository; if found, it generates tests using corresponding data, and if not, prompts users for additional information to add the objects to the repository, enabling automated test execution and data-driven testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual test automation development is used, then test coverage can be achieved, but development time and costs increase significantly

Engineering Contradiction:
Improvetest coverageVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs self-service by automatically identifying input objects on web pages and generating test scripts without requiring manual intervention for each test case. The automated testing system crawls through the application, detects input objects, and creates corresponding test scripts autonomously, eliminating the need for manual script development while maintaining comprehensive test coverage.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses copying by creating test scripts that replicate the structure and logic of actual user interactions with the application. By copying the workflow of manual testing operations into automated script formats, the system preserves test coverage while reducing development time, as the scripts are generated by replicating existing test scenarios rather than creating them from scratch.

Inventive Principle:
Principle #26Copying

2Reliability

If manual test automation development is used, then test scripts can be created, but labor costs and complexity increase

Engineering Contradiction:
Improvetest automation capabilityVSAvoidautomation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system eliminates the need for manual test automation development by performing self-service. It automatically crawls web pages, identifies input objects, and generates test scripts without human intervention, thereby maintaining test automation capability while significantly reducing the complexity associated with manual script creation and maintenance.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system applies universality by designing a multi-functional automated testing platform that can handle various types of web applications and input objects through a single unified approach. This universal system performs multiple functions including page crawling, object identification, script generation, and test execution, thereby reducing overall automation complexity compared to having separate tools for each function.

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

3Reliability

If separate test automation development and execution phases are used, then testing can be performed, but productivity decreases

Engineering Contradiction:
Improvetesting capabilityVSAvoidtesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system merges the previously separate test automation development and execution phases into a single integrated process. The automated testing system simultaneously performs script generation (development phase) and test execution (execution phase) in one continuous operation, thereby maintaining reliable testing capability while significantly improving productivity by eliminating the transition overhead between separate phases.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system ensures continuity of useful action by maintaining an unbroken workflow from test script generation to execution. The automated process continuously moves from identifying input objects to creating test scripts and immediately executing them without interruption or manual intervention, thereby preserving testing capability while maximizing productivity through continuous automated operation.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10509717B1System, method, and computer program for automatically testing software applications including dynamic web pages
Publication Date: 2019.12.17 AMDOCS DEV LTD
  • US10509717B1 patent drawing
  • US10509717B1 patent drawing
  • US10509717B1 patent drawing

AI summary

A system, method, and computer program product are provided for automatically testing software applications including dynamic web pages. In operation, an automated testing system identifies at least one software application on which to perform automated testing. The automated testing system identifies at least one graphical user interface (GUI) associated with the at least one software application. Further, the automated testing system identifies at least one input object associated with the at least one graphical user interface. The automated testing system determines whether the at least one input object is present in an object repository including known input objects and corresponding testing data. If it is determined that the at least one input object is present in the object repository, the automated testing system automatically generates a test for the at least one input object utilizing corresponding test input data from the object repository. If it is determined that the at least one input object is not present in the object repository, the automated testing system displays a prompt for additional information utilizing at least one user interface and adds the at least one input object to the object repository.