IP Library › Granted Patent US 10,613,971
Granted Patent B1
US 10,613,971 · App. 15/869,194 · Granted Apr 7, 2020

Autonomous testing of web-based applications

Inventor: Raj Vasikarla (Bangalore, IN)
Assignee: INTUIT INC.
G06F11/3692G06F11/3664G06F40/14G06F40/174
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,613,971
App. No.
15/869,194
Granted
Apr 7, 2020
Kind
B1
Abstract

Certain aspects of the present disclosure provide techniques for autonomously testing a web-based application. The techniques generally include an analysis module searching a page of the web-based application for one or more fillable form fields and identifying a fillable form field in the page. The analysis module determines a field type associated with the fillable form field, determines a field data format based on the field type of the fillable form field and generates a test data entry based on the field data format. The analysis module then enters the test data entry into the respective fillable form field and submits the test data entry to a server.

Claims (80)

1. A method for autonomously testing web-based applications, comprising:

receiving a request to execute a path through a web-based application comprising a set of pages, wherein the path includes all pages of the set of pages associated with a plug-in of the web-based application;

receiving a page of the set of pages from a server of the web-based application;

searching the page of the web-based application for one or more fillable form fields;

identifying a fillable form field in the page;

determining a field type associated with the fillable form field;

determining a field data format based on the field type of the fillable form field;

generating a first test data entry including at least one non-numeric text string based on the field data format and a nationality of a hypothetical user associated with a test case, wherein the first test data entry causes the web-based application to advance along the path when submitted to the server;

entering the first test data entry into the fillable form field;

submitting the page and the first test data entry to the server;

receiving, from the server, a next page of the set of pages wherein the next page is within the path through the web-based application; and

until a threshold confidence level that all paths in the web-based application have been traversed is reached;

generating a plurality of second test data entries, each of the plurality of second test data entries causing the web-based application to advance along a random path in the web-based application,

entering the plurality of second test data entries into the fillable form field,

submitting the page and each of the plurality of second test data entries to the server,

receiving, from the server, a subsequent page of the set of pages is the random path through the web-based application, and

determining that the threshold confidence level has been reached based on whether no new pages in the web-based application have been discovered for a threshold number of second test data entries.

2. The method of claim 1 , further comprising: determining an error associated with the identified fillable form field of the page.

3. The method of claim 2 , wherein determining an error associated with the fillable form field comprises: receiving an indication from the server of an error associated with the fillable form field of the page.

4. The method of claim 1 , further comprising:

after entering the first test data entry into the fillable form field, determining the fillable form field is associated with a dependent field;

determining a dependent field type associated with the dependent field;

determining a dependent data format based on the dependent field type of the dependent field;

generating a dependent test data entry based on the dependent data format; and

entering the dependent test data entry into the dependent field.

5. The method of claim 1 , wherein determining a field type associated with the fillable form field further comprises: identifying metadata associated with the fillable form field.

6. The method of claim 5 , wherein the metadata comprises a hypertext markup language (HTML) tag.

7. The method of claim 2 , further comprising: capturing an image of the page in response to determining the error.

8. The method of claim 2 , further comprising: capturing a video of the page in response to determining the error.

9. The method of claim 1 , wherein generating a test data entry based on the field data format further comprises concatenating a prefix to the test data entry, wherein the prefix is associated with an owner of the web-based application.

10. A system for autonomously testing web-based applications, comprising:

a memory including computer executable instructions; and

a processor configured to execute the computer executable instructions and cause the system to:

receiving a request to execute a path through a web-based application comprising a set of pages, wherein the path includes all pages of the set of pages associated with a plug-in of the web-based application;

receiving a page of the set of pages from a server of the web-based application;

searching the page of the web-based application for one or more fillable form fields;

identifying a fillable form field in the page;

determining a field type associated with the fillable form field;

determining a field data format based on the field type of the fillable form field;

generating a first test data entry including at least one non-numeric text string based on the field data format and a nationality of a hypothetical user associated with a test case, wherein the first test data entry causes the web-based application to advance along the path when submitted to the server;

entering the first test data entry into the fillable form field;

submitting the page and the first test data entry to the server;

receiving, from the server, a next page of the set of pages wherein the next page is within the path through the web-based application; and

until a threshold confidence level that all paths in the web-based application have been traversed is reached;

generating a plurality of second test data entries, each of the plurality of second test data entries causing the web-based application to advance along a random path in the web-based application,

entering the plurality of second test data entries into the fillable form field,

submitting the page and each of the plurality of second test data entries to the server,

receiving, from the server, a subsequent page of the set of pages is the random path through the web-based application, and

determining that the threshold confidence level has been reached based on whether no new pages in the web-based application have been discovered for a threshold number of second test data entries.

11. The system of claim 10 , the processor being further configured to cause the system to: determine an error associated with the identified fillable form field of the page.

12. The system of claim 10 , the processor being further configured to cause the system to: receive an indication from the server of an error associated with the fillable form field of the page.

13. The system of claim 10 , the processor being further configured to cause the system to:

following entering the first test data entry into the fillable form field, determine the fillable form field is associated with a dependent field;

determine a dependent field type associated with the dependent field;

determine a dependent data format based on the dependent field type of the dependent field;

generate a dependent test data entry based on the dependent data format; and

enter the dependent test data entry into the dependent field.

14. The system of claim 10 , wherein determining a field type associated with the fillable form field further comprises: identifying metadata associated with the fillable form field.

15. The system of claim 14 , wherein the metadata comprises a hypertext markup language (HTML) tag.

16. The system of claim 11 , the processor being further configured to cause the system to: capture an image of the page in response to determining the error.

17. The system of claim 11 , the processor being further configured to cause the system to: storing a video of the page in response to determining the error.

18. The system of claim 10 , wherein generating a test data entry based on the field data format further comprises concatenating a prefix to the test data entry, wherein the prefix is associated with an owner of the web-based application.

19. A non-transitory computer readable medium comprising instructions to be executed in a computer system, wherein the instructions when executed in the computer system perform a method for autonomously testing web-based applications, comprising:

receiving a request to execute a path through a web-based application comprising a set of pages, wherein the path includes all pages of the set of pages associated with a plug-in of the web-based application;

receiving a page of the set of pages from a server of the web-based application;

searching the page of the web-based application for one or more fillable form fields;

identifying a fillable form field in the page;

determining a field type associated with the fillable form field;

determining a field data format based on the field type of the fillable form field;

generating a first test data entry including at least one non-numeric text string based on the field data format and a nationality of a hypothetical user associated with a test case, wherein the first test data entry causes the web-based application to advance along the path when submitted to the server;

entering the first test data entry into the form field;

submitting the page and the first test data entry to the server;

receiving, from the server, a next page of the set of pages wherein the next page is within the path through the web-based application; and

until a threshold confidence level that all paths in the web-based application have been traversed to reached:

generating a plurality of second test data entries, each of the plurality of second test data entries causing the web-based application to advance along a random path in the web-based application,

entering the plurality of second test data entries into the fillable form field,

submitting the page and each of the plurality of second test data entries to the server,

receiving, from the server, a subsequent page of the set of pages is the random path through the web-based application, and

determining that the threshold confidence level has been reached based on whether no new pages in the web-based application have been discovered for a threshold number of second test data entries.

20. The computer readable medium of claim 19 , the method further comprising: determining an error associated with the identified fillable form field of the page.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2018
From: VASIKARLA, RAJ
To: INTUIT, INC.
Reel/Frame 044605/0499 →
Cited By (21)
US 12,190,330 US 12,204,564 US 12,216,794 US 12,259,882 US 12,265,896 US 12,277,232 US 12,288,233 US 12,299,065 US 12,346,242 US 12,353,405 US 12,381,915 US 12,411,758 US 12,412,140 US 12,536,329 US 12,591,828 US 12,609,938 US 12,641,108 US 12,688,324 US 12,694,044 US 12,718,167 US 12,748,738