Stateless Test Agents for Cloud System Resilience

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing test tools for cloud-based computing systems require significant resources and labor to maintain and update, as they are tightly coupled, making it difficult to test newly added or modified web-based functionality without rewriting test code, and are prone to failures due to dependencies among components.

Innovation Solution

A stateless test execution framework using RESTful endpoints allows test agents to operate independently, eliminating the need for customized test code and enabling resilient testing across complex systems by communicating through HTTP-based REST requests, allowing test cases to be defined in human-readable formats like JSON or XML, and enabling test agents to execute tests without relying on the test master.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional tightly coupled test tools are used, then test execution can be performed with centralized control, but the system requires significant resources and labor to maintain and update, and is prone to failures due to dependencies among components

Engineering Contradiction:
Improvetest execution reliabilityVSAvoidtest tool complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The test execution system is segmented into independent test agents that operate autonomously without tight coupling to the test master. Each test agent is a self-contained unit that can execute test cases independently, eliminating the complex interdependencies among test components while maintaining reliable test execution through distributed operation

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Test agents are designed to be self-sufficient, obtaining test definitions and data from the test master but executing tests independently without requiring continuous interaction or coordination with other test components. This self-service capability reduces system complexity and eliminates failure propagation through the tightly coupled architecture

Inventive Principle:
Principle #25Self-service

2Measurement precision

If customized test code is written for specific test cases, then precise testing of system functionality can be achieved, but the test code needs to be rewritten when new features or modifications are added to the system

Engineering Contradiction:
Improvetest case precisionVSAvoidtest code adaptability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

Instead of writing customized test code that must be rewritten for each new feature, the system uses test definitions in human-readable formats (JSON, XML) that can be easily copied, modified, and adapted. Test agents execute these standardized definitions, allowing precise testing while maintaining high adaptability to system changes through simple definition updates rather than code rewriting

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The test agent architecture provides a universal platform that can execute various test cases defined in standardized formats. This multi-functionality allows the same test infrastructure to handle different test scenarios and system modifications without requiring customized code for each specific test case, thereby improving both precision and adaptability

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If extensive test code development efforts are performed, then comprehensive testing coverage can be achieved, but significant personnel and non-personnel resources are consumed

Engineering Contradiction:
Improvetesting coverageVSAvoidresource efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Test agents operate autonomously to execute comprehensive test suites without requiring extensive manual intervention or coordination. This self-service capability achieves thorough testing coverage while significantly reducing personnel resources needed for test execution and management, improving resource efficiency

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The testing system is divided into independent test agents that can execute tests in parallel across multiple system components. This segmentation enables comprehensive coverage through distributed test execution while reducing overall resource consumption by eliminating the need for centralized coordination and manual test management

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11157396B2Stateless self-sufficient test agents
Publication Date: 2021.10.26 SALESFORCE INC
  • US11157396B2 patent drawing
  • US11157396B2 patent drawing
  • US11157396B2 patent drawing

AI summary

A web server, such as one operating with a test agent in a database system receives a request for executing a test. The request is sent by a test master to an endpoint of the web server. In response to receiving the request by the web server, without exchanging information between the test agent and the test master, the test agent performs a series of operations as follows. A complete set of test steps is determined for the test. A complete set of test data used to execute the complete set of test steps is determined. The complete set of test steps for the test is executed with the complete set of test data. A final test execution status is generated for the test. The test agent can make the final test execution status for the test available for the test master to retrieve by way of the web server.