IP Library Granted Patent US 12,443,513
Granted Patent B2
US 12,443,513 · App. 18/229,247 · Granted Oct 14, 2025

Generating test cases for software testing using machine learning techniques

Inventors: Abhishek Mishra (Bangalore, IN); Vivek Bhargava (Bangalore, IN); Kumar Saurav (Bangalore, IN)
Assignee: Dell Products L.P.
G06F11/3684G06N20/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,443,513
App. No.
18/229,247
Granted
Oct 14, 2025
Kind
B2
Abstract

Methods, apparatus, and processor-readable storage media for generating test cases for software testing using machine learning techniques are provided herein. An example computer-implemented method includes obtaining user input data associated with at least one software application; identifying one or more predetermined types of information, including one or more of topic-related information and entity-related information, from at least a portion of the user input data using at least a first set of one or more machine learning techniques; generating one or more test cases for testing at least a portion of the at least one software application by processing at least a portion of the identified information using at least a second set of one or more machine learning techniques; and performing one or more automated actions based at least in part on at least one of the one or more generated test cases.

Claims (38)

1. A computer-implemented method comprising:

obtaining user input data associated with at least one software application;

identifying one or more predetermined types of information, comprising one or more of topic-related information and entity-related information, from at least a portion of the user input data using at least a first set of machine learning techniques;

generating one or more test cases for testing at least a portion of the at least one software application by processing at least a portion of the identified information using at least a second set of machine learning techniques, wherein the first set of machine learning techniques and the second set of machine learning techniques collectively comprise (i) at least one machine learning technique included in both the first set and the second set, and (ii) at least one machine learning technique not included in both the first set and the second set; and

performing one or more automated actions based at least in part on at least one of the one or more generated test cases, wherein performing one or more automated actions comprises automatically executing at least one of the one or more generated test cases in connection with testing the at least one software application;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

2. The computer-implemented method of claim 1 , wherein identifying one or more predetermined types of information from at least a portion of the user input data comprises classifying, using the at least a first set of machine learning techniques, one or more portions of the user input data into one or more predetermined categories based at least in part on one or more of subject matter associated with the at least one software application and functionality associated with the at least one software application.

3. The computer-implemented method of claim 2 , wherein identifying one or more predetermined types of information from at least a portion of the user input data comprises parsing, using the at least a first set of machine learning techniques, at least one of entity-related information and one or more topic-related information from the one or more classified portions of the user input data.

4. The computer-implemented method of claim 2 , wherein identifying one or more predetermined types of information from at least a portion of the user input data comprises parsing, using the at least a first set of machine learning techniques, the one or more classified portions of the user input data into at least one noun phrase and at least one verb phrase.

5. The computer-implemented method of claim 4 , wherein identifying one or more predetermined types of information from at least a portion of the user input data comprises performing, in connection with the at least one noun phrase and the at least one verb phrase, at least one of one or more topic-based pattern discovery techniques, one or more entity-based pattern discovery techniques, and one or more sentiment-based pattern discovery techniques.

6. The computer-implemented method of claim 1 , wherein generating one or more test cases comprises processing at least a portion of the identified information using at least one natural language processing model in connection with one or more implementation scenarios associated with the at least one software application.

7. The computer-implemented method of claim 1 , wherein obtaining user input data associated with at least one software application comprises obtaining at least one description, from a perspective of at least one end user, of at least a portion of the at least one software application.

8. The computer-implemented method of claim 1 , wherein obtaining user input data associated with at least one software application comprises obtaining at least one set of one or more conditions that the at least one software application must meet to be accepted by at least one end user.

9. The computer-implemented method of claim 1 , wherein performing one or more automated actions comprises automatically training at least one of the first set of machine learning techniques and the second set of machine learning techniques using feedback related to the at least one of the one or more generated test cases.

10. The computer-implemented method of claim 1 , wherein performing one or more automated actions comprises:

labeling at least a portion of the identified information; and

automatically training at least one of the first set of machine learning techniques and the second set of machine learning techniques using the labeled information.

11. The computer-implemented method of claim 1 , further comprising:

updating at least one database using at least one of the identified topic-related information and the identified entity-related information.

12. A non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device:

to obtain user input data associated with at least one software application;

to identify one or more predetermined types of information, comprising one or more of topic-related information and entity-related information, from at least a portion of the user input data using at least a first set of machine learning techniques;

to generate one or more test cases for testing at least a portion of the at least one software application by processing at least a portion of the identified information using at least a second set of machine learning techniques, wherein the first set of machine learning techniques and the second set of machine learning techniques collectively comprise (i) at least one machine learning technique included in both the first set and the second set, and (ii) at least one machine learning technique not included in both the first set and the second set; and

to perform one or more automated actions based at least in part on at least one of the one or more generated test cases, wherein performing one or more automated actions comprises automatically executing at least one of the one or more generated test cases in connection with testing the at least one software application.

13. The non-transitory processor-readable storage medium of claim 12 , wherein identifying one or more predetermined types of information from at least a portion of the user input data comprises classifying, using the at least a first set of machine learning techniques, one or more portions of the user input data into one or more predetermined categories based at least in part on one or more of subject matter associated with the at least one software application and functionality associated with the at least one software application.

14. The non-transitory processor-readable storage medium of claim 12 , wherein generating one or more test cases comprises processing at least a portion of the identified information using at least one natural language processing model in connection with one or more implementation scenarios associated with the at least one software application.

15. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured:

to obtain user input data associated with at least one software application;

to identify one or more predetermined types of information, comprising one or more of topic-related information and entity-related information, from at least a portion of the user input data using at least a first set of machine learning techniques;

to generate one or more test cases for testing at least a portion of the at least one software application by processing at least a portion of the identified information using at least a second set of machine learning techniques, wherein the first set of machine learning techniques and the second set of machine learning techniques collectively comprise (i) at least one machine learning technique included in both the first set and the second set, and (ii) at least one machine learning technique not included in both the first set and the second set; and

to perform one or more automated actions based at least in part on at least one of the one or more generated test cases, wherein performing one or more automated actions comprises automatically executing at least one of the one or more generated test cases in connection with testing the at least one software application.

16. The apparatus of claim 15 , wherein identifying one or more predetermined types of information from at least a portion of the user input data comprises classifying, using the at least a first set of machine learning techniques, one or more portions of the user input data into one or more predetermined categories based at least in part on one or more of subject matter associated with the at least one software application and functionality associated with the at least one software application.

17. The apparatus of claim 15 , wherein generating one or more test cases comprises processing at least a portion of the identified information using at least one natural language processing model in connection with one or more implementation scenarios associated with the at least one software application.

18. The apparatus of claim 15 , wherein obtaining user input data associated with at least one software application comprises obtaining at least one description, from a perspective of at least one end user, of at least a portion of the at least one software application.

19. The apparatus of claim 15 , wherein obtaining user input data associated with at least one software application comprises obtaining at least one set of one or more conditions that the at least one software application must meet to be accepted by at least one end user.

20. The apparatus of claim 15 , wherein performing one or more automated actions comprises automatically training at least one of the first set of machine learning techniques and the second set of machine learning techniques using feedback related to the at least one of the one or more generated test cases.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2023
From: MISHRA, ABHISHEK; BHARGAVA, VIVEK; SAURAV, KUMAR
To: DELL PRODUCTS L.P.
Reel/Frame 064463/0159 →
Continuity (1)
Related Publication 20250045189A1 · Feb 6, 2025
References Cited (19)
US 10162740B1 · Setty et al. · 2018 [cited by applicant]
US 10768893B2 · Misra · 2020 [cited by examiner]
US 10824549B1 · Desphande · 2020 [cited by examiner]
US 11226892B2 · Kochura et al. · 2022 [cited by applicant]
US 11720482B1 · Chauhan · 2023 [cited by examiner]
US 20180267887A1 · Dsouza · 2018 [cited by examiner]
US 20190196949A1 · Venkataraman · 2019 [cited by examiner]
US 20200082034A1 · Sholingar · 2020 [cited by examiner]
US 20200117583A1 · Durairaj · 2020 [cited by examiner]
US 20200118546A1 · Cimo · 2020 [cited by examiner]
US 20220035728A1 · Muras · 2022 [cited by examiner]
US 20220091968A1 · Kumar · 2022 [cited by examiner]
US 20220350733A1 · Vasavan · 2022 [cited by examiner]
US 20230251960A1 · Sharma · 2023 [cited by examiner]
US 20240303185A1 · Boué · 2024 [cited by examiner]
Durelli et al., “Machine Learning Applied to Software Testing: A Systematic Mapping Study,” IEEE, 2019. (Year: 2019). [cited by examiner]
Lam et al., “iDFlakies: A Framework for Detecting and Partially Classifying Flaky Tests,” IEEE, 2019. (Year: 2019). [cited by examiner]
Wei et al., “Automatically Tagging the “AAA” Pattern in Unit Test Cases Using Machine Learning Models,” IEEE, 2023. (Year: 2023). [cited by examiner]
Dwarakanath et al., Litmus: Generation of Test Cases from Functional Requirements in Natural Language, NLDB 2012, LNCS 7337, pp. 58-69, 2012. [cited by applicant]