Automated Test Suite Generation for Code Change Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-speed production printing test suites are often handwritten and static, making them difficult to adapt to varying situations, leading to inefficient and time-consuming execution of full regression tests.

Innovation Solution

An automated test suite generation mechanism that dynamically generates test cases based on input attributes and code change information, using a test generator to create executable test suites with customizable attributes and optimized execution order.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If handwritten static test suites are used, then test case coverage can be comprehensive, but test execution time becomes excessively long and adaptability to code changes is poor

Engineering Contradiction:
Improveadaptability to code changesVSAvoidtest execution time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements dynamic test suite generation by automatically creating test cases based on current code state and change information, transforming the static nature of traditional test suites. The system dynamically selects and generates test cases based on code change detection, making the test suite adaptable to varying situations without manual intervention.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The test generation mechanism operates autonomously by automatically detecting code changes, selecting relevant test cases, and generating the test suite without requiring manual creation or configuration. The system serves itself by maintaining a repository of test case templates and automatically matching them to code changes.

Inventive Principle:
Principle #25Self-service

2Reliability

If full regression test suites are executed, then comprehensive code validation is achieved, but execution time extends to hours or days

Engineering Contradiction:
Improvecode validation completenessVSAvoidtest execution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts only the necessary test cases from the full regression suite by analyzing code change information and selectively generating test cases that correspond to modified code areas. This extraction approach maintains validation reliability for changed code while eliminating unnecessary test execution time for unchanged portions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of executing the complete regression test suite, the system performs partial testing by generating and executing only the subset of test cases relevant to current code changes. This partial action approach achieves sufficient validation reliability for the changed code while dramatically improving execution efficiency.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of operation

If handwritten test suites are used, then detailed test case instructions can be customized, but organization and ordering for efficient execution becomes difficult

Engineering Contradiction:
Improvetest case organizationVSAvoidtest suite management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system uses feedback from code change detection to automatically organize and order test cases for optimal execution. By monitoring code changes and using this information to select and sequence test cases, the system achieves efficient organization without manual intervention, reducing management complexity while maintaining operational ease.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10587762B2Automated test suite mechanism
Publication Date: 2020.03.10 RICOH CO LTD
  • US10587762B2 patent drawing
  • US10587762B2 patent drawing
  • US10587762B2 patent drawing

AI summary

A method is disclosed. The method includes generating a set of test case tags that describe attributes included in a test case and store the set of test case tags and the test case, receiving input information, and dynamically generating a test suite of one or more test cases based on input attributes data included in the input information, wherein the input information comprises code change information.