Regression Testing Automation via Predictive Framework Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in building a holistic test automation framework for various software applications, especially during system testing and integration testing, due to complexities such as multiple software types, concurrent development and testing in agile projects, and the absence of software application objects during testing.

Innovation Solution

A method and system for automating regression testing that predicts a test automation framework by analyzing input data, obtains test scenarios from historical regression test suites, identifies available devices based on device parameters, and transmits information to these devices to automate the testing process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a holistic test automation framework is built for all types of software applications, then the coverage and versatility of testing is improved, but the device complexity and time required to build the framework increases significantly

Engineering Contradiction:
Improveframework coverageVSAvoidframework complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the test automation framework into multiple specialized frameworks, each designed for specific software application types (web applications, mainframe applications, mobile applications). This segmentation allows each framework to be optimized for its specific domain without the complexity of a universal framework, while still achieving broad coverage through selective deployment of appropriate frameworks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a meta-framework that provides universal functionality by orchestrating multiple specialized frameworks. This meta-framework handles common testing tasks across different application types while delegating application-specific operations to the appropriate specialized framework, achieving versatility without requiring a single complex universal framework.

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

2Adaptability or versatility

If test automation framework is built for multiple types of software applications, then the versatility of testing is improved, but the time required to build and configure the framework increases

Engineering Contradiction:
Improvemulti-application supportVSAvoidframework setup time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent pre-configures multiple specialized test automation frameworks during the design phase, each optimized for specific application types. When a testing project starts, the system automatically selects and configures the appropriate pre-built framework based on the application type, eliminating the need to build frameworks from scratch for each project and significantly reducing setup time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses template-based framework configurations that can be copied and adapted for different projects. Once a framework is successfully configured for a particular application type, the configuration can be copied and reused for similar applications, reducing the time required to set up frameworks for new projects.

Inventive Principle:
Principle #26Copying

3Productivity

If test automation is performed concurrently with software development in agile projects, then the productivity is improved, but the reliability of testing is compromised due to unavailable software objects

Engineering Contradiction:
Improveconcurrent development and testingVSAvoidtesting reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces an intermediary layer (mock objects, stubs, or virtualized interfaces) that allows test automation to interact with software components even when the actual software objects are not yet available. This intermediary layer enables testing to proceed concurrently with development by simulating the behavior of unavailable components, while maintaining testing reliability through controlled and predictable interactions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent enables preliminary testing of software components before they are fully integrated or available. By allowing tests to be written and executed against placeholders or early versions of software objects, the system achieves concurrent development and testing without compromising reliability, as the actual software objects are validated when they become available.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If integration testing is performed simultaneously with software development, then the productivity is improved, but the device complexity increases due to incomplete module availability

Engineering Contradiction:
Improvesimultaneous integration and developmentVSAvoidtesting framework complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the integration testing process into multiple phases and levels, allowing different modules to be tested at different stages of their development. This segmentation enables simultaneous integration testing and development by testing individual modules or subsystems independently before full system integration, reducing the complexity of managing incomplete module availability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10223240B2Methods and systems for automating regression testing of a software application
Publication Date: 2019.03.05 WIPRO LTD
  • US10223240B2 patent drawing
  • US10223240B2 patent drawing
  • US10223240B2 patent drawing

AI summary

In one embodiment, a method for automating regression testing of a software application is disclosed. The method includes receiving, by a test automation system, input data associated with the regression testing of the software application and predicting, by the test automation system, a test automation framework for execution of a regression test suite by analyzing the input data. Further, the method includes obtaining, by the test automation system, test scenarios from execution of historical regression test suites upon predicting the test automation framework and identifying, by the test automation system, availability of devices for executing each test scenario based on one or more device parameters. Further, the method includes transmitting, by the test automation system, information corresponding to the test scenarios to the identified devices based on the availability to automate the regression testing of the software application.