Dynamic Test Pool Selection for Software Rollout Error Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems may miss errors in software updates during staged rollouts, especially if the test pool does not represent the diverse range of devices that could be affected, leading to undetected issues in certain types of computing devices.

Innovation Solution

A computing system dynamically generates a test pool by selecting devices that contribute additional test scope, ensuring that errors are detected during the first stage of rollout by considering device and user characteristics, thereby increasing the diversity of the test pool and reducing the number of devices affected by errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If computing devices are selected for test pool based on random basis or predetermined characteristics, then the selection process is simple and fast, but the test pool diversity is insufficient and errors affecting certain device types may go undetected

Engineering Contradiction:
Improveerror detection capabilityVSAvoidtest pool selection complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The test pool selection process transitions from static predetermined criteria to dynamic characteristic-based selection. The system continuously evaluates candidate devices against the existing test pool composition, dynamically adjusting selections to maximize diversity. This allows the system to adaptively build a representative test pool that covers various device types, operating systems, and configurations, thereby improving error detection capability while maintaining manageable complexity through automated evaluation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the selection parameters from simple random or predetermined criteria to multi-dimensional device characteristics including hardware specifications, operating system versions, and application compatibility profiles. By evaluating multiple parameters simultaneously and selecting devices that contribute additional test scope, the system achieves comprehensive coverage without excessive complexity, as the parameter evaluation is automated and systematic.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the test pool includes a broader group of computing devices, then device diversity increases and more errors are detected, but the number of devices affected by errors during rollout increases

Engineering Contradiction:
Improveerror detection coverageVSAvoiddevices affected by errors
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system applies partial action by selecting only the necessary number of diverse devices for the test pool rather than rolling out to all devices simultaneously. By carefully curating a test pool that includes representative samples of various device types through characteristic-based selection, the system achieves sufficient error detection coverage with a limited subset, thereby minimizing the number of devices exposed to potential errors while maintaining comprehensive testing capability.

Inventive Principle:
Principle #16Partial or excessive action

3Object-affected harmful factors

If the test pool is limited to a small group of computing devices, then fewer devices are affected by errors, but the diversity of device types tested is insufficient and certain errors remain undetected

Engineering Contradiction:
Improvenumber of devices affectedVSAvoiderror detection probability
Core Design Contradiction:
Object-affected harmful factorsVSReliability

Solution Approach 1:

The system changes from simple size-based selection to parameter-based selection, where each device is evaluated on multiple characteristics including hardware specifications, operating system, and application compatibility. This allows a small test pool to achieve high diversity by strategically selecting devices that represent different parameter combinations, thereby maintaining error detection probability while limiting the number of affected devices.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system applies local quality by ensuring each selected device brings unique characteristics to the test pool. Rather than requiring a large homogeneous group, the system carefully selects individual devices with specific local qualities (unique device types, configurations, or profiles) that collectively provide comprehensive coverage. This maximizes the testing value of each individual device in the limited test pool.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10339034B2Dynamically generated device test pool for staged rollouts of software applications
Publication Date: 2019.07.02 GOOGLE LLC
  • US10339034B2 patent drawing
  • US10339034B2 patent drawing
  • US10339034B2 patent drawing

AI summary

A method includes receiving, by a computing system that includes an application repository, an updated version of an application. The method also includes determining whether the particular computing device contributes additional test scope for the updated version of the application beyond existing test scope for the updated version of the application that is contributed by the group of computing devices. The method further includes, sending the updated version of the application to the particular computing device for installation in response to determining that the particular computing device contributes additional test scope.