Centralized Controller for Distributed Software Test Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing automated software testing systems face challenges in managing and reporting test results across various platforms and applications due to differences in tools and formats, requiring subject matter experts and complicating unified reporting and optimization of technical operations.

Innovation Solution

A centralized controller and distributed test host servers are used to receive test execution requests, retrieve test specifications, identify tests, generate execution commands, execute tests, capture output, and store results in a unified manner, enabling standardized and accessible reporting across multiple platforms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple testing tools and platforms are used to test various applications, then testing coverage and versatility are improved, but device complexity and difficulty of managing tests increase

Engineering Contradiction:
Improvetesting coverageVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments testing operations by separating test execution (host servers) from test management (controller). Each host server runs specific testing tools independently while the controller统一管理 all tests, reducing overall system complexity while maintaining multi-platform coverage

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The controller acts as an intermediary between diverse testing tools and the management layer. It receives test requests, translates them into platform-specific commands, executes tests on appropriate hosts, and consolidates results, thereby simplifying the interface for users while supporting multiple platforms

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If different testing tools and platforms are used, then testing versatility is improved, but ease of operation deteriorates due to requiring subject matter experts

Engineering Contradiction:
Improveplatform supportVSAvoidoperation simplicity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The controller provides a universal interface that can manage different testing tools and platforms through a single standardized system. Users interact with one unified control mechanism regardless of the underlying testing tool or platform, eliminating the need for platform-specific expertise

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

Solution Approach 2:

The controller serves as an intermediary layer between users and complex testing tools. It abstracts the complexity of different platforms and tools, presenting a simplified unified interface that automatically handles platform-specific details and requires no subject matter expert knowledge

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If tests are executed on distributed host servers, then productivity and scalability are improved, but loss of information may increase due to different result formats

Engineering Contradiction:
Improvetesting efficiencyVSAvoidresult standardization
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system implements feedback mechanisms where host servers automatically send test results back to the controller. The controller receives results in various formats from different platforms, standardizes them into a unified format, and makes them accessible through a consistent interface, preventing information loss while maintaining distributed execution

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The controller transforms test result parameters from platform-specific formats into a standardized internal representation. It changes the data parameters and formats of results from different sources to match a common schema, ensuring consistent information handling while preserving the benefits of distributed testing

Inventive Principle:
Principle #35Parameter changes

4Ease of operation

If centralized control is implemented, then ease of operation is improved, but device complexity increases due to additional controller components

Engineering Contradiction:
Improvecontrol simplicityVSAvoidcontroller architecture
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The controller merges multiple testing management functions into a single integrated system. It combines test scheduling, execution, monitoring, and result consolidation that would otherwise require separate components, reducing overall system complexity while providing unified control

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The controller is designed as a universal management platform that handles diverse testing operations through a single interface. It performs multiple functions (test launch, monitoring, result collection, reporting) through one integrated architecture, reducing complexity compared to having separate specialized systems

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

Data Source

PatentUS10223248B2Conducting automated software testing using centralized controller and distributed test host servers
Publication Date: 2019.03.05 BANK OF AMERICA CORP
  • US10223248B2 patent drawing
  • US10223248B2 patent drawing
  • US10223248B2 patent drawing

AI summary

Aspects of the disclosure relate to conducting automated software testing using a centralized controller and one or more distributed test host servers. A computing platform may receive a test execution request. Subsequently, the computing platform may retrieve test specification details information and may identify one or more tests to execute. Then, the computing platform may generate one or more local test execution commands directing a test host server farm to execute the one or more tests. In addition, the one or more local test execution commands may direct the test host server farm to locally construct one or more command line instructions to be executed by the test host server farm to complete the one or more tests. Thereafter, the computing platform may send the one or more remote test execution commands to the test host server farm.