Test Synchronization System for Parallel Client Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In client-server application testing, timing issues arise when multiple clients attempt to perform simultaneous actions on shared resources, leading to errors due to asynchronous command execution, which existing automated functional user interface testing methods fail to adequately address.

Innovation Solution

A test synchronization system that distributes and synchronizes commands across multiple client computer systems to ensure parallel execution of test commands, utilizing a testing proxy and controller to manage and schedule command distribution, simulating user interactions and reporting error messages to the test application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If automated functional user interface testing is performed without synchronization, then testing can be executed independently on each client, but timing issues arise causing inconsistent error condition testing

Engineering Contradiction:
Improveindependent test executionVSAvoidtiming consistency
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

A test synchronization system acts as an intermediary between the test application and multiple client computer systems. The synchronization system receives test commands, distributes them to clients, and coordinates their execution timing. This mediator ensures that all clients execute test commands simultaneously or in a controlled sequence, resolving the timing inconsistency problem while maintaining independent test execution capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple clients execute commands simultaneously without synchronization, then parallel testing increases productivity, but timing issues cause inaccurate error condition replication

Engineering Contradiction:
Improveparallel test executionVSAvoiderror condition accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The test synchronization system performs preliminary actions by receiving and analyzing test commands before distributing them to multiple clients. It prepares synchronization signals and coordinates execution timing in advance. This preliminary coordination ensures that when clients execute commands in parallel, they do so with precise timing control, accurately replicating error conditions like simultaneous file imports.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If test commands are distributed without central coordination, then system complexity is reduced, but timing control and error condition testing become unreliable

Engineering Contradiction:
Improvetest distribution systemVSAvoidsynchronization accuracy
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The testing system is segmented into distinct functional components: a test application that generates test commands, a test synchronization system that coordinates distribution, and multiple client computer systems that execute commands. This segmentation allows the synchronization system to focus specifically on timing coordination without requiring complete system redesign, maintaining manageable complexity while achieving reliable synchronization.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9064054B2Synchronizing execution of a testing application
Publication Date: 2015.06.23 RED HAT INC
  • US9064054B2 patent drawing
  • US9064054B2 patent drawing
  • US9064054B2 patent drawing

AI summary

A method and apparatus for synchronizing execution of a test application is described. In one embodiment, the method includes receiving two or more commands from a test application. The method may also include distributing a first command from the received two or more commands to a plurality of client computer systems, each client computer system to issue the first command to a server computer system. Furthermore, the method may include distributing a second command from the received two or more commands to the plurality of client computer systems after receipt of a response to the first command from each of the plurality of client computer systems.