IP Library › Granted Patent US 10,963,372
Granted Patent B1
US 10,963,372 · App. 16/901,287 · Granted Mar 30, 2021

Autonomous self-healing test automation

Inventors: Chinmaya Ranjan Jena (Bangalore, IN); Sunder Ranganathan Nochilur (Karnataka, IN); Mahesh Venkataraman (Bangalore, IN); Michael A. Ljung (Chicago, IL); Jeffrey S. Wilkinson (Fishers, IN); Mallika Fernandes (Bangalore, IN); Chinmay Kumar Panda (Karnataka, IN); Akash Murumkar (Karnataka, IN); Prashant Gurunathan (Tamil Nadu, IN); Swagatika Pati (Telangana, IN)
Assignee: Accenture Global Solutions Limited
G06F11/3688G06F8/38G06F11/362G06F11/3676G06F11/3684G06F11/3692G06F8/34G06F8/35G06F9/451G06F9/455G06F9/485G06F11/34G06F11/36
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,963,372
App. No.
16/901,287
Granted
Mar 30, 2021
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer-storage media, for performing autonomous self-healing of test scripts. One example process includes the actions of recording data that reflects user interactions with multiple user interface objects of a first user interface, and, for each interaction, generating a natural language statement that reflects an intent of the interaction with an associated user interface object. The process also includes storing the natural language statements in a test script, autonomously self-healing the test script for execution on a second user interface, and executing the autonomously self-healed test script on a second user interface.

Claims (37)

1. A computer-implemented method comprising:

recording data that reflects user interactions with multiple user interface objects of a first user interface;

while recording the data that reflects the user interactions with the multiple user interface objects of the first user interface, and for each interaction with an associated user interface object of the first user interface that is included in the recorded data, automatically generating a natural language statement that reflects an intent of the interaction with an associated user interface object, then storing, for each user interaction, both (i) the natural language statement that was automatically generated for the interaction and (ii) data characterizing the user interaction, as an entry for the user interaction in a test script;

autonomously self-healing the test script for execution on a second user interface, comprising:

for an entry of the test script that is associated with a particular user interface object that has been updated in the second user interface, and upon determining that the data characterizing the user interaction that is stored in the entry has failed to identify a particular candidate user interface object of the second user interface from among two or more candidate user interface objects of the second user interface, selecting, from among the two or more candidate user interface objects of the second user interface, the particular candidate user interface object of the second user interface that is ascribed an action that best matches an action included in the natural language statement of the entry; and

executing the autonomously self-healed test script on a second user interface, comprising executing the natural language statement associated with the particular user interface object in connection with the selected user interface object of the second user interface.

2. The method of claim 1 , wherein the first user interface comprises a legacy user interface associated with a particular function of a software application, and wherein the second user interface comprises an updated user interface associated with the particular function of the software application.

3. The method of claim 1 , wherein autonomously self-healing the test script comprises comparing the natural language statement that is stored in the test script with a natural language statement that is associated with a dynamic object by a custom library.

4. The method of claim 3 , wherein the dynamic object comprises an object that exists in the second user interface but not the first user interface.

5. The method of claim 3 , wherein the dynamic object comprises an object that exists in the second user interface and that replaces a corresponding object in the first user interface.

6. The method of claim 1 , comprising generating an execution interface while executing the autonomously self-healed test script, the execution interface identifying any interaction that was self-healed.

7. The method of claim 1 , wherein the execution interface comprises a prompt for receiving approval of any interaction that was autonomously self-healed.

8. A non-transitory, computer-readable medium storing one or more instructions executable by a computer processor to perform operations comprising:

recording data that reflects user interactions with multiple user interface objects of a first user interface;

while recording the data that reflects the user interactions with the multiple user interface objects of the first user interface, and for each interaction with an associated user interface object of the first user interface that is included in the recorded data, automatically generating a natural language statement that reflects an intent of the interaction with an associated user interface object, then storing, for each user interaction, both (i) the natural language statement that was automatically generated for the interaction and (ii) data characterizing the user interaction, as an entry for the user interaction in a test script;

autonomously self-healing the test script for execution on a second user interface, comprising:

for an entry of the test script that is associated with a particular user interface object that has been updated in the second user interface, and upon determining that the data characterizing the user interaction that is stored in the entry has failed to identify a particular candidate user interface object of the second user interface from among two or more candidate user interface objects of the second user interface, selecting, from among the two or more candidate user interface objects of the second user interface, the particular candidate user interface object of the second user interface that is ascribed an action that best matches an action included in the natural language statement of the entry; and

executing the autonomously self-healed test script on a second user interface, comprising executing the natural language statement associated with the particular user interface object in connection with the selected user interface object of the second user interface.

9. The medium of claim 8 , wherein the first user interface comprises a legacy user interface associated with a particular function of a software application, and wherein the second user interface comprises an updated user interface associated with the particular function of the software application.

10. The medium of claim 8 , wherein autonomously self-healing the test script comprises comparing the natural language statement that is stored in the test script with a natural language statement that is associated with a dynamic object by a custom library.

11. The medium of claim 10 , wherein the dynamic object comprises an object that exists in the second user interface but not the first user interface.

12. The medium of claim 10 , wherein the dynamic object comprises an object that exists in the second user interface and that replaces a corresponding object in the first user interface.

13. The medium of claim 8 , wherein the operations comprise generating an execution interface while executing the autonomously self-healed test script, the execution interface identifying any interaction that was self-healed.

14. The medium of claim 8 , wherein the execution interface comprises a prompt for receiving approval of any interaction that was autonomously self-healed.

15. A system comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

recording data that reflects user interactions with multiple user interface objects of a first user interface;

while recording the data that reflects the user interactions with the multiple user interface objects of the first user interface, and for each interaction with an associated user interface object of the first user interface that is included in the recorded data, automatically generating a natural language statement that reflects an intent of the interaction with an associated user interface object, then storing, for each user interaction, both (i) the natural language statement that was automatically generated for the interaction and (ii) data characterizing the user interaction, as an entry for the user interaction in a test script;

autonomously self-healing the test script for execution on a second user interface, comprising:

for an entry of the test script that is associated with a particular user interface object that has been updated in the second user interface, and upon determining that the data characterizing the user interaction that is stored in the entry has failed to identify a particular candidate user interface object of the second user interface from among two or more candidate user interface objects of the second user interface, selecting, from among the two or more candidate user interface objects of the second user interface, the particular candidate user interface object of the second user interface whose natural language statement that is ascribed an action that best matches an action included in the natural language statement of the entry; and

executing the autonomously self-healed test script on a second user interface, comprising executing the natural language statement associated with the particular user interface object in connection with the selected user interface object of the second user interface.

16. The system of claim 15 , wherein the first user interface comprises a legacy user interface associated with a particular function of a software application, and wherein the second user interface comprises an updated user interface associated with the particular function of the software application.

17. The system of claim 15 , wherein autonomously self-healing the test script comprises comparing the natural language statement that is stored in the test script with a natural language statement that is associated with a dynamic object by a custom library.

18. The system of claim 17 , wherein the dynamic object comprises an object that exists in the second user interface but not the first user interface.

19. The system of claim 17 , wherein the dynamic object comprises an object that exists in the second user interface and that replaces a corresponding object in the first user interface.

20. The system of claim 15 , wherein the operations comprise generating an execution interface while executing the autonomously self-healed test script, the execution interface identifying any interaction that was self-healed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2020
From: NOCHILUR, SUNDER RANGANATHAN; JENA, CHINMAYA RANJAN; VENKATARAMAN, MAHESH; LJUNG, MICHAEL A.; WILKINSON, JEFFREY S.; FERNANDES, MALLIKA; PANDA, CHINMAY KUMAR; MURUMKAR, AKASH; GURUNATHAN, PRASHANT; PATI, SWAGATIKA
To: ACCENTURE GLOBAL SOLUTIONS LIMITED
Reel/Frame 053200/0251 →
Priority Claims (1)
IN 202011012131 · Mar 20, 2020 · national
Cited By (2)
US 12,326,802 US 12,664,228