IP Library Granted Patent US 10,204,035
Granted Patent B1
US 10,204,035 · App. 16/054,294 · Granted Feb 12, 2019

Systems, methods and devices for AI-driven automatic test generation

Inventors: Kevin Surace (Sunnyvale, CA); Luis Carlos Lara Lopez (Sabanilla, CR)
Assignee: APPVANCE INC.
G06F11/3688G06F11/3664G06F11/3684G06F17/243G06F17/2705H04L67/22G06F3/04842H04L67/02
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 10,204,035
App. No.
16/054,294
Granted
Feb 12, 2019
Kind
B1
Abstract

A test script is generated in an automated fashion based on a master key file (and optionally, additionally based on user logs) in order to test a software application. The master key file may include one or more scripts of every (or nearly every) possible interaction (e.g., request, presentation, executed action, and so on) a user may have with the software application under test. Often times, the master key file captures each and every request that could be made from a client device to the software application under test executing at a server.

Claims (41)

1. A method, comprising:

generating, by a master key file generator, a master key file, wherein the master key file comprises each and every request that can be transmitted from a client device to a server on which a software application under test is executing;

receiving a user log, wherein the user log is generated by executing a recording software application which monitors server-side communication;

determining whether there is sufficient information in the user log to generate one or more Hypertext Transfer Protocol (HTTP)-level test scripts; and

if there is insufficient information in the user log, generating the one or more HTTP-level test scripts based on the user log and information extracted from the master key file.

2. The method of claim 1 , wherein the master key file is generated by recording user interactions with the software application under test by an HTTP recorder or proxy server.

3. The method of claim 1 , wherein the information extracted from the master key file includes one or more of a session identifier (ID) or a header.

4. The method of claim 1 , further comprising:

executing the one or more HTTP-level test scripts so as to test the software application under test.

5. The method of claim 1 , further comprising:

aggregating the one or more HTTP-level test scripts into a test scenario, wherein the test scenario further includes a data set for data driving the test scripts, and wherein the data set includes one or more of passwords, usernames, names, addresses and form data for entering into forms or other portions of the software application under test.

6. The method of claim 1 , further comprising:

auto-correlating the master key file, wherein auto-correlating the master key file comprises executing the master key file to determine whether one or more errors are included in the master key file.

7. The method of claim 5 , wherein the one or more errors includes the master key file lacking a session identifier (ID) or header that is expected by the server.

8. A method, comprising:

generating, by a master key file generator, a master key file, wherein the master key file comprises each and every request that can be transmitted from a client device to a server on which a software application under test is executing, and pairings between a user action and a server request that results from the user action;

receiving a user log, wherein the user log is generated by executing a recording software application which monitors server-side communication;

generating one or more Hypertext Transfer Protocol (HTTP)-level server requests based on the user log and information extracted from the master key file; and

mapping the one or more HTTP-level server requests into user level requests using the user action to server request pairings stored in the master key file, wherein the user level requests form one or more user experience (UX)-level test scripts.

9. The method of claim 8 , further comprising:

executing the one or more UX-level test scripts by an Internet browser or mobile device so as to test the software application under test.

10. The method of claim 8 , further comprising:

aggregating the one or more UX-level test scripts into a test scenario, wherein the test scenario further includes a data set for data driving the test scripts, and wherein the data set includes passwords, usernames, names, addresses, form data and drop down choices for entering into forms or other portions of the software application under test.

11. A method, comprising:

receiving a request that is to be transmitted to a server;

determining whether any errors are present in the request;

if errors are present in the request, mapping error information generated by an auto-correlation process to an auto-correlated master key file;

automatically correcting the errors in the request by parsing, mapping, and replacing dynamic values in the request based on the auto-correlated master key file; and

transmitting the corrected request to the server.

12. The method of claim 11 , wherein the error information comprises a missing session identifier that is expected by the server.

13. The method of claim 11 , wherein the error information comprises a missing header that is expected by the server.

14. The method of claim 11 , wherein the auto-correlated master key file comprises a map of responses from the server.

15. The method of claim 14 , wherein map of responses from the server comprises one or more of an indexed library of all header information, correlation information, or data enabled fields.

16. The method of claim 15 , wherein the indexed library represents a dictionary of how a correct request is made.

17. The method of claim 11 , wherein the request is part of a Hypertext Transfer Protocol (HTTP)-level test script.

18. A method, comprising:

generating, by a master key file generator, a master key file, wherein the master key file comprises each and every request that can be transmitted from a client device to a server on which a software application under test is executing;

determining that no user log is available, wherein the user log refers to a log that is generated by executing a recording software application which monitors server-side communication; and

generating one or more test scripts based on the master key file.

19. The method of claim 18 , wherein at least some of the test scripts do not reflect actual user flows.

20. The method of claim 18 , wherein at least some of the test scripts do reflect actual user flows.

Assignments (2)
SECURITY INTEREST Recorded Apr 5, 2024
From: APPVANCE INC.
To: PROSPEQ FUND LP
Reel/Frame 067016/0711 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2018
From: SURACE, KEVIN; LOPEZ, LUIS CARLOS LARA
To: APPVANCE INC.
Reel/Frame 046551/0873 →
Continuity (2)
Provisional Application 62559742 · Sep 18, 2017
Provisional Application 62542223 · Aug 7, 2017
Cited By (1)
US 12,353,317