How can I get an atomic execution for a test suite in RQM?
I use RQM 6.0.3.
I want to execute test suite TS1(that is a list of test case: TC1, TC2), test suite TS2(that is a list of test case: TC3, TC4), test suite TS3(that is a list of test case: TC5, TC6).
The requirement is that, once a test suite is assigned to a machine for execution, the test suite is executed in an atomic way (all test cases of the test suite are executed in the specified sequence and no other test case can be executed in between).
For the execution I can pick a machine from a cell containing the following machines: M1 and M2.
I set: Manage Project properties
Select a single machine for the test suite if all steps in the test suite contain the same type of test script
and then I set the test suite option to execute the test case sequentially.
I run TS1, TS2 and TS3 without waiting for the end of the previous run.
This is to simulate the use case where more users can run their test suite on the same cell.
What happens:
t --> (time increasing direction)
M1: TC1 TC5 TC2 TC6
M2: TC3 TC4
What I would see:
M1: TC1 TC2 TC5 TC6
M2: TC3 TC4
Is there any way to force the test suite atomic execution having anyhow the possibility to pick the available machine from a set of machines?
One answer
It is possible to execute a list of test suites (TS) that satisfies both the requirements.
I set in the Manage Project Properties page:
Select a single machine for the test suite if all steps in the test suite contain the same type of test script
Select from all available machines in a test cell if the test suite is configured to run in parallel mode
Always search adapter within test cell at run time for scheduled execution
Search for other available adapter based on applicable adapter search criteria, if assigned adapter is not found
I ran all the TS's in order to have test suite execution schedule (TSER) with the following characteristics:
- They run on the cell: “MyCell” that is the cell containing M1 and M2
- TC will be assigned to a machine at runtime: “Machine=Search Runtime”
I created the Execution Schedule ES-5TSER and added a few instances of TSER from the set of TS's already created.
I run the CLA on each target (M1 and M2) and start the execution schedule.
What I can see is that, when a TS is assigned to a machine, then all its TC's are run one after the other on the same machine and no other TC, part of different TS, is run in between.