Automated Test Cycle Estimation via Dependency Graph Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software test cycle estimation methods face challenges in accurately estimating time and resource requirements for parallel test case execution, particularly due to dependencies between test cases, which can lead to incorrect results and inefficient resource utilization.

Innovation Solution

A system and method for dynamic time and resource estimation that constructs dependence graphs to identify disconnected components and perform balanced partitioning based on constraints, ensuring efficient workload distribution and execution within specified time or resource limits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If test cases are executed in parallel to reduce test cycle time, then productivity improves, but test estimation accuracy deteriorates due to dependencies between test cases

Engineering Contradiction:
Improvetest cycle timeVSAvoidtest estimation accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent segments the test suite into multiple independent partitions based on dependency analysis. Each partition contains test cases that can be executed in parallel without violating dependencies. This segmentation allows parallel execution while maintaining accurate estimation by treating each partition as an independent unit with known execution time and resource requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary dependency analysis and partitioning before test execution begins. By pre-computing the execution order and identifying independent partitions, the system establishes accurate baseline estimates for parallel execution. This preliminary action captures the inherent parallelism in the test suite while accounting for all dependencies, enabling both parallel execution and accurate estimation.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If more resources are added to parallelize testing, then test cycle time reduces, but resource utilization efficiency deteriorates due to poor workload distribution

Engineering Contradiction:
Improvetest cycle timeVSAvoidresource utilization efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent divides the test suite into balanced partitions that can be distributed across multiple resources. Each partition is designed to have comparable execution time and resource requirements, ensuring balanced workload distribution. This segmentation enables efficient utilization of added resources while maintaining short test cycle times through parallel execution of evenly distributed tasks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically adjusts partitioning parameters such as the number of partitions and their composition based on available resources and dependency constraints. By changing these parameters, the system optimizes workload distribution to match resource capacity, preventing both resource underutilization and overload, thereby maximizing efficiency when parallelizing with multiple resources.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If test cases are partitioned based on state preservation, then execution order dependencies are handled, but system complexity increases due to conflict database creation and analysis

Engineering Contradiction:
Improvedependency handlingVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments test cases into partitions based on their dependency relationships and state preservation requirements. Each partition is self-contained with internally consistent execution ordering, eliminating the need for complex global conflict databases. This segmentation approach handles dependencies by localizing them within partitions while keeping the overall system simple through independent, manageable units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary dependency analysis to identify and group test cases with related state dependencies into the same partition. By pre-organizing test cases based on their state preservation requirements, the system handles execution order dependencies without requiring complex runtime conflict detection and resolution mechanisms, thereby reducing overall system complexity.

Inventive Principle:
Principle #10Preliminary action

4Measurement precision

If static analysis is used to analyze dependencies, then measurement precision improves, but ease of operation deteriorates due to requiring full access to source code and system

Engineering Contradiction:
Improvedependency analysis accuracyVSAvoidaccess requirement
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent introduces an intermediary layer that captures dependency information from test case execution metadata and logs rather than requiring direct access to source code. This intermediary approach maintains accurate dependency analysis by inferring relationships from actual test behavior and data flow, while eliminating the operational complexity of requiring full system and source code access.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent enables test cases to self-report their dependencies and state requirements through metadata annotations and execution feedback. Test cases automatically provide information about their prerequisites, data dependencies, and state preservation needs, eliminating the need for external static analysis tools to parse source code. This self-service approach maintains measurement precision while greatly improving ease of operation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9032370B2Automated test cycle estimation system and method
Publication Date: 2015.05.12 TATA CONSULTANCY SERVICES LTD
  • US9032370B2 patent drawing
  • US9032370B2 patent drawing
  • US9032370B2 patent drawing

AI summary

A system and method is disclosed to estimate both, the time and number of resources required to execute a test suite or a subset of test suite in parallel, with the objective of providing a balanced workload distribution. The present invention partitions test suite for parallelization, given the dependencies that exists between test cases and test execution time.