# US 10,120,788 B2 · Cloud connected automated testing in multiple operating environments using multiple parallel test threads

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,120,788 B2
- Document ID: US10120788B2
- Status: Granted
- Kind: B2
- Application number: 15/412,481
- Filed: 2017-01-23
- Published: 2018-07-26
- Granted: 2018-11-06
- Earliest claimed: 2017-01-23
- Assignees: Accenture Global Solutions Limited
- Applicants: Accenture Global Solutions Limited
- Inventors: Jonathan Saginaw; Austin J. Darigo; Alexis M. Stevens; John C. Anderson
- Web page: https://patentgrep.com/patent/US10120788B2

## CPC

- G06F 11/3688: {for test execution, e.g. scheduling of test suites}
- G06F 11/3668: Testing of software
- G06F 11/3684: {for test design, e.g. generating new test cases}
- G06F 11/3698: Environments for analysis, debugging or testing of software
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Cloud Connected automated testing (CCAT) provides a low-cost, high-throughput, automated multi-thread testing platform for testing application with multiple test cases in a variety of operating environments. The platform may be hosted on cloud infrastructure. Unlike other test automation platforms, inputs to CCAT are based on human readable formats, such as keyword entries in a spreadsheet. CCAT thereby reduces the need for testers to understand highly specialized and difficult to use coding languages such as Java or Python.

## Claims

### Claim 1

A method comprising:
receiving a keyword based test suite descriptor for a set of independent test cases for an application with a first flag field;
selecting a subset of independent test cases from the set of independent test cases based on the first flag field;
identifying keyword based test scripts specifying test steps for the subset of independent test cases linked from the test suite descriptor; wherein at least some of the test steps comprise corresponding data entries specifying a respective subset of test data for a respective test step;
selecting subsets of test steps to be performed based on a second flag field in the keyword based test scripts, each subset of test steps corresponding to one of the subset of independent test cases;
identifying multiple different operating environments for the application according to the test suite descriptor;
compiling a source code to obtain a code engine for generating test codes;
for each combination of one of the subset of independent test cases in one of the multiple different operating environments and in response to receiving a command to initiate a test for the application:
generating a test code from the subset of test steps corresponding to the one of the subset of independent test cases using the code engine;
instantiating an independent test thread comprising a remote test driver and a thread-specific test dataset by executing the test code; and
copying test data specified in the data entries for the one of the subset of independent test cases into the remote test driver to create a thread-specific test dataset for the independent test thread; and
executing the subset of independent test cases against each of the multiple different operating environments independently by running the independent test threads based on the thread-specific test datasets and the remote test drivers.

### Claim 2 (depends on 1)

The method of claim 1, where the application is a website and the keyword based test suite descriptor comprises a spreadsheet having a set of data items where each data item is associated with one of the set of independent test cases.

### Claim 3 (depends on 2)

The method of claim 2, where the keyword based test scripts comprise spreadsheets.

### Claim 4 (depends on 3)

The method of claim 3, where the test scripts comprises predefined keywords specifying a test actions.

### Claim 5 (depends on 3)

The method of claim 3, where the data entries further comprise a respective data field specifying an expected test output.

### Claim 6 (depends on 2)

The method of claim 2, where an operating environment of the multiple different operating environments comprises at least a combination of an operating system and a type of web browser.

### Claim 7 (depends on 2)

The method of claim 2, where each remote test driver comprises an independent testing grid web driver in a pre-determined testing grid platform.

### Claim 8

A cloud-based platform, comprising:
a communication interface;
a memory; and
circuitry in communication with the memory and the communication interface, the circuitry configured to:
receive, via the communication interface, a keyword based test suite descriptor for a set of independent test cases for an application with a first flag field;
select a subset of independent test cases from the set of independent test cases based on the first flag field;
identify keyword based test scripts specifying test steps for the subset of independent test cases linked from the test suite descriptor; wherein at least some of the test steps comprise corresponding data entries specifying a respective subset of test data for a respective test step;
select subsets of test steps to be performed based on a second flag field in the keyword based test scripts, each subset of test steps corresponding to one of the subset of independent test cases;
identify multiple different operating environments for the application according to the test suite descriptor;
compile a source code to obtain a code engine for generating test codes;
for each combination of one of the subset of independent test cases in one of the multiple different operating environments and in response to receiving a command to initiate a test for the application,
generate a test code from the subset of test steps corresponding to the one of the subset of independent test cases using the code engine;
instantiate an independent test thread comprising a remote test driver and a thread-specific test dataset by executing the test code; and
copy test data specified in the data entries for the one of the subset of independent test cases into the remote test driver to create a thread-specific test dataset for the independent test thread; and
execute the subtest of independent test cases against each of the multiple different operating environments independently by running the independent test threads based on the thread-specific test datasets and the remote test drivers.

### Claim 9 (depends on 8)

The cloud-based platform of claim 8, where the application is website and the keyword based test suite descriptor comprises a spreadsheet having a set of data items where each data item is associated with one of the set of independent test cases.

### Claim 10 (depends on 9)

The cloud-based platform of claim 9, where the keyword based test scripts comprises spreadsheets.

### Claim 11 (depends on 10)

The cloud-based platform of claim 10 where the test scripts comprise predefined keywords specifying test actions.

### Claim 12 (depends on 10)

The cloud-based platform of claim 10, where the data entries further comprise a respective data field specifying an expected test output.

### Claim 13 (depends on 9)

The cloud-based platform of claim 9, where an operating enviornment of the multiple different operating environments comprises at least a combination of an operating system and a type of web browser.

### Claim 14

A method comprising:
predefining a set of keywords each corresponding to a test action among a set of test actions for testing a website;
receiving a test suite comprising a test master document containing a test suite descriptor for configuring a set of independent test cases for the website and multiple test script descriptors each for one of the set of independent test cases, where each test script descriptor comprises multiple keywords of the set of keywords arranged according to predefined grammatical rules;
selecting a subset of independent test cases from the set of independent test cases based on a first flag field in the test master document;
identifying test data for the subset of independent test cases from the the test master document;
selecting subsets of test steps to be performed for the subset of independent test cases according to a second flag field in the test script descriptors;
identifying multiple different operating environments for browsing the website based on the test master document where each operating environment comprising at least a type of web browser;
compiling a source code to obtain a test code generating engine;
for each combination of one of the subset of independent test cases in one of the multiple different operating environments and in response to receiving a command to initiate a test for the website,
generating a test code from the subset of test steps corresponding to the one of the subset of independent test cases using the test code generating engine;
instantiating an independent test thread comprising a remote test driver and a thread-specific test dataset by executing the test code; and
copying the test data corresponding to the one of the subset of independent test cases into the remote test driver to create a thread-specific test dataset for the independent test thread; and
executing the subset of independent test cases against each of the multiple different operating environments independently by running the independent test threads based on the thread-specific test datasets and the remote test drivers.
