IP Library Granted Patent US 12,572,452
Granted Patent B2
US 12,572,452 · App. 18/483,498 · Granted Mar 10, 2026

System and method for automated software testing

Inventor: Syed Hamid (Redmond, WA)
G06F11/3688G06F11/3684G06F11/3698G06N5/04G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,572,452
App. No.
18/483,498
Filed
Oct 9, 2023
Granted
Mar 10, 2026
Kind
B2
Examiner
VO, TED T
Art Unit
2191
USPC
717/125
Abstract

A system and method for automated software testing that uses machine learning algorithms to automatically generate and implement software testing based on an automated analysis of the software. In an embodiment, a mobile software application comprising one or more screens is processed through a trained machine learning algorithm to identify screens and objects, understand the operational flow of the application, define priorities and dependencies within the application, define validation tests, and automatically generate one or more testing scenarios for the application. The testing scenarios may then be fed to an automated execution module which installs the application on one or more physical or virtual devices and performs testing on the application installed on those devices according to the testing scenario.

Claims (25)

1 . A system for automated software testing, comprising:

a computing device comprising a memory and a processor;

a first machine learning algorithm operating on the computing device, the first machine learning algorithm configured to classify one or more screens of a software application;

a second machine learning algorithm operating on the computing device, the second machine learning algorithm configured to predict an operational flow of the software application based on the classification of the screens from the first machine learning algorithm and identification of operable objects on the screens from an automated test scenario generator; and

the automated test scenario generator comprising a first plurality of programming instructions stored in the memory which, when operating on the processor, cause the computing device to:

select or receive one or more validation tests for the software application;

identify one or more operable objects on the one or more screens of the software application;

generate a testing scenario for the software application, the testing scenario comprising a test script for application of the validation tests to the software application based on the classified screens, the identified operable objects, and the predicted operational flow.

2 . The system of claim 1 , wherein the first machine learning algorithm is an unsupervised learning algorithm.

3 . The system of claim 1 , wherein the second machine learning algorithm is a reinforced learning algorithm.

4 . The system of claim 1 , further comprising an automated execution module comprising a second plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to test the software application by executing the testing scenario on an installed copy of the software application.

5 . The system of claim 4 , further comprising a virtual machine operating on the computing device and wherein the software application is installed and tested on a virtual second computing device operating on the virtual machine.

6 . The system of claim 4 , further comprising a second computing device and wherein the software application is installed and tested on the second computing device.

7 . A method for automated software testing, comprising the steps of:

using a first machine learning algorithm operating on a computing device to classify one or more screens of a software application;

using a second machine learning algorithm operating on the computing device to predict an operational flow of the software application based on the classification of the screens from the first machine learning algorithm and identification of operable objects on the screens from an automated test scenario generator operating on the computing device; and

using the automated test scenario generator to:

select or receive one or more validation tests for the software application; and

identify one or more operable objects on the one or more screens of the software application;

generate a testing scenario for the software application, the testing scenario comprising a test script for application of the validation tests to the software application based on the classified screens, the identified operable objects, and the predicted operational flow.

8 . The method of claim 7 , wherein the first machine learning algorithm is an unsupervised learning algorithm.

9 . The method of claim 7 , wherein the second machine learning algorithm is a reinforced learning algorithm.

10 . The method of claim 7 , further comprising the step of using an automated execution module operating on the computing device to test the software application by executing the testing scenario on an installed copy of the software application.

11 . The method of claim 10 , further comprising the steps of installing the software application on a virtual second computing device operating on a virtual machine operating on the computing device and testing the software application on the virtual second computing device.

12 . The method of claim 10 , further comprising the steps of installing the software application on a second computing device and testing the software application on the second computing device.

Continuity (8)
Continuation In Part 17498644 · Oct 11, 2021
Continuation In Part 17387963 · Jul 28, 2021
Continuation In Part 17387963 · Jul 28, 2021
Continuation In Part 16590293 · Oct 1, 2019
Continuation In Part 15869013 · Jan 11, 2018
Provisional Application 63057480 · Jul 28, 2020
Provisional Application 62445200 · Jan 11, 2017
Related Publication 20240037020A1 · Feb 1, 2024
References Cited (10)
US 8978014B1 · Larsen et al. · 2015 [cited by applicant]
US 9430364B1 · Ryan et al. · 2016 [cited by applicant]
US 9858174B2 · Straub et al. · 2018 [cited by applicant]
US 9990110B1 · Lounibos et al. · 2018 [cited by applicant]
US 11934301B2 · Hamid · 2024 [cited by examiner]
Mulikita, “Mobile Application Testing”, 2012, University of Applied Sciences Cologne, Germany, 25 pages | (Year: 2012). [cited by examiner]
Alsing, “Mobile Object Detection using TensorFlow Lite and Transfer Learning”, 2018, KTH Royal Institute of Technology, Sweden, pp. i-viii, 1-67 (Year: 2018). [cited by examiner]
Sailthru, “3 Types of Machine Learning: Supervised, Unsupervised and Reinforcement Learning”, 2020, retrieved from https://www.sailthru.com/marketing-blog/ , 3 pages. (Year: 2020). [cited by examiner]
Gomez et al., “Mining Test Respositories for Automatic Detection of UI Performance Regressions in Andriod Apps”, 2016, Working Conference on Mining Software Repositories, pp. 13-24 (Year: 2016) found at https://dl.acm.o… [cited by applicant]
Graham Odds, “Contextual cues in user interface design”, 2010, retrieved from https://blog.scottlogic.com/2010/05/19/contextual-cues-in-ui-design.html, 5 pages (Year: 2010). [cited by applicant]