IP Library Granted Patent US 9,135,151
Granted Patent B2
US 9,135,151 · App. 14/030,480 · Granted Sep 15, 2015

Automatic verification by comparing user interface images

Inventors: George Betak (Palo Alto, CA); Mohammed Abualrob (Milpitas, CA)
Assignee: YAHOO! INC.
G06F11/3692G06F11/368G06F11/3664G06F11/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,135,151
App. No.
14/030,480
Granted
Sep 15, 2015
Kind
B2
Abstract

A method, apparatus and software related product (e.g., a computer readable memory) are presented for automatic testing of software products such as front-ends of computing devices. Various embodiments described herein can simplify the delivery and verification of software products and services across computing devices and screens by comparing user interface images using image analysis. For example, a screen buffer or visual representation of a new version of a software application can be compared with those representations generated using one or more previously released (positively tested) software versions of that application. This can broaden the reach of the solution and facilitate automation of workflows, which previously required human interaction.

Claims (30)

1. A method comprising:

automatically testing, by a processor, a latest version of software under test and one or more previous versions of the software, results of the automatic testing being generated using a data feed identical to both the latest version of software under test and to the one or more previous versions of the software, the one or more previous versions of the software having been positively tested before the present automatic testing, the one or more previous versions of the software having been previously released;

comparing, by the processor using a predetermined criterion, the results of the automatic testing of the latest version of the software under test with further results of the automatic testing of the one or more previous versions of the software; and

determining, by the processor, whether the latest version of the software under test is positively tested based on said comparison,

wherein the automatic testing is performed using both an image based test and an object based test; and

wherein the image based test and the object based test are performed using one framework with an integrated development environment.

2. The method of claim 1 , wherein the data feed for performing the automatic testing is provided by the processor or by a further computer system.

3. The method of claim 1 , wherein the automatic testing of the latest version of software under test is performed using a first computing device and automatic testing of the one or more previous versions of the software is performed using one or more further computing devices each having at least one processor.

4. The method of claim 3 , wherein a number of the one or more further computing devices is a finite odd integer.

5. The method of claim 1 , wherein the data feed for performing the automatic testing is a variable data feed.

6. The method of claim 5 , wherein the variable data feed is performed at least in part to provide image based testing of the latest version of software.

7. The method of claim 6 , wherein the further results of the automatic testing of the one or more previous versions of the software are pre-recorded.

8. The method of claim 1 , wherein the data feed for performing the automatic testing is a predefined static data feed.

9. The method of claim 1 , wherein the one framework is a Robot Framework, which is configured to integrate libraries for the object based test and the image based test.

10. The method of claim 1 , wherein the object based test is performed using a Selenium web test automation framework, and the image based test is performed using a Sikuli test library.

11. The method of claim 1 , wherein the automatic testing of the latest version of software under test and the one or more previous versions of the software are performed in real time or near real time.

12. An apparatus comprising:

a processor;

a storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising:

testing logic executed by the processor for automatically testing a latest version of software under test and one or more previous versions of the software, results of the automatic testing being generated using a data feed identical to both the latest version of software under test and to the one or more previous versions of the software, the one or more previous versions of the software having been positively tested before the present automatic testing, the one or more previous versions of the software having been previously released;

comparing logic executed by the processor for comparing, using a predetermined criterion, the results of the automatic testing of the latest version of the software under test with further results of the automatic testing of the one or more previous versions of the software; and

determining logic executed by the processor for determining whether the latest version of software under test is positively tested based on said comparison,

wherein the automatic testing is performed using both an image based test and an object based test; and

wherein the image based test and the object based test are performed using one framework with an integrated development environment.

13. A non-transitory computer readable storage medium tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining instructions for:

automatically testing, by the processor, a latest version of software under test and one or more previous versions of the software, results of the automatic testing being generated using a data feed identical to both the latest version of software under test and to the one or more previous versions of the software, the one or more previous versions of the software having been positively tested before the present automatic testing, the one or more previous versions of the software having been previously released;

comparing, by the processor using a predetermined criterion, the results of the automatic testing of the latest version of the software under test with further results of the automatic testing of the one or more previous versions of the software; and

determining, by the processor, whether the latest version of software under test is positively tested based on said comparison,

wherein the automatic testing is performed using both an image based test and an object based test; and

wherein the image based test and the object based test are performed using one framework with an integrated development environment.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2013
From: ABUALROB, MOHAMMED; BETAK, GEORGE
To: YAHOO! INC.
Reel/Frame 031233/0387 →
Continuity (1)
Related Publication 20150082280A1 · Mar 19, 2015