With Test Center 4.0 we are introducing a new feature that will allow parallel Squish test execution to speed up the test feedback loop for your developers. It’s based on the new Test Plan feature which, which you can read about in our “Introducing test plans” article. Setting up parallel Squish test execution in your CI can be quite challenging, especially regarding merging and analyzing all the results that are generated. Test Center 4.0 now provides a simple way for you to setup parallel Squish test execution.
To see the new feature additions in action take a look at our release overview video below.
Squish test execution workflows
The new feature is heavily based on extending the existing repository integration. Test Center was already able to locate the test scripts and verification points of your tests and now can also locate and import tests to schedule them for execution.
Furthermore, it is also possible to specify the revision that should be used for importing or executing tests, including freezing the repository in case multiple tests from different revisions are executed at the same time.
This will enable workflows like this:
- Writing a new test case within the Squish IDE
- Committing the test case to your repository
- Importing the test case from within the Test Management of Test Center
- Adding the test case to an existing test plan execution
Test Center will then go ahead and find a suitable Squish server to execute the tests on.
Of course, the test execution is not limited to ad-hoc execution during test development, you can also define test plans for your regular integration test cycles triggered by changes to the repository, or potentially more in-depth testing cycles related to upcoming releases.
Importing tests from a work in progress branch of a linked repository
Managing Squish servers
While the test script itself is executed by Test Center, the actual automation is expected to happen on separate machines that run squishserver. We created a new view where you will be able to manage the Squish servers. How many tests you can execute in parallel will depend on the number of Squish servers you configure in Test Center and the amount of computing power your Test Center server has.
The server capabilities are denoted by labels. If you are already using Test Center to manage your test results you can likely use the exact same labels you use for your results to denote your squishserver capabilities.
When you add test runs to a test plan you also have to provide labels to specify the configuration a test should be run on, and you should use the exact same labels also for the Squish servers managed by Test Center. If you have a squishserver running on windows you should likely add a label it with OS=Windows. If it is set up to test a specific Qt version, then you should likely also add a label to denote the Qt that it can test like qt-version=6.7.2.
Example Squish Server Configuration
Example test run configuration that will match the first server in the list
Parallel Squish test execution
When you schedule a test plan for execution Test Center will ask you for a batch to store the results in and for a time and date, when the tests should be executed. Test Center will then track when the automatic test execution should start for any given test plan execution. Once the execution time is reached, Test Center will go through the test runs of the test plan and try to find a free server that matches the configuration defined for the test run. Test Center will track which Squish servers are currently occupied and try to start as many test runs as there are free suitable servers.
Multiple tests executed in parallel as part of a planned nightly test cycle
Release Notes
Check out the Test Center 4.0 release notes for a comprehensive list of improvements.
Download and Evaluation
Customers and evaluators can find Test Center 4.0 packages in the Qt Customer Portal. If you have yet to try Test Center, request your free trial here.