IP Library Granted Patent US 9,753,840
Granted Patent B2
US 9,753,840 · App. 14/689,645 · Granted Sep 5, 2017

User interface test coverage

Inventor: Konstantinos Giannelos (Athens, GR)
Assignee: Devfactory FZ-LLC
G06F11/3676G06F3/0484
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,753,840
App. No.
14/689,645
Granted
Sep 5, 2017
Kind
B2
Abstract

A user interface (“UI”) code coverage system and process determines the coverage by test code of UI Components in a computer program. In other words, the UI code coverage system and process determine whether the test code tests a UI Component. In at least one embodiment, the UI code coverage system and process identify the particular UI Components tested by the test code, provide coverage (i.e. tested) statistics, provide a visualization of the UI Component tested, provide a visualization of tested and not-tested (also referred to respectively as “covered” and “not covered”) UI Components of a UI Screen.

Claims (59)

1. A method comprising:

performing by a computer system programmed with code stored in a memory and executing by a processor of the computer system which transforms the computer system into a machine to determine the coverage by test code of user interface (UI) components in a computer program:

(a) locating a UI object in one of the UI components by following a mapped objects hierarchical path in a UI map from a root UI object down to the UI object being located;

(b) linking the UI object located with an image showing how the UI object in the UI component looks like when the UI of the computer program is actually visually displayed;

(c) storing the link, an identifier (ID) of the UI object located, and screen location coordinate information of the UI object located in a UI component name mapping database;

(d) repeating (a)-(c) for the UI objects in the UI map;

(e) extracting from the test code, ID's of the UI components that are being accessed by the test code;

(f) determining the coverage by the test code of the UI components by comparing a number of UI components in the computer program relative to a number of UI components extracted from the test code; and

(g) generating a report of the coverage by the test code.

2. The method of claim 1 further comprising:

performing by the computer system programmed with the code stored in a memory and executing by the processor of the computer system:

determining if the computer program has changed;

determining if the test code has changed; and

when either the computer program or the test code has changed, performing elements (a)-(g).

3. The method of claim 1 wherein the performance of elements (a)-(g) is platform independent.

4. The method of claim 1 wherein determining the coverage by the test code of the UI components by comparing a number of UI components in the computer program relative to a number of UI components extracted from the test code comprises:

determining of the UI objects being accessed by the test code compared with a total number of UI Objects present in the computer program.

5. The method of claim 1 wherein elements (a)-(g) are performed without executing the computer program and without executing the test code.

6. A system comprising:

a processor of a computer system; and

a memory having code stored therein and executable by the processor to transform the computer system into a machine to determine the coverage by test code of user interface (UI) components in a computer program, wherein when executed the code causes the computer system to:

(a) locate a UI object in one of the UI components by following a mapped objects hierarchical path in a UI map from a root UI object down to the UI object being located;

(b) link the UI object located with an image showing how the UI object in the UI component looks like when the UI of the computer program is actually visually displayed;

(c) store the link, an identifier (ID) of the UI object located, and screen location coordinate information of the UI object located in a UI component name mapping database;

(d) repeat (a)-(c) for the UI objects in the UI map;

(e) extract from the test code, ID's of the UI components that are being accessed by the test code;

(f) determine the coverage by the test code of the UI components by comparing a number of UI components in the computer program relative to a number of UI components extracted from the test code; and

(g) generate a report of the coverage by the test code.

7. The system of claim 6 wherein the memory further includes code stored therein and executable by the processor to cause the computer system to:

determine if the computer program has changed;

determine if the test code has changed; and

when either the computer program or the test code has changed, perform elements elements (a)-(g).

8. The system of claim 6 wherein the performance of elements (a)-(g) is platform independent.

9. The system of claim 6 wherein to determine the coverage by the test code of the UI components by comparing a number of UI components in the computer program relative to a number of UI components extracted from the test code comprises:

to determine of the UI objects being accessed by the test code compared with a total number of UI Objects present in the computer program.

10. The system of claim 6 wherein the elements (a)-(g) are performed without executing the computer program and without executing the test code.

11. A non-transitory, computer readable medium comprising system comprising code stored therein and executable by a processor of a computer system which transforms the computer system into a machine to determine the coverage by test code of user interface (UI) components in a computer program, wherein the code is executable to:

a. locate a UI object in one of the UI components by following a mapped objects hierarchical path in a UI map from a root UI object down to the UI object being located;

b. link the UI object located with an image showing how the UI object in the UI component looks like when the UI of the computer program is actually visually displayed;

c. store the link, an identifier (ID) of the UI object located, and screen location coordinate information of the UI object located in a UI component name mapping database;

d. repeat (a)-(c) for the UI objects in the UI map;

e. extract from the test code, ID's of the UI components that are being accessed by the test code;

f. determine the coverage by the test code of the UI components by comparing a number of UI components in the computer program relative to a number of UI components extracted from the test code; and

g. generate a report of the coverage by the test code.

12. The computer readable medium of claim 11 wherein the computer readable medium further includes code stored therein and executable by the processor to cause the computer system to:

determine if the computer program has changed;

determine if the test code has changed; and

when either the computer program or the test code has changed, perform elements (a)-(g).

13. The computer readable medium of claim 11 wherein the performance of elements (a)-(f) is platform independent.

14. The computer readable medium of claim 11 wherein to determine the coverage by the test code of the UI components by comparing a number of UI components in the computer program relative to a number of UI components extracted from the test code comprises:

to determine of the UI objects being accessed by the test code compared with a total number of UI Objects present in the computer program.

15. The computer readable medium of claim 11 wherein the elements (a)-(g) are performed without executing the computer program and without executing the test code.

16. An apparatus to determine the coverage by test code of user interface (UI) components in a computer program, the apparatus comprising:

means for locating UI objects in one or more of the UI components by following a mapped objects hierarchical path in a UI map from a root UI object down to the UI object being located;

means for linking the UI objects located with an image showing how the UI objects in the UI components look like when the UI of the computer program is actually visually displayed;

means for storing the links, an identifiers (ID) of the UI object located, and screen location coordinate information of the UI object located in a UI component name mapping database;

means for extracting from the test code, ID's of the UI components that are being accessed by the test code;

means for determining the coverage by the test code of the UI components by comparing a number of UI components in the computer program relative to a number of UI components extracted from the test code; and

means for generating a report of the coverage by the test code.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2020
From: DEVFACTORY FZ-LLC
To: GTEAM FZ-LLC
Reel/Frame 051634/0970 →
CHANGE OF NAME Recorded Jan 27, 2020
From: GTEAM FZ-LLC
To: DEVFACTORY INNOVATIONS FZ-LLC
Reel/Frame 051713/0369 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME AND ADDRESS PREVIOUSLY RECORDED AT REEL: 036034 FRAME: 0601. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 14, 2017
From: GIANNELOS, KONSTANTINOS
To: DEVFACTORY FZ-LLC
Reel/Frame 043200/0111 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2015
From: GIANNELOS, KONSTANTINOS
To: DEV-FACTORY FZ-LLC
Reel/Frame 036034/0601 →
Continuity (2)
Provisional Application 61980845 · Apr 17, 2014
Related Publication 20150301926A1 · Oct 22, 2015