Automated Test Case Generation for Software UI Coverage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing automation solutions for software testing require human intervention to generate and maintain test cases and are unable to determine the coverage of test cases across applications with multiple paths, leading to inefficiencies and potential errors.
Innovation Solution
A testing utility that generates and maintains test cases by interacting with the user interface (UI) of applications, identifying UI elements, entering scenario data, and calculating coverage, allowing for automated testing and maintenance of test cases without human input.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If simple automation scripting is employed to test software applications, then manual actions are reduced, but the system cannot generate additional test cases for multiple application paths and cannot determine test case coverage automatically
Solution Approach 1:
The system performs self-service by automatically generating test cases and determining coverage without human intervention. The automation framework analyzes application structure, generates appropriate test cases, executes them, and calculates coverage metrics autonomously, eliminating the need for manual test case creation and coverage analysis.
Solution Approach 2:
The system changes the parameter of automation from simple script execution to intelligent test case generation by introducing algorithms that analyze application structure, generate test cases based on coverage goals, and dynamically adjust testing parameters to achieve comprehensive coverage across multiple application paths.
2Reliability
If human testers manually create test cases for all application sections, then complete coverage is achieved, but the process becomes time consuming and expensive
Solution Approach 1:
The system performs preliminary action by automatically generating test cases before execution based on application structure analysis. This pre-generation of comprehensive test cases covering all application paths eliminates the need for time-consuming manual test case creation while ensuring complete coverage is achieved from the outset.
Solution Approach 2:
The system replaces the mechanical process of manual test case creation and coverage analysis with an automated computational system that uses algorithms to generate test cases and calculate coverage metrics, dramatically reducing the time required while maintaining or improving coverage quality.
3Device complexity
If a single test case is used to test an application, then the test execution is simple, but only the sections covered by that single test case are tested, leaving other paths untested
Solution Approach 1:
The system applies segmentation by breaking down the testing process into multiple test cases that each cover specific application paths. The automation framework divides the application into testable segments, generates appropriate test cases for each segment, and combines them to achieve comprehensive coverage while keeping individual test case management simple.
Solution Approach 2:
The system achieves universality by creating a multi-functional test case management system that automatically generates, manages, and executes multiple test cases across different application paths. This universal framework handles diverse testing scenarios through a single automated system, ensuring all application sections are covered without increasing operational complexity.
Data Source
AI summary
Certain aspects of the present disclosure provide techniques for automating testing of applications. One example method generally includes obtaining a user interface (UI) source from an application defining pages of the application and fields associated with UI elements of each page of the pages and receiving a selection of a scenario. The method further includes generating scenario data based on a section of test data associated with the selection of the scenario and executing a test using the scenario data. To execute the test, the method includes identifying, by a runner, a first UI element of a first page of the application, identifying, by the runner, a first element of the scenario data mapped to the first UI element and entering, by the runner, the first element of the scenario data into the first UI element.


