Task Graph System for Automated Software Testing Coordination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large software development environments, there is a need for a centralized tool to automatically build and test software applications efficiently, managing complex tasks and their outcomes, as existing methods are cumbersome and time-consuming, especially when dealing with numerous test tasks that depend on previous task outcomes.

Innovation Solution

A task graph system is implemented, where a parent task initiates the execution of one or more child tasks, each with a unique task number and command, allowing for parallel or serial execution, and using return codes to indicate success or failure, facilitating the testing of software applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a centralized tool is used to automatically build and test software, then productivity and testing efficiency are improved, but device complexity increases due to the need to manage numerous test tasks and their dependencies

Engineering Contradiction:
Improvetesting efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the complex testing process into discrete, manageable tasks organized in a task graph structure. Each test task represents a specific operation (compile, link, execute, analyze) that can be independently defined, tracked, and executed. This segmentation allows the centralized tool to manage numerous test tasks systematically without overwhelming complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The task graph serves as an intermediary data structure that mediates between the centralized testing tool and the actual test execution. It provides a standardized interface for defining task dependencies, managing execution flow, and tracking outcomes, thereby simplifying the interface complexity between the control system and the diverse testing operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If numerous test tasks are managed with dependencies on previous task outcomes, then measurement precision and testing thoroughness are improved, but loss of time increases due to the complexity of coordinating task execution

Engineering Contradiction:
Improvetesting accuracyVSAvoidcoordination time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The task graph is constructed in advance with all task dependencies, execution orders, and conditional logic predefined. This preliminary structuring of the testing workflow allows the system to automatically coordinate task execution without requiring real-time human intervention or complex runtime decision-making, thereby reducing coordination time while maintaining thoroughness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where each task's outcome (success/failure return codes) automatically feeds into the execution logic of dependent tasks. This automated feedback loop ensures that testing accuracy is maintained through proper dependency handling while eliminating manual coordination delays, as the system self-regulates task execution based on previous outcomes.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If automated execution of test tasks is implemented, then ease of operation is improved, but reliability may worsen due to the complexity of managing task dependencies and outcomes

Engineering Contradiction:
Improveautomation levelVSAvoidtask execution reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The task graph system is designed to be self-sufficient in managing its own execution. It automatically tracks task outcomes, determines dependency satisfaction, and triggers subsequent tasks without external intervention. This self-service capability reduces operational complexity while maintaining reliability through consistent, rule-based execution logic that eliminates human error in task coordination.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system replaces manual mechanical coordination of test tasks with an automated computational system. The task graph data structure and associated software logic substitute for human operators who would otherwise manually track dependencies and outcomes, thereby improving ease of operation while maintaining reliability through deterministic algorithmic execution rather than fallible human processes.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS7913259B2Task-graph for process synchronization and control
Publication Date: 2011.03.22 SAP SE
  • US7913259B2 patent drawing
  • US7913259B2 patent drawing
  • US7913259B2 patent drawing

AI summary

Systems and methods are disclosed for testing applications or code. In one exemplary embodiment, there is provided a method for testing an application on one or more different hosts on a processor using a task graph including a parent task and one or more child tasks. The task graph can also contain a single, parent task without child tasks. The method may include, for example, providing the parent task to initiate the task graph at the processor, the parent task including a task number unique to the task graph; providing the one or more child tasks, the child tasks each including a task number unique to the task graph and a command to be performed by the one or more child tasks; and enabling, at the processor, the parent task to initiate execution of the application at the processor. Moreover, the method may include processing user defined input values to define each task.