Automated SDK Testing via JSON Message Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional UI-based SDK testing is inefficient due to the need for complex UI development, lack of automation, requirement for frequent UI revisions with API changes, inability to perform stress testing, and limited scalability, making it difficult to test SDKs on multiple devices with different hardware configurations and operating systems simultaneously.
Innovation Solution
A highly scalable automated SDK testing system that registers devices with a message server, transforms API calls into JSON messages, and executes these messages concurrently across multiple target devices, including IoT devices, to generate and process results efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional UI-based testing is used, then testing can be performed, but the system complexity increases due to complex UI development requirements
Solution Approach 1:
The patent extracts the testing functionality from complex UI interfaces and relocates it to automated testing agents that directly interact with SDK APIs. This eliminates the need for complex UI development while preserving testing capability, as the testing agents can directly call APIs and validate functionality without requiring graphical interfaces.
Solution Approach 2:
The patent introduces automated testing agents as intermediaries between the tester and the SDK. These agents serve as mediators that programmatically interact with SDK APIs, replacing the need for complex UI-based interaction and enabling automated testing while reducing system complexity.
2Reliability
If UI-based testing is used, then testing can be performed, but automation capability is lost
Solution Approach 1:
The patent implements self-service automation where testing agents autonomously execute test cases, call SDK APIs, and validate results without human intervention. The system automatically manages test execution across multiple devices, collects results, and generates reports, enabling full automation while maintaining comprehensive testing capability.
3Reliability
If traditional testing methods are used, then testing can be performed, but scalability is limited when testing on multiple devices
Solution Approach 1:
The patent creates universal testing agents that can operate across multiple device types and operating systems. These agents are designed to be platform-agnostic and can adapt to different SDK implementations, enabling the same testing framework to scale across smartphones, tablets, wearables, and other devices with diverse hardware configurations and OS versions.
Solution Approach 2:
The patent segments the testing system into independent, modular testing agents that can be distributed across multiple devices. Each agent operates autonomously on its target device, allowing parallel testing execution and enabling scalable multi-device testing without requiring centralized control of all devices.
4Adaptability or versatility
If frequent API changes occur, then functionality improves, but testing maintenance burden increases due to UI revision requirements
Solution Approach 1:
The patent implements feedback mechanisms where testing agents automatically detect API changes through version detection and adaptive learning. When APIs are revised or new APIs are added, the agents receive feedback about the changes and automatically adjust their testing strategies, eliminating the need for manual UI revisions and reducing maintenance burden while supporting continuous functionality improvement.
Data Source
AI summary
A highly scalable automated testing system includes an automated testing controller, an automated testing message server and an automated testing message terminal running on a set of automated testing target devices. The controller and the terminals register themselves with the message server. A testing case is programmed for testing an SDK on a number of target devices concurrently and transformed into a set of command messages in JSON message format. The controller sends the set of messages to the message server. The message server then distributes the set of command messages to the terminals. In response, the terminal calls corresponding APIs of the SDK. The APIs called can be the same or different between the devices within the set of target devices. The SDK returns a result that is forwarded to the server. The server sends the results from the target devices to the controller. The controller verifies the results.


