Continuous Testing System for Dynamic Test Coverage in CI/CD Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing code testing systems struggle to keep pace with the rapid release cycles and dynamic changes inherent in CI/CD environments, leading to inadequate test coverage and difficulty in determining build readiness for production deployment.

Innovation Solution

A system and method for continuous testing that integrates seamlessly with CI/CD systems, providing real-time analysis of build quality by detecting code changes, assessing test coverage, and prioritizing tests based on environmental and historical data to ensure comprehensive testing and efficient release processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If rapid release cycles are implemented in CI/CD systems, then productivity and speed of delivery are improved, but test coverage and build quality assessment become inadequate and unreliable

Engineering Contradiction:
Improverelease speedVSAvoidtest coverage
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adapts test execution based on code changes. Instead of running all tests statically, it identifies modified components and selectively executes relevant tests, allowing rapid release cycles while maintaining adequate test coverage through dynamic test selection and execution prioritization

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The testing system is segmented into multiple environments (development, staging, production) with different test suites. This allows parallel testing across segments, improving overall test coverage without slowing down the release process, as each segment can be tested independently and concurrently

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If the number of automated tests is increased to improve test coverage, then measurement precision of build quality is improved, but device complexity and system complexity increase significantly

Engineering Contradiction:
Improvebuild quality assessmentVSAvoidtesting system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system automatically manages test execution, result collection, and quality assessment without manual intervention. It self-configures test environments, automatically parses test results, and generates quality reports, reducing the operational complexity despite handling large numbers of tests

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces an intermediary quality assessment layer that aggregates and analyzes test results from multiple sources and environments. This intermediary system simplifies the complexity by providing a unified quality metric rather than requiring direct management of individual test complexities

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If dynamic code analysis is implemented to assess build quality in real-time, then measurement precision and reliability are improved, but loss of time for analysis and processing increases

Engineering Contradiction:
Improvebuild quality measurementVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary static code analysis during the coding phase to identify potential issues before execution. This preliminary assessment reduces the need for extensive dynamic analysis later, cutting down overall analysis time while maintaining measurement precision through early detection of quality issues

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of continuous real-time analysis, the system performs periodic quality assessments at key milestones in the CI/CD pipeline (e.g., after code commit, before deployment). This periodic approach reduces cumulative analysis time while still providing timely quality feedback at critical decision points

Inventive Principle:
Principle #19Periodic action

4Reliability

If comprehensive testing across multiple environments is performed, then reliability and build quality are improved, but productivity and release speed decrease

Engineering Contradiction:
Improvebuild readiness determinationVSAvoidrelease speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically determines which environments require full testing based on the nature of code changes. For minor changes, it may skip certain environment tests; for critical changes, it executes comprehensive tests. This dynamic approach maintains reliability for necessary tests while improving release speed by avoiding unnecessary testing

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Testing is integrated continuously into the CI/CD pipeline rather than being a separate batch process. Tests execute automatically as part of the continuous integration flow, allowing development and testing to proceed in parallel where possible, thus maintaining productivity while ensuring comprehensive testing across environments

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS12124358B2System and method for continuous testing and delivery of software
Publication Date: 2024.10.22 TRICENTIS ISRAEL LTD
  • US12124358B2 patent drawing
  • US12124358B2 patent drawing
  • US12124358B2 patent drawing

AI summary

A system and method for CI/CT/CD, which is continuous integration/continuous testing/continuous delivery, in which testing is fully integrated to the needs of rapid code development and delivery. The system is determining test coverage of a plurality of tests, comprising a code builder for providing code, a code tester for testing the code with said plurality of tests, and a code test analyzer for analyzing results of said plurality of tests to determine coverage of said code by said plurality of tests.