AI Smart Engine for Automated Test Case Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing software development process faces inefficiencies in quality assurance testing, particularly due to the need to run all test cases after source code changes, which can be time-consuming and resource-intensive, often involving unnecessary execution of irrelevant test cases that waste processing resources and delay deployment.
Innovation Solution
An AI-powered smart engine filters and injects relevant test cases into the testing queue by generating source code change keywords, mapping them to appropriate test cases using neural networks, and updating based on code coverage information to ensure sufficient testing without unnecessary resource consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all test cases are executed after source code changes, then testing completeness is improved, but resource consumption and time consumption increase significantly
Solution Approach 1:
The patent segments the complete test case suite into relevant and irrelevant test cases based on source code change analysis. The testing system identifies which test cases are actually affected by the changes and executes only those, rather than running all test cases. This segmentation resolves the contradiction by maintaining testing completeness for affected areas while eliminating unnecessary execution of unrelated test cases, thereby reducing resource consumption and deployment time.
Solution Approach 2:
The patent applies local quality by focusing testing resources on the specific areas affected by source code changes. Instead of uniform testing across the entire codebase, the system identifies and prioritizes test cases that are locally relevant to the changed components. This ensures high testing quality where needed while avoiding waste in unaffected areas, resolving the contradiction between completeness and efficiency.
2Reliability
If all test cases are executed after source code changes, then testing completeness is improved, but processing resource usage increases
Solution Approach 1:
The patent extracts and removes irrelevant test cases from the execution queue before testing begins. By analyzing source code changes and identifying which test cases are actually relevant, the system takes out unnecessary test cases that would consume processing resources without contributing to testing completeness. This extraction process resolves the contradiction by maintaining completeness for relevant test cases while eliminating resource waste from irrelevant ones.
Solution Approach 2:
The patent applies partial action by executing only the necessary subset of test cases rather than the complete set. The system determines the minimal sufficient set of test cases that cover all affected code areas, avoiding excessive execution of redundant test cases. This partial approach resolves the contradiction by ensuring testing completeness for changed areas while reducing overall processing resource usage.
3Productivity
If AI-powered filtering and injection of test cases is implemented, then testing efficiency is improved, but system complexity increases
Solution Approach 1:
The patent introduces an AI-powered intermediary component that sits between the source code change detection and the test case execution. This intermediary analyzes changes, filters relevant test cases, and injects them into the testing queue. While this adds a layer of system complexity, it dramatically improves testing efficiency by automating the selection process. The complexity is justified and managed through modular design, where the AI component handles the complex analysis while the rest of the system remains relatively simple.
Solution Approach 2:
The patent implements self-service through automated AI analysis that independently identifies relevant test cases without manual intervention. The system automatically monitors source code changes, determines affected test cases, and configures the testing queue without human input. This self-service capability improves efficiency by eliminating manual test case selection while the automated nature manages the complexity through algorithmic processes rather than manual procedures.
Data Source
AI summary
A computer device may include a memory configured to store instructions and a processor configured to execute the instructions to identify changes in source code of an application; generate a plurality of source code keywords based on the identified changes in the source code; and map the generated plurality of source code keywords to a plurality of testing keywords. The processor may be further configured to identify a plurality of test cases from a test cases database based on the plurality of testing keywords and inject the plurality of test cases into a testing queue of a testing system associated with the application. The computer device may further determine that the injected plurality of test cases sufficiently tested the changes in the source code and, based on the determining, update a deployed instance of the application to include the changes in the source code.


