IP Library Granted Patent US 9,734,047
Granted Patent B2
US 9,734,047 · App. 14/811,514 · Granted Aug 15, 2017

Method and apparatus for an improved automated test of software with a graphical user interface

Inventor: Jonathan Gillaspie (Boulder, CO)
Assignee: TESTPLANT EUROPE LTD
G06F11/3692G06F11/3684G06F11/3688
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 9,734,047
App. No.
14/811,514
Granted
Aug 15, 2017
Kind
B2
Abstract

A method for performing an automated computer test. The automated test is configured to cause a test computer system to control a GUI of a system under test including one or more computer programs being executed upon a computer device. The automated computer test includes one or more verification steps configured to test whether one or more operations have been successfully completed by the system under test. The verification step(s) include monitoring at least a part of the GUI of the system under test to detect a change in the GUI within a predetermined time period, and determining that one or more operations have been completed successfully if a change in the GUI is detected within the predetermined time period. Thus, a verification test can be performed on a GUI even if the appearance of the GUI after the successful completion of the test is not known in advance.

Claims (48)

1. A method for performing an automated computer test, the automated test being configured, when executed, to cause a test computer system to control a graphical user interface of a system under test comprising one or more computer programs being executed upon a computer device, wherein the automated computer test comprises one or more verification steps configured to test whether one or more operations have been successfully completed by the system under test, the verification step comprising:

a) monitoring at least a part of the graphical user interface of the system under test to detect a change in the graphical user interface within a predetermined time period; and

b) determining that one or more operations have been completed successfully if a change in the graphical user interface is detected within the predetermined time period, wherein the method further comprises the step of:

c) performing further operations and/or verification steps on the system under test if required.

2. The method according to claim 1 , wherein step a) further comprises:

defining one or more sections of the graphical user interface; and

monitoring only the or each predefined section for changes.

3. The method according to claim 2 , wherein the predefined section is selected to correspond to a window, icon or other known element on the graphical user interface.

4. The method according to claim 2 , wherein the predefined section is rectangular.

5. The method according to claim 2 , wherein the location and/or size of the predefined section is defined relative to a known graphical user interface element.

6. A method according to claim 2 , wherein the predefined section has an area which is 50% or less of the total area of the graphical user interface of the system under test.

7. The method according to claim 2 , wherein the predefined section has an area which is 10% or less of the total area of the graphical user interface of the system under test.

8. The method according to claim 2 , wherein the predefined section has an area which is 1% or less of the total area of the graphical user interface of the system under test.

9. The method according to claim 1 , wherein the predetermined time period is 5 minutes or less.

10. The method according to claim 9 , wherein the predetermined time period is 1 minute or less.

11. The method according to claim 10 , wherein the predetermined time period is 1 second or less.

12. The method according to claim 1 , wherein a change in the graphical user interface comprises a change in the graphical and/or software configuration of the graphical user interface.

13. The method according to claim 1 , wherein said one or more operations may comprise one or more operations performed on the system under test or on a further system under test in communication with the system under test.

14. The method according to claim 1 , wherein, if a change in the graphical user interface is not detected within the predetermined time period, the method comprises the steps of:

determining that the verification step has failed.

15. The method according to claim 1 , wherein, prior to step a), the automated test further comprises the step of:

executing an operation on the graphical user interface of the system under test, wherein the change detected in step b) is a change resulting from the execution of the operation.

16. The method according to claim 15 , wherein the predetermined time period is determined from the time the operation was executed on the graphical user interface.

17. The method according to claim 1 , wherein said one or more operations comprise one or more of the following commands: a selection of an object, image, icon, button and/or other user interface item on the graphical user interface; the selection of a dialog box; the selection of a menu item; the opening of window; the selection of an executable object; a request or instruction to start a program or application; a text-based instruction; and/or an instruction to a further system under test to communicate with the system under test.

18. The method according to claim 1 , wherein the automated computer test comprises a test description configured to be executed by a test program to cause the test computer system to perform the automated computer test.

19. The method according to claim 18 , wherein the test description comprises the one or more verification steps and/or one or more steps configured to execute the one or more operations.

20. A method for performing an automated computer test, the automated test being configured, when executed, to cause a test computer system to control a graphical user interface of a system under test comprising one or more computer programs being executed upon a computer device, wherein the method comprises the steps of:

a) executing an operation on the graphical user interface of the system under test;

b) monitoring at least a part of the graphical user interface to detect a change in the graphical user interface resulting from the operation on the graphical user interface, wherein, if a change is detected, the method further comprises the steps of:

c) receiving an image of the graphical user interface of the remote system under test; and

c) comparing the received image from the system under test with one or more existing reference images to identify an expected image.

21. The method according to claim 20 , wherein, in step b), a change in the graphical user interface comprises a change in the graphical and/or software configuration of the graphical user interface.

22. The method according to claim 20 , wherein the operation on the graphical user interface of the system under test comprises one or more of: a selection of an object, image, icon, button and/or other user interface item on the graphical user interface; the selection of a dialog box; the selection of a menu item; the opening of window; the selection of an executable object; a request or instruction to start a program or application; a text-based instruction; and/or an instruction to a further system under test to communicate with the system under test.

23. The method according to claim 20 , wherein, in step b), if a change is detected, the method further comprises, prior to step c):

waiting for a predetermined time period.

24. The method according to claim 20 , wherein the automated computer test comprises a test description configured to be executed by a test program to cause the test computer system to perform the automated computer test.

25. The method according to claim 24 , wherein the test description comprises an executable instruction to carry out step a).

26. A non-transitory computer readable medium containing instructions that, when executed by a processor, cause the processor to perform a method for performing an automated computer test, the automated test being configured, when executed, to cause a test computer system to control a graphical user interface of a system under test comprising one or more computer programs being executed upon a computer device, wherein the automated computer test comprises one or more verification steps configured to test whether one or more operations have been successfully completed by the system under test, the or each verification step comprising:

a) monitoring at least a part of the graphical user interface of the system under test to detect a change in the graphical user interface within a predetermined time period; and

b) determining that one or more operations have been completed successfully if a change in the graphical user interface is detected within the predetermined time period, wherein the method further comprises the step of:

c) performing further operations and/or verification steps on the system under test if required.

27. A computer system comprising:

a processing device;

a storage device; and

a non-transitory computer readable medium containing instructions that, when executed by the processing device, cause the processing device to perform a method for performing an automated computer test, the automated test being configured, when executed, to cause a test computer system to control a graphical user interface of a system under test comprising one or more computer programs being executed upon a computer device, wherein the automated computer test comprises one or more verification steps configured to test whether one or more operations have been successfully completed by the system under test, the or each verification step comprising:

monitoring at least a part of the graphical user interface of the system under test to detect a change in the graphical user interface within a predetermined time period; and

determining that one or more operations have been completed successfully if a change in the graphical user interface is detected within the predetermined time period, wherein the method further comprises the step of:

performing further operations and/or verification steps on the system under test if required.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2021
From: KEYSIGHT TECHNOLOGIES UK LIMITED
To: EGGPLANT LIMITED
Reel/Frame 055108/0484 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2021
From: EGGPLANT LIMITED
To: KEYSIGHT TECHNOLOGIES UK LIMITED
Reel/Frame 054847/0455 →
RELEASE OF SECURITY INTEREST Recorded Dec 18, 2020
From: SILICON VALLEY BANK
To: EGGPLANT LIMITED (F/K/A TESTPLANT EUROPE LIMITED)
Reel/Frame 054688/0627 →
CHANGE OF NAME Recorded Aug 7, 2020
From: TESTPLANT EUROPE LIMITED
To: EGGPLANT LIMITED
Reel/Frame 053435/0274 →
SECURITY INTEREST Recorded Jun 28, 2018
From: TESTPLANT EUROPE LIMITED
To: SILICON VALLEY BANK
Reel/Frame 046231/0968 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: GILLASPIE, JONATHAN
To: TESTPLANT EUROPE LIMITED
Reel/Frame 042795/0645 →
Continuity (1)
Related Publication 20170031808A1 · Feb 2, 2017