IP Library Granted Patent US 10,318,122
Granted Patent B2
US 10,318,122 · App. 14/761,583 · Granted Jun 11, 2019

Determining event and input coverage metrics for a graphical user interface control instance

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,318,122
App. No.
14/761,583
Granted
Jun 11, 2019
Kind
B2
Abstract

Examples disclosed herein relate to determining event and input coverage metrics for a graphical user interface (GUI) control instance. Examples include accessing event and input occurrence data identifying interactions performed on a GUI of an application, determining an event coverage metric for the given GUI control instance based on the event occurrence data, and determining an input coverage metric for the given GUI control instance based on the input occurrence data.

Claims (59)

1. A non-transitory machine-readable storage medium encoded with instructions executable by a processing resource of a computing device to:

access event and input occurrence data identifying interactions performed on a graphical user interface (GUI) of an application during testing of the GUI, the GUI comprising a given GUI control instance of a plurality of GUI control instances;

implement a testing tool including a testing tool user interface, the testing tool user interface including filtering controls to specify a target event type for the given GUI control instance, wherein the given GUI control instance is of a given GUI control type;

receive an indication of a target event type specified via the testing tool user interface;

associate the specified target event type with the given GUI control type;

determine an event coverage metric for the given GUI control instance based on the event occurrence data, the specified target event type, and the given GUI control type, wherein the event coverage metric represents a proportion of one or more target event types that were invoked for the given GUI control instance as part of the testing, and wherein the one or more target event types includes the specified target event type; and

determine an input coverage metric for the given GUI control instance based on the input occurrence data, wherein the input coverage metric represents a proportion of data values that were input to the given GUI control instance as part of the testing, and further wherein the instructions to determine the input coverage metric comprise instructions to determine a free input coverage metric for each free input of the given GUI control instance, wherein each free input coverage metric represents, for a respective free input GUI control instance associated with valid and invalid data values, a proportion of the valid and invalid data values that were input to the respective free input GUI control instance as part of the testing.

2. The storage medium of claim 1 , wherein

the given GUI control instance is associated with the data values.

3. The storage medium of claim 1 , wherein the instructions to determine the input coverage metric comprise instructions to:

determine an input selection coverage metric for each input selection GUI control instance of the plurality of GUI control instances;

wherein each input selection coverage metric represents, for a respective input selection GUI control instance associated with a set of selectable data values, a proportion of the data values that were input to the respective input selection GUI control instance as part of the testing.

4. The storage medium of claim 3 , wherein the input coverage metric for the given GUI control instance is one of an input selection coverage metric and a free input coverage metric.

5. The storage medium of claim 4 , wherein the instructions to determine the event coverage metric comprise instructions to:

determine one or more target event types associated with each of the plurality of GUI control instances of a given control type; and

determine a respective event coverage metric for each of the plurality of GUI control instances;

wherein, for each GUI control instance of the given control type, the determined event coverage metric represents a proportion of the one or more target event types associated with the GUI control instance that were invoked for the GUI control instance as part of the testing.

6. A system comprising:

a processor; and

a non-transitory computer readable medium storing machine readable instructions, wherein the processor executes the machine readable instructions to:

access event and input occurrence data identifying at least one interaction performed on a graphical user interface (GUI) of an application, the GUI comprising a given GUI control instance of a plurality of GUI control instances associated with a plurality of data values;

implement a testing tool including a testing tool user interface, the testing tool user interface including filtering controls to specify a target event type for the given GUI control instance, wherein the given GUI control instance is of a given GUI control type;

receive an indication of a target event type specified via the testing tool user interface;

associate the specified target event type with the given GUI control type;

determine, based on the event occurrence data, the specified target event type, and the given GUI control type, an event coverage metric for the given GUI control instance, wherein the event coverage metric represents a proportion of one or more target event types that were invoked for the given GUI control instance as part of the at least one interaction, and wherein the one or more target event types includes the specified target event type;

determine, based on the input occurrence data, an input coverage metric for the given GUI control instance, the input coverage metric representing a proportion of the data values that were input to the given GUI control instance as part of the at least one interaction, and further wherein the instructions to determine the input coverage metric comprise instructions to determine a free input coverage metric for each free input of the given GUI control instance, wherein each free input coverage metric represents, for a respective free input GUI control instance associated with valid and invalid data values, a proportion of the valid and invalid data values that were input to the respective free input GUI control instance as part of the at least one interaction; and

output a report indicating the event coverage metric and the input coverage metric for the given GUI control instance.

7. The system of claim 6 , wherein the processor executes the machine readable instructions to:

record the event occurrence data and the input occurrence data associated with the at least one interaction performed on the GUI.

8. The system of claim 6 , wherein:

the GUI includes a first control interface comprising a first plurality of GUI control instances, including the given GUI control instance; and

the processor executes the machine readable instructions to determine a respective event coverage metric for each of the GUI control instances of the first control interface.

9. The system of claim 8 , wherein the processor executes the machine readable instructions to:

calculate, based on the event and input occurrence data, a first control interface coverage value representing cumulative event coverage and input coverage for the first control interface; and

determine a respective input coverage metric for at least one of the GUI control instances of the first control interface; and

wherein the report further indicates the first control interface coverage value and the event and input coverage metrics for the GUI control instances of the first control interface.

10. The system of claim 9 , wherein the processor executes the machine readable instructions to:

determine a respective event coverage metric for each of a second plurality of GUI control instances of a second control interface of the GUI;

determine a respective input coverage metric for at least one of the GUI control instances of the second control interface; and

calculate, based on the event and input occurrence data, a second control interface coverage value representing cumulative event coverage and input coverage for the second control interface.

11. The system of claim 10 , wherein the processor executes the machine readable instructions to:

calculate an application coverage value based on the event and input occurrence data associated with non-navigational GUI control instances of the GUI control instances of the first and second control interfaces, the application coverage value representing event coverage and input coverage for the GUI of the application;

wherein the report further indicates the event and input coverage metrics for the GUI control instances of the second control interface, the second control interface coverage value, and the application coverage value; and

wherein the at least one interaction comprise interactions performed on the GUI as part of a plurality of tests performed on the GUI.

12. A method comprising:

accessing testing data of a testing database, the testing data including event and input occurrence data associated with at least one test performed on a graphical user interface (GUI) of an application, the GUI having a control interface comprising a plurality of GUI control instances including a given GUI control instance;

implementing a testing tool including a testing tool user interface, the testing tool user interface including filtering controls to specify a target event type for the given GUI control instance, wherein the given GUI control instance is of a given GUI control type;

receiving an indication of a target event type specified via the testing tool user interface;

associating the specified target event type with the given GUI control type;

determining, based on the event occurrence data, the specified target event type, and the given GUI control type, an event coverage metric for each of the plurality of GUI control instances, including the given GUI control instance, wherein the event coverage metric for each of the plurality of GUI control instances represents a proportion of one or more target event types that were invoked for the given GUI control instance, and wherein the one or more target event types includes the specified target event type;

determining, with a processing resource of a computing device, a respective input coverage metric for at least the given GUI control instance based on the input occurrence data, wherein the respective input coverage metric represents a proportion of data values that were input to the given GUI control instance, and further wherein determining the input coverage metric includes determining a free input coverage metric for each free input of the given GUI control instance, wherein each free input coverage metric represents, for a respective free input GUI control instance associated with valid and invalid data values, a proportion of the valid and invalid data values that were input to the respective free input GUI control instance; and

calculating, based on the event and input occurrence data, a control interface coverage value representing cumulative event coverage and input coverage for the control interface.

13. The method of claim 12 , wherein the GUI comprises another control interface including another plurality of GUI control instances, the method further comprising:

determining, based on the event occurrence data, an event coverage metric for each of the GUI control instances of the other control interface;

determining, based on the input occurrence data, a respective input coverage metric for at least one of the GUI control instances of the other control interface; and

calculating, based on the event and input occurrence data, another control interface coverage value representing cumulative event coverage and input coverage for the other control interface.

14. The method of claim 13 , further comprising:

calculating an application coverage value based on data, of the event and input occurrence data, associated with non-navigational GUI control instances of the GUI control instances of each of the control interfaces, the application coverage value representing event coverage and input coverage for the GUI of the application; and

outputting a coverage report indicating the application coverage value, each of the calculated interface coverage values, and the event and input coverage metrics for the GUI control instances of each of the control interfaces.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 063546/0181) Recorded Jun 21, 2024
From: BARCLAYS BANK PLC
To: MICRO FOCUS LLC
Reel/Frame 067807/0076 →
SECURITY INTEREST Recorded Aug 30, 2023
From: MICRO FOCUS LLC
To: THE BANK OF NEW YORK MELLON
Reel/Frame 064760/0862 →
SECURITY INTEREST Recorded May 4, 2023
From: MICRO FOCUS LLC
To: BARCLAYS BANK PLC
Reel/Frame 063546/0181 →
SECURITY INTEREST Recorded May 4, 2023
From: MICRO FOCUS LLC
To: BARCLAYS BANK PLC
Reel/Frame 063546/0190 →
SECURITY INTEREST Recorded May 4, 2023
From: MICRO FOCUS LLC
To: BARCLAYS BANK PLC
Reel/Frame 063546/0230 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2015
From: LEDENEV, ALEXEI; SHUFER, IIAN; BURG, YARON
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 036227/0011 →