Graphical Data Pipeline Testing With Rich Assertions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Validating data transformation processes in distributed computing environments is challenging due to the complexity and the need to consider global variables, exacerbated by the requirement to build tests through specific application programming interfaces.
Innovation Solution
A graphical user interface (GUI) is used to present data pipelines as graphs, allowing users to identify target pipelines, set up tests, specify inputs and expected outputs, execute tests, and review results, with support for rich assertions and automatic updates based on test outcomes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If tests are built through specific application programming interfaces to validate data transformation processes, then testing capability is achieved, but device complexity and difficulty of operation increase
Solution Approach 1:
The patent introduces a visual test builder interface as an intermediary between the user and the complex testing API. This interface allows users to construct tests through graphical elements and visual operations rather than directly calling complex API functions, thereby maintaining testing capability while significantly reducing the perceived complexity and operational difficulty.
Solution Approach 2:
The patent replaces the mechanical system of manual API calls with an automated visual interface system. Instead of requiring users to manually invoke complex testing functions through code, the system provides a graphical environment where tests are constructed and executed through visual interactions, automatically translating user actions into the necessary API operations.
2Reliability
If comprehensive validation of data transformation processes is performed, then reliability improves, but time consumption and operational complexity increase
Solution Approach 1:
The patent implements preliminary action by providing pre-configured test templates and automated test generation capabilities. Common validation scenarios are prepared in advance as reusable templates, allowing users to quickly apply comprehensive validation without manually constructing each test from scratch, thereby maintaining thoroughness while reducing time consumption.
Solution Approach 2:
The system performs self-service by automatically generating test cases and executing validation based on user-defined parameters. The visual test builder automatically handles the complex tasks of test case generation, configuration, and execution, reducing the time and effort required from users while maintaining comprehensive validation coverage.
3Ease of operation
If graphical interface is used to manage test setup and execution, then ease of operation improves, but device complexity increases
Solution Approach 1:
The patent uses copying by creating a visual representation (graphical interface) of the underlying test system. The GUI displays and manipulates copies or representations of test data, pipeline structures, and test configurations, allowing users to interact with simplified visual models rather than the complex underlying system, thereby improving ease of operation while managing complexity through abstraction.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
A system for enabling testing a target data pipeline within a graphical user interface (GUI) is disclosed. The system is programmed to present a GUI. The GUI shows a data pipeline including data transforms that are related based on data dependencies as a graph. The GUI then accept user inputs to identify a target pipeline from the data pipeline and set up a test for the target pipeline. The user inputs include interacting with the graph and providing test inputs and expected outputs for the target data pipeline, including specifying in each expected output for a test output one or more assertions related to the test output. The GUI further accepts user inputs to execute the test and review test results. The GUI facilitates specifying rich assertions, determining the source of a test failure, and updating the target data pipeline or the test based on the test results.