Automated SDK Testing via JSON Message Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetesting capabilityVSAvoidUI development complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If UI-based testing is used, then testing can be performed, but automation capability is lost

Engineering Contradiction:
Improvetesting capabilityVSAvoidtesting automation
Core Design Contradiction:
ReliabilityVSExtent of automation

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.

Inventive Principle:
Principle #25Self-service

3Reliability

If traditional testing methods are used, then testing can be performed, but scalability is limited when testing on multiple devices

Engineering Contradiction:
Improvetesting capabilityVSAvoidmulti-device scalability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

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

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.

Inventive Principle:
Principle #1Segmentation

4Adaptability or versatility

If frequent API changes occur, then functionality improves, but testing maintenance burden increases due to UI revision requirements

Engineering Contradiction:
ImproveAPI functionalityVSAvoidtesting maintenance
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11650913B2Highly scalable system for automated SDK testing
Publication Date: 2023.05.16 AGORA LAB INC
  • US11650913B2 patent drawing
  • US11650913B2 patent drawing
  • US11650913B2 patent drawing

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.