# US 2014/0157238 A1 · Systems and methods of assessing software quality for hardware devices

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0157238 A1
- Document ID: US20140157238A1
- Status: Published application
- Kind: A1
- Application number: 13/691,393
- Filed: 2012-11-30
- Published: 2014-06-05
- Earliest claimed: 2012-11-30
- Assignees: Microsoft Corporation
- Applicants: Microsoft Corporation
- Inventors: Dimitar Popov; Herman Widjaja; Sergey Fokin; Ahmed Zakaria Mohamed; Todd Frost; Kam Ming Chui
- Web page: https://patentgrep.com/patent/US20140157238A1

## CPC

- G06F 11/3668: Testing of software
- G06F 11/3062: {where the monitored property is the power consumption (power management in a computing system G06F1/3203)}
- G06F 11/3672: {Test management}
- G06F 11/3676: {for coverage analysis}
- G06Q 10/0639: Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q 30/0201: Market modelling; Market analysis; Collecting market data
- G06F 9/4411: {Configuring for operating with peripheral devices; Loading of device drivers}
- G06Q 10/063: Operations research, analysis or management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Systems and techniques of monitoring, assessing and determining the quality of software components and/or their associated features that may be designed and built to be run on a plurality of hardware devices. Such hardware devices may be devices made by different manufacturers. In addition, certain of these manufacturers may be device partners with the software maker. Software product and/or components may be subjected to test runs on various hardware devices and the results may be correlated. This pass/fail data may also be correlated against a number of additional factors—e.g., the market share of device products for which a software product has a minimum level of acceptable or passing rates.

## Claims

### Claim 1

A method for testing the quality of software components, said software components designed to be executed on at least one hardware device wherein said at least one hardware component capable of being commercially available, the steps of said method comprising:
inputting a set of market data regarding said at least one hardware device;
inputting a set of test results of said software components being tested on said at least one hardware component; and
upon the satisfaction of a set of conditions, taking an action regarding the commercial release of said software components for said at least one hardware component.

### Claim 2 (depends on 1)

The method of claim 1 wherein said market data further comprises the share of the market possessed by said at least one hardware device.

### Claim 3 (depends on 2)

The method of claim 2 wherein said market data further comprises one of a group, said group comprising: current market share data, historical market share data and new-to-market data.

### Claim 4 (depends on 3)

The method of claim 3 wherein said at least one hardware device comprises a plurality of hardware devices for which said software components are designed to be executed.

### Claim 5 (depends on 4)

The method of claim 4 wherein the step of inputting a set of market data further comprises:
inputting a set of market data regarding a plurality of devices for which said software components are designed to be executed.

### Claim 6 (depends on 5)

The method of claim 5 wherein the step of inputting a set of test results further comprises:
finding all pass/fails results for a set of test runs;
correlating said pass/fail results against said plurality of devices; and
storing the correlation to an electronic storage.

### Claim 7 (depends on 6)

The method of claim 6 wherein the method further comprises the step of:
inputting a set of customer data regarding the quality of software execution upon said plurality of devices.

### Claim 8 (depends on 7)

The method of claim 7 wherein the method further comprises the step of:
correlating the set of customer data of software reports with a given device.

### Claim 9 (depends on 5)

The method of claim 5 wherein said set of conditions further comprises one of a group, said group comprising: a threshold number of passing test runs on a given device, a threshold number of passing test runs for a set of devices, a threshold number of passing test runs for a given market share of devices, a threshold number of passing test runs for a given set of device capabilities.

### Claim 10 (depends on 5)

The method of claim 5 wherein said set of conditions further comprises one of a group, said group comprising: a threshold number of failing test runs on a given device, a threshold number of failing test runs for a set of devices, a threshold number of failing test runs for a given market share of devices, a threshold number of failing test runs for a given set of device capabilities.

### Claim 11 (depends on 5)

The method of claim 5 wherein the step of taking an action comprises one of a group, said group comprising: ordering the release of said software component, making a recommendation regarding the release of said software component.

### Claim 12 (depends on 5)

The method of claim 5 wherein at least one said hardware device is associated with a device manufacturer.

### Claim 13 (depends on 12)

The method of claim 12 wherein said device manufacturer comprises a device partner.

### Claim 14 (depends on 13)

The method of claim 13 wherein said method further comprises the step of:
finding all information assigned to said device partners;
prioritizing said information; and
providing said information to said device partners.

### Claim 15 (depends on 14)

The method of claim 14 wherein said information comprises information related to driver quality.

### Claim 16

A system for testing the quality of software components, said software components designed to be executed on at least one hardware device wherein said at least one hardware component capable of being commercially available, said system comprising:
a processor, said processor capable of receiving input, wherein said input comprises a set of market data regarding said at least one hardware device and further wherein said input further comprises a set of test results of said software components being tested on said at least one hardware component; and
wherein further said processor is capable of taking an action upon the satisfaction of a set of conditions regarding the commercial release of said software components for at least one hardware component.

### Claim 17 (depends on 16)

The system of claim 16 wherein said processor is further capable of:
finding all pass/fails results for a set of test runs;
correlating said pass/fail results against said plurality of devices; and
storing the correlation to an electronic storage.

### Claim 18

A computer readable storage medium, said computer readable storage medium having computer-executable instructions stored thereon that, when executed by a processor, cause said processor to execute: a method for testing the quality of software components, said software components designed to be executed on at least one hardware device wherein said at least one hardware component capable of being commercially available, the steps of said method comprising:
inputting a set of market data regarding said at least one hardware device;
inputting a set of test results of said software components being tested on said at least one hardware component; and
upon the satisfaction of a set of conditions, taking an action regarding the commercial release of said software components for said at least one hardware component.

### Claim 19 (depends on 18)

The computer readable storage medium of claim 18 wherein said step of inputting a set of test results further comprises:
finding all pass/fails results for a set of test runs;
correlating said pass/fail results against said plurality of devices; and
storing the correlation to an electronic storage.

### Claim 20 (depends on 18)

The computer readable storage of claim 18 wherein said method further comprises:
inputting a set of customer data regarding the quality of software execution upon said plurality of devices.
