IP Library Granted Patent US 10,657,036
Granted Patent B2
US 10,657,036 · App. 16/068,782 · Granted May 19, 2020

Determining visual testing coverages

Inventors: Olga Kogan (Yehud, IL); Ilan Shufer (Yehud, IL); Amit Levin (Yehud, IL)
Assignee: MICRO FOCUS LLC
G06F11/3688G06F3/013G06F3/0487G06F11/3664G06F11/3676G06T7/20
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,657,036
App. No.
16/068,782
Granted
May 19, 2020
Kind
B2
Abstract

Example implementations relate to determining visual testing coverages. Some implementations may include a principal application screen identification engine to identify, based on an image processing analysis of a set of screenshots of an application under test, principal application screens that represent a set of test executions of the application under test. Some implementations may also include a user interface element identification engine to identify user interface elements in the principal application screens. Some implementations may also include a visual testing coverage engine to automatically identify, based on an analysis of gaze data and the user interface elements, a visual testing coverage of the application under test.

Claims (47)

1. A system comprising:

a processor; and

a memory to store instructions that, when executed by the processor, cause the processor to:

identify, based on an image processing analysis of a set of screenshots of an application under test, principal application screens that represent a set of test executions of the application under test;

identify user interface elements in the principal application screens;

map gaze points represented by gaze data to an area corresponding to a given user interface element of the user interface elements;

determine the number of the gaze points;

determine a time of fixation associated with the area based on the gaze data; and

automatically identify, based on an analysis of the gaze data and the user interface elements, a visual testing coverage of the application under test, wherein automatically identifying the visual testing coverage comprises:

comparing the number of the gaze points to a number threshold; and

identifying the area as being covered or not covered based on a result of the comparison and the time of fixation.

2. The system of claim 1 , wherein the instructions, when executed by the processor, further cause the processor to identify the principal application screens by comparing each screenshot in the set of screenshots to each other to identify a subset of screenshots, the subset of screenshots being identified based on actions occurring during the set of test executions.

3. The system of claim 2 , wherein comparing each screenshot in the set of screenshots to each other to identify the subset of screenshots includes:

determining a degree of change between consecutive pairs of screenshots in the set of screenshots; and

assigning, when the degree of change of a consecutive pair of the consecutive pairs exceeds a subset threshold, a last in time screenshot of the consecutive pair to the subset of screenshots.

4. The system of claim 2 , wherein the instructions, when executed by the processor, further cause the processor:

compare each screenshot in the subset of screenshots to other screenshots in the subset of screenshots to identify a difference between each pair of screenshots in the subset of screenshots; and

in response to the difference between a particular pair of screenshots in the subset of screenshots being below a same application screen threshold, assign the particular pair of screenshots as corresponding to a same application screen.

5. The system of claim 4 , wherein the comparison of each screenshot in the subset of screenshots is based on assigning greater weights to particular areas of each screenshot in the subset of screenshots.

6. The system of claim 4 , wherein the instructions, when executed by the processor, further cause the processor to select a screenshot of the particular pair of screenshots as representing the same application screen in response to the selected screenshot being later in time as compared to the other screenshot of the particular pair of screenshots.

7. The system of claim 1 , wherein the instructions, when executed by the processor, further cause the processor to:

identify the principal application screens by causing a periodic capture of images from display devices that are displaying a test execution in the set of test executions.

8. The system of claim 7 , wherein the instructions, when executed by the processor, further cause the processor to:

access input data captured during the test execution; and

identify, based on an analysis of the input data and the gaze data, a total testing coverage of the principal application screens.

9. The system of claim 1 , wherein the instructions, when executed by the processor, further cause the processor to identify the user interface elements based on an analysis of each screenshot in the set of screenshots.

10. The system of claim 1 , wherein the instructions, when executed by the processor, further cause the processor to:

generate a visual testing coverage report of the visual testing coverage, the visual testing coverage report including a visualization of the gaze data applied to the principal application screens and an indication of whether the user interface elements are covered or not covered.

11. A method comprising:

determining, using a visual testing coverage device, principal application screens in a set of screenshots of an application under test;

accessing test execution data associated with the set of screenshots;

determining, using the visual testing coverage device, user interface elements in the principal application screens;

mapping, using the visual testing coverage device, gaze points represented by gaze data to an area corresponding to a particular user interface element of the user interface elements based on gaze point coordinates of the test execution data and coordinates of the particular user interface element;

determining, using the visual testing coverage device, the number of the gaze points;

determining, using the visual testing coverage device, a time of fixation associated with the area based on the gaze data; and

determining, using the visual testing coverage device, whether the particular user interface element is covered visually, wherein determining whether the particular user interface element is covered visually comprises:

comparing the number of the gaze points to a number threshold; and

identifying the particular user interface element as being covered or not covered visually based on a result of the comparing of the number to the number threshold and the time of fixation.

12. The method of claim 11 , wherein the test execution data includes the gaze data, input device data, automation data, or a combination of the gaze data, the input device data, and the automation data.

13. A non-transitory machine-readable storage medium including instructions which, when executed by a processor, cause the processor to:

access data representing a set of screenshots of an application under test;

access gaze data captured by a gaze capture device and corresponding with the set of screenshots;

transmit the data representing the set of screenshots and the gaze data to a visual testing coverage device;

receive a visual testing coverage of the application under test, the visual testing coverage being based on a mapping of gaze points represented by the gaze data to an area corresponding to a given user interface element of user interface elements in principal application screens in the set of screenshots, a comparison of the number of the gaze points to a number threshold, and a time of fixation associated with the area; and

generate data to display the visual testing coverage as a visual testing coverage report.

14. The non-transitory machine-readable storage medium of claim 13 , wherein:

the visual testing coverage report includes a display of the principal application screens, the gaze data superimposed on the principal application screens, and an indication of whether each user interface element of the user interface elements has been identified as covered or not covered.

Assignments (7)
RELEASE OF SECURITY INTEREST REEL/FRAME 052295/0041 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062625/0754 →
RELEASE OF SECURITY INTEREST REEL/FRAME 052294/0522 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062624/0449 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052295/0041 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052294/0522 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2018
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 047230/0367 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2018
From: KOGAN, OLGA; SHUFER, ILAN; LEVIN, AMIT
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 046860/0385 →
Continuity (1)
Related Publication 20190050323A1 · Feb 14, 2019