Automated Functional Testing via GUI-Based Test Suite Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software application testing tools lack automated automation frameworks, require specific coding skills, and offer limited flexibility and usability for a wide range of software coding skills, making them inefficient and difficult to use for functional testing.

Innovation Solution

An automation suite module utilizing modifiable graphical user interfaces for developing and executing functional tests, providing error tracking, reporting, and continuous integration capabilities without requiring high-level coding skills, and enabling opinionated programming for automated functional testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If conventional testing tools are used, then automation framework is provided, but manual initiation is required and automated automation is lacking

Engineering Contradiction:
Improveautomation of testingVSAvoidmanual initiation requirement
Core Design Contradiction:
Extent of automationVSEase of operation

Solution Approach 1:

The system enables automated automation by allowing the testing framework to self-initiate and self-manage test executions without manual intervention. The automated automation suite automatically discovers, configures, and executes tests based on predefined criteria, making the system serve itself rather than requiring external manual control.

Inventive Principle:
Principle #25Self-service

2Extent of automation

If conventional testing tools are used, then code-based automation is possible, but specific coding skills and expertise are required

Engineering Contradiction:
Improvecode-based automationVSAvoidcoding skill requirement
Core Design Contradiction:
Extent of automationVSEase of operation

Solution Approach 1:

The system introduces an intermediary layer between the user and the code-based automation framework. This intermediary provides a user-friendly interface that translates simple user actions into complex automated testing operations, eliminating the need for users to directly write or understand complex test code while still enabling powerful automation capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses recording and playback functionality to capture user interactions with the application and automatically replay them as test cases. Instead of requiring users to manually code each test scenario, the system copies and replays actual usage patterns, making automation accessible to users without programming expertise.

Inventive Principle:
Principle #26Copying

3Ease of operation

If keyword or record/playback solutions are used, then ease of use is improved, but flexibility and usability for a wide range of coding skills are limited

Engineering Contradiction:
Improveease of useVSAvoidflexibility for different coding skills
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system provides a universal platform that supports multiple testing approaches within a single framework. It can handle both simple record/playback scenarios and complex coded tests, adapting to users with different skill levels and requirements. The framework universally supports various testing strategies without requiring separate tools for different expertise levels.

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

Solution Approach 2:

The system dynamically adapts its interface and capabilities based on user needs and skill levels. It can switch between guided modes for beginners and advanced modes for experienced users, making the toolset flexible and adaptable rather than rigid and one-size-fits-all.

Inventive Principle:
Principle #15Dynamics

4Extent of automation

If Selenium or similar tools are used, then automation framework is provided, but opinionated programming based automation suites are lacking

Engineering Contradiction:
Improveautomation frameworkVSAvoidopinionated programming capability
Core Design Contradiction:
Extent of automationVSAdaptability or versatility

Solution Approach 1:

The system changes the parameters of automation by introducing opinionated programming capabilities that guide test creation through predefined patterns and best practices. Instead of requiring users to decide every implementation detail, the system provides intelligent defaults and structured approaches that simplify test development while maintaining flexibility for customization when needed.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10909025B2System and method for automating functional testing
Publication Date: 2021.02.02 JPMORGAN CHASE BANK NA
  • US10909025B2 patent drawing
  • US10909025B2 patent drawing
  • US10909025B2 patent drawing

AI summary

Various methods, apparatuses/systems, and media for implementing an automation suite module (ASM) for automated functional testing are provided. A receiver receives a request for testing an application. A repository stores a plurality of test classes related to the request. A processor accesses the repository; creates a plurality of packages, each package including one or more test classes among the plurality of test classes; causes, in response to receiving the request for testing the application, a graphical user interface (GUI) to display the plurality of packages with their respective test classes; generates, by utilizing the GUI, a plurality of test blocks by receiving selection of one or more test classes from one or more packages among the plurality of packages; generates, by utilizing the GUI, a custom test suite by receiving selection of one or more test blocks from the plurality of test blocks; and executes the test classes based on the custom test suite to test the application.