Back to results
US 8,898,523 B2Granted
Generating imperative test tasks from declarative test instructions
AssigneeRed Hat, Inc.
InventorsMartin Vecera, Jiri Pechanec
Life of this patent
Estimating the term…
Abstract
A test controller interprets declarative test instructions into imperative test tasks and runs the tests using the imperative test tasks. Declarative test instructions indicate what tests are to be run and the imperative test tasks indicate how these tests are to be run. In addition, the imperative test tasks further indicate a control flow of the running of the tests.
Claims16
A method comprising:
- providing a template for input of a validation test to be run in a computing system;
- translating the template into an extended markup language (XML) formatted file comprising a declarative test instruction, the declarative test instruction to specify a configuration of a test client and a test server in the computing system, the validation test to be run and a previously executed process to be stopped;
- determining, by a processing device, whether the declarative test instruction is supported by a test controller in the computing system by comparing the declarative test instruction to a dictionary of known declarative test instructions;
- in response to determining that the declarative test instruction is supported by the test controller, interpreting, by the test controller, the declarative test instruction into a set of imperative test tasks, wherein the set of imperative test tasks indicate how the test is to be run;
- determining, for the declarative test instruction, a first subset of the set of imperative test tasks that are to be run, a second subset of the set of imperative test tasks that roll back completed tests, and a third subset of the set of imperative test tasks to validate results of the tests;
- and
- running the test using the first subset of the set of imperative test tasks.
4 more elements
A non-transitory computer readable storage medium having instructions stored thereon that, when executed by a processing device, cause the processing device to perform operations comprising:
- providing a template for input of a validation test to be run in a computing system;
- translating the template into an extended markup language (XML) formatted file comprising a declarative test instruction, the declarative test instruction to specify a configuration of a test client and a test server in the computing system, the validation test to be run and a previously executed process to be stopped;
- determining, by the processing device, whether the declarative test instruction is supported by a test controller in the computing system by comparing the declarative test instruction to a dictionary of known declarative test instructions;
- in response to determining that the declarative test instruction is supported by the test controller, interpreting, by the test controller, the declarative test instruction into a set of imperative test tasks, wherein the set of imperative test tasks indicate how the test is to be run;
- determining, for the declarative test instruction, a first subset of the set of imperative test tasks that are to be run, a second subset of the set of imperative test tasks that roll back completed tests, and a third subset of the set of imperative test tasks to validate results of the tests;
- and
- running the test using the first subset of the set of imperative test tasks.
4 more elements
A test controller comprising:
- a memory to store a dictionary of known declarative test instructions;
- and
- a processing device, coupled to the memory, the processing device to:
- provide a template for input of a validation test to be run in a computing system;
- translate the template into an extended markup language (XML) formatted file comprising a declarative test instruction, the declarative test instruction to specify a configuration of a test client and a test server in the computing system, the validation test to be run and a previously executed process to be stopped;
- determine whether the declarative test instruction is supported by the test controller by comparing the declarative test instruction to the dictionary of known declarative test instructions;
- in response to determining that the declarative test instruction is supported by the test controller, interpret a declarative test instruction into a set of imperative test tasks, wherein the set of imperative test tasks indicate how the test is to be run;
- determine, for the declarative test instruction, a first subset of the set of imperative test tasks that are to be run, a second subset of the set of imperative test tasks that roll back completed tests, and a third subset of the set of imperative test tasks to validate results of the tests;
- and
- run the test using the first subset of the set of imperative test tasks.
7 more elements
Dependencies are inferred from the claim text.