Multi-Platform Software Testing via Dynamic Test Grouping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Testing software during a development cycle across multiple platforms is challenging due to the large number of individual modules that need to be tested, resulting in extended elapsed times that can affect development and delivery times.
Innovation Solution
A computer-implemented method for executing test groups in a multi-platform testing environment, which includes concurrently testing across multiple operating systems, detecting errors, and resolving them during execution, with features such as prioritizing test cases and executing incremental code based on priority levels and processing orders.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a full test suite is executed across multiple platforms to ensure comprehensive software quality, then reliability is improved, but the elapsed time extends to days, weeks, or months
Solution Approach 1:
The patent divides the full test suite into multiple individual test cases that can be executed independently. Each test case targets specific functionality or modules, allowing selective execution based on priority levels. This segmentation enables the testing system to run only necessary tests rather than the complete suite, significantly reducing elapsed time while maintaining essential quality coverage.
Solution Approach 2:
The patent implements dynamic test case prioritization where test cases are assigned priority levels (e.g., P0, P1, P2) based on their importance to critical functionality. The testing system dynamically selects and executes test cases according to these priorities, allowing high-priority tests to run first or exclusively when time is constrained. This dynamic approach adapts the test execution scope to available time resources while ensuring critical quality attributes are always validated.
2Adaptability or versatility
If the number of individual source and executable modules increases in larger software packages, then functionality is improved, but the complexity of testing increases
Solution Approach 1:
The patent segments the software under test into modular components with corresponding test cases. Each test case is associated with specific modules or functionalities, creating a structured mapping between software components and test artifacts. This modular organization reduces testing complexity by allowing independent analysis, execution, and maintenance of individual test cases rather than managing a monolithic test suite.
Solution Approach 2:
The patent implements a universal testing framework that can execute diverse test cases across multiple platforms and software modules through a common interface. The system uses standardized test case structures and priority-level-based selection mechanisms that work uniformly regardless of the number or type of modules being tested. This universality simplifies the testing process for large software packages by providing a consistent approach that scales with software complexity.
3Reliability
If test cases are executed sequentially to ensure thorough testing, then reliability is improved, but productivity decreases
Solution Approach 1:
The patent implements dynamic test case selection based on priority levels and available resources. Instead of always executing all test cases sequentially, the system dynamically determines which test cases to run based on their priority assignments and the time available. High-priority test cases can be executed with greater thoroughness, while lower-priority tests may be skipped or run in parallel, optimizing the balance between reliability and productivity based on current testing context.
Solution Approach 2:
The patent applies partial action by executing only the necessary subset of test cases required to achieve acceptable quality levels within given time constraints. Rather than always performing complete sequential testing of all modules, the system selectively executes test cases based on priority, change impact analysis, and risk assessment. This partial execution approach maintains productivity while preserving reliability for critical functionalities.
Data Source
AI summary
A computer-implemented method, computer program product, and system is provided for testing software. In an implementation, a method may include executing at least one test group during testing of a software application in a multi-platform testing environment. The method may also include detecting an error in the software application based upon, at least in part, execution of the at least one test group. The method may further include resolving the error during execution of the at least one test group in the multi-platform testing environment.


