Autonomous testing of web-based applications
AssigneeIntuit Inc.
InventorRaj Vasikarla
Life of this patent
Estimating the term…
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.
Claims20
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.
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.
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.
Dependencies are inferred from the claim text.