IP Library Granted Patent US 7,379,600
Granted Patent B2
US 7,379,600 · App. 10/767,299 · Granted May 27, 2008

Method and system for automatically determining differences in a user interface throughout a development cycle

Assignee: Microsoft Corporation
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 7,379,600
App. No.
10/767,299
Granted
May 27, 2008
Kind
B2
Abstract

A method and system for automatically determining the differences in a mobile device user interface throughout a development cycle. A test automation is run to exercise a target device's user interface. While the user interface is exercised, an extension is activated that takes snapshots of the user interface output at selected intervals of an automation execution. The snapshots are stored and uploaded to a server where snapshots of different automation executions are then compared on a pixel-by-pixel basis. The differences between snapshots are output in a visual format where the pixels that are different between snapshots are highlighted. The visual format of the differences between snapshots provides the user with a method to readily determine if errors exist in the user interface of the target device.

Claims (42)

1. A computer-implemented method for user interface testing, comprising:

taking a first snapshot of a user interface on a target device during a first automation execution;

providing a file that includes information regarding properties of the target device that corresponds to the first snapshot, wherein a snapshot key is produced from a selectable combination of the information included in the file;

taking a second snapshot of the user interface on the target device during a second automation execution;

comparing pixels of the first snapshot to corresponding pixels of the second snapshot; and

producing a visual output of the difference between the first snapshot and the second snapshot.

2. The computer-implemented method of claim 1 , further comprising storing the first snapshot and the second snapshot on the target device.

3. The computer-implemented method of claim 1 , further comprising storing a first bitmap file and a first extensible markup language file corresponding to the first snapshot and storing a second bitmap file and a second extensible markup language file corresponding to the second snapshot.

4. The computer-implemented method of claim 1 , further comprising uploading the first snapshot and the second snapshot to a server using an export tool.

5. The computer-implemented method of claim 4 , wherein the export tool is present on a host computer to which the target device and the server are in communication.

6. The computer-implemented method of claim 1 , further comprising an initial comparison of a property of the first snapshot to a corresponding property of the second snapshot, wherein the initial comparison provides a pass/fail variable.

7. The computer-implemented method of claim 1 , wherein the visual output of the difference between the first snapshot and the second snapshot includes a highlighted pixel for each pixel that is different between the first snapshot and the second snapshot.

8. The computer-implemented method of claim 1 , wherein a filename is produced from a selectable combination of the information included in the file, wherein the filename is associated with the first snapshot.

9. The computer-implemented method of claim 1 , further comprising calculating a cyclical redundancy check value based on the first snapshot.

10. A computer-readable medium that includes computer-executable instructions for providing automatically determining differences in a user interface throughout a development cycle, comprising:

taking a first snapshot of a user interface on a target device during a first automation execution;

storing a first bitmap file and a first extensible markup language file corresponding to the first snapshot;

taking a second snapshot of the user interface on the target device during a second automation execution;

storing a second bitmap file and a second extensible markup language file corresponding to the second snapshot;

comparing a property of the first snapshot to corresponding property of the second snapshot; and

producing an output of the difference between the first snapshot and the second snapshot.

11. The computer-readable medium of claim 10 , further comprising uploading the first bitmap file, first extensible markup language file, second bitmap file, and second extensible markup language file to a database on a server.

12. The computer-readable medium of claim 10 , wherein the comparison of the property of the first snapshot to the corresponding property of the second snapshot provides a pass/fail variable.

13. The computer-readable medium of claim 10 , wherein the output of the difference between the first snapshot and the second snapshot comprises a visual output with a highlighted pixel for each pixel that is different between the first snapshot and the second snapshot.

14. The computer-readable medium of claim 10 , wherein a snapshot key is produced from a selectable combination of information included in the extensible markup language file.

15. The computer-readable medium of claim 10 , wherein a filename associated with the first snapshot is produced from a selectable combination of information included in the extensible markup language file.

16. The computer-readable medium of claim 10 , wherein the property of the first snapshot is a first cyclical redundancy check value based on the first snapshot and the corresponding property of the second snapshot is a cyclical redundancy check value based on the second snapshot.

17. A system for providing automatically determining differences in a user interface throughout a development cycle, comprising:

a target user interface device that includes a first application that is configured to:

take a first snapshot of a user interface on a target device during a first automation execution,

take a second snapshot of the user interface on the target device during a second automation execution,

store the first snapshot and the second snapshot;

a host device that includes a second application that is configured to upload the first snapshot and the second snapshot; and

a server that includes a third application that is configured to:

receive the first snapshot and the second snapshot,

compare a property of the first snapshot to corresponding property of the second snapshot, wherein the property of the first snapshot is a first cyclical redundancy check value based on the first snapshot and the corresponding property of the second snapshot is a cyclical redundancy check value based on the second snapshot, and

produce an output of the difference between the first snapshot and the second snapshot.

18. The system of claim 17 , wherein the first application is further configured to store a first bitmap file and a first extensible markup language file corresponding to the first snapshot and storing a second bitmap file and a second extensible markup language file corresponding to the second snapshot.

19. The system of claim 17 , wherein the comparison of the property of the first snapshot to the corresponding property of the second snapshot provides a pass/fail variable.

20. The system of claim 17 , wherein the output of the difference between the first snapshot and the second snapshot comprises a visual output with a highlighted pixel for each pixel that is different between the first snapshot and the second snapshot.

21. The system of claim 17 , wherein the third application is further configured to provide a snapshot key from a selectable combination of information included in a file related to the first snapshot.

22. The system of claim 17 , wherein a filename associated with the first snapshot is produced from a selectable combination of information included in a file related to the first snapshot.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2004
From: DERKS, PATRICK JOSEPH; SERES, ANDREW; VEERAMACHANENI, JIDESH; KEYSER, GREGORY ALLEN
To: MICROSOFT CORPORATION
Reel/Frame 014946/0255 →
Continuity (1)
Related Publication 20050188357A1 · Aug 25, 2005