Automated Service Dependency Discovery and Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In complex enterprise environments, identifying dependent services and their corresponding tests is challenging, especially when these services are hidden or not directly accessible, making it difficult to validate the health of target services and ensure end-to-end functionality.
Innovation Solution
A system and method that utilize a test identification service to monitor service calls, identify dependent services, and retrieve applicable tests from a test registry, enabling the automated discovery and testing of dependent services within the enterprise environment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If manual identification of dependent services is performed, then testing accuracy is improved, but labor intensity and time consumption increase
Solution Approach 1:
The system performs preliminary action by automatically discovering and identifying dependent services before testing begins. The test identification service proactively queries the service registry, analyzes service call graphs, and retrieves relevant tests without waiting for manual input, thereby improving testing accuracy while reducing time consumption.
Solution Approach 2:
The system enables self-service by allowing the testing system to automatically identify its own dependencies and retrieve necessary tests without human intervention. The service automatically queries the registry, analyzes call graphs, and collects tests from multiple sources, making the testing process autonomous and efficient.
2Reliability
If comprehensive testing of all services is performed, then system reliability is improved, but device complexity increases
Solution Approach 1:
The system applies segmentation by dividing the testing process into distinct functional modules: service discovery, dependency analysis, test identification, and test execution. Each module handles a specific aspect of the testing workflow, making the overall complex process manageable and maintainable while ensuring comprehensive coverage of all services.
Solution Approach 2:
The test identification service acts as an intermediary between the service registry and the testing framework. It mediates the complex interactions by centralizing the logic for discovering services, analyzing dependencies, and retrieving tests, thereby simplifying the overall system architecture while maintaining comprehensive testing capabilities.
3Productivity
If automated service discovery is implemented, then productivity is improved, but measurement precision of service dependencies may deteriorate
Solution Approach 1:
The system implements feedback by continuously monitoring service call graphs and updating the dependency model based on actual service interactions. The test identification service queries the service registry and analyzes call graphs to verify and refine service dependencies, ensuring high measurement precision while maintaining automated discovery for high productivity.
Data Source
AI summary
A method includes receiving, at a test identification service, a request to test a first service in an enterprise environment, identifying a service call of the first service, and identifying, using an endpoint of the service call, a second service called by the first service, the second service executing in the enterprise environment. The method further includes identifying a subset of tests from a test registry service including multiple tests, the subset of tests being configured to test the second service, and testing, using the subset of tests, the second service in the enterprise environment.


