A new documentation is available for Squash TM 2.0 and later versions, check it here
The Automation workspace is accessible via a robot icon, located at the bottom left of the screen:
This workspace is used to manage the test cases eligible for automation according to the automation workflow.
It consists of two screens accessible according to the profile of the user:
Automation workspace (Automation Engineer)
Automation workspace (Tester)
The schema of the automation workflow is shown below.
It applies only to automation-eligible test cases contained in projects for which the automation workflow has been enabled.
It consists of different stages corresponding to automation statuses. The automation statuses are accessible according to the profile of the user:
Functional Tester Profile: Status work in progress, Ready for Transmission, Transmitted and Suspended
Automation Engineer Profile: Rejected, In progress of automation and Automated
This schema is given as a recommendation but it has only two mandatory steps: Transmitted and Automated. To pass a test case to a status of the Automation Engineer profile, that is to say, Rejected, in progress of automation and Automated, a test case must have been Transmitted.
The other steps are optional, so the workflow can be adapted to different team organizations.
This workspace is available to users with the following profiles:
Administrator
Project Manager
Referent tester
Test Designer
Advanced test
Validator
Tester (read only)
Guest (read only)
This workspace is available to users with the following profiles:
Administrator
Project Manager
Automation Engineer
1.2.1.1 "Ready for transmission" tab
This tab contains a table with all the test cases eligible for automation and which are in Ready for transmission status
From this tab, it is possible to apply the status Transmit to the selected test cases and change the priority.
1.2.1.2 "To validate before transmission" tab
This tab contains a table with all the test cases eligible for automation and which are in the status of work in progress Rejected, or Suspended.
From this tab, it is possible to apply the Ready for Transmission status to the selected test cases and change the priority.
1.2.1.3 "Overview" tab
This tab contains a table with all the test cases eligible for automation, regardless of the automation status.
From this tab, it is possible to apply the statuses Transmit, Suspended, Ready for Transmission and work in progress to the selected test cases as well as to change the priority.
1.2.2.2 "Assigned to me" tab
This tab contains a table with all the test cases eligible for automation and assigned to the user who is connected to Squash.
From this tab, it is possible to apply the statuses Automated, In process of automation and Rejected to the selected test cases.
The user can also unassign the test cases and associate an automated script with the test cases.
1.2.2.3 "Unassigned" tab
This tab contains a table with all the test cases eligible for automation and which are in status Transmitted, In process of automation but without assignment.
From this tab, the user can assign himself test cases to automate.
1.2.2.4 "Overview" tab
This tab contains a table with all the test cases eligible for automation, regardless of their status and assignment.
From this tab, it is possible to apply the statuses Automated, In process of automation and Rejected to the selected test cases.
The user can also assign test cases and unassign test cases and associate an automated script to the test cases.
1.2.3 Operating tables
1.2.3.1 Select table elements
The selection of the items in the table is done by using the check boxes at the end of each line.
The [Select All] and [Deselect All] buttons allow to select or deselect all items displayed on the screen.
The "Active Selection: [number]" field displays the number of selected items that are displayed on the screen. If elements are selected on other pages, or if applying a filter masks selected elements, they will not be taken into account in the active selection.
1.2.3.2 Sort and filter tables
By default, the elements of the tables are sorted by:
Priority: from highest (eg 10) to lowest (eg 1)
Then by Automation Status: Transmitted> In progress of automation> Suspended> Rejected> Automated> Ready for transmission> work in progress
Then by Format
To sort the elements of the table, click on the header of the column to be sorted. The column UUID and Format cannot be sorted.
To filter the elements of the tables:
Click on the [Filter] button
The filters appear below each column of the table except for the first, the last two, and the date of assignment when it is displayed.
Enter text or select an option from the drop-down list for the selected filters
The table contains only the elements corresponding to the (x) filter(s) filled in
The purpose of this chapter is to describe the different steps and actions that can be performed with the automation workflow according to the user's profile (functional tester or Automation Engineer) and to the test case format to automate (traditional or Gherkin).
The description of these different steps will follow the workflow as it is presented below. However, the workflow is not binding, it is possible to switch from one status to another at any time except for the following rule: to change statuses Rejected, In the process of automation or Automated, the test cases must have been Transmitted.
1.3.1.1 Eligibility of test cases to automate
Prerequisites: Have a project for which the automation workflow is enabled.
Once the automation workflow is activated, a new "Automation" block is displayed on the consultation page of a test case, in the Information tab.
This block consists of an "Eligibility to Automation" field that can be upgraded with one of the following options: To instruct, Eligible, Ineligible
This field will allow the tester to indicate if the test case is to be automated or not. By default, it is valued to be instructed.
When the functional tester clicks Eligible, new items appear:
A "Priority (numeric)" field: This is a numeric field. The highest priority has the highest number.
An "Automation Status" field: drop-down list with the following options work in progress, Ready for transmission and Suspended.
A [to transmit] button
For new test cases eligible for automation, the default automation status applied is Work In Progress.
Eligibility for automation can be done individually or in bulk.
To mass modify eligibility for automation of test cases:
In the test case workspace, click on the [Search] button
In the search criteria, select a project for which the automation workflow is activated then click on [Start Search]
In the search results, select multiple rows from the table and click on [Edit]
In the pop-up, check the "Automation eligibility" box, select an option and click on [Confirm]
Eligibility for automation is changed for selected test cases
FOCUS
In the case where the automation workflow is activated on a project that already had test cases associated with automation scripts, the "Automation eligibility" field is automatically upgraded to Eligible and the "Status of automation" field is automatically upgraded to Automated.
FOCUS
For a test case that is eligible for automation, if the Automation Eligibility becomes instructed or Not Eligible, when the test case is eligible again, the priority and the automation status are kept.
Similarly, when the automation workflow is disabled and then re-enabled on a project, automation eligibility, priority, and automation status are kept.
1.3.1.2 "Ready for transmission" Status
Once the declared test cases are eligible for automation, the functional tester can access the Automation workspace - Functional Tester View, and more precisely the "To validate before transmission" tab, which contains the test cases with automation status work in progress.
From this tab, the tester can select test cases and change them to Ready for Transmission status using the [Ready for Transmission] button.
This action has the effect of removing the test cases from the tab "To validate before transmission". They are found in the tab "Ready for transmission".
FOCUS
The transition to Ready for transmission can also be done from the "Automation" block on the test case consultation page ("Automation Status" field).
1.3.1.3 "Transmit" Status
Test cases with Ready status for transmission can then be transmitted to the automatian
The transmission of test cases can be done in different ways:
"Ready for transmission" tab :
Go to the Automation workspace - Functional Tester View and then to the « Ready for Transmission » tab
Select the test cases to be transmitted
Click on the [Transmit] button
Consultation page of a test case: :
In the Test Cases workspace, access the test case consultation page
In the "Automation" block, click on the [Transmit] button
Mass transmission:
In the Test Cases workspace, select one or more test cases, folders or projects in the library
Click the [Import / Export ...] button
Click on "Transmit for automation…
Warning, for mass transmission to work, the automation workflow must be enabled for all projects that contain the selected elements. Otherwise, the option is grayed out.
The functional tester finds the test cases transmitted in the "Overview" tab of the Automation workspace.
FOCUS
When a Gherkin test case is transmitted and the project is linked to a source code sharing server, the Gherkin test case is transmitted in the repository (see 1.3.3 Particularity of Gherkin test cases)
1.3.1.4 « Suspended » status
Once the test cases are transmitted for automation or when they are being automated, the tester may decide to suspend their automation by changing them to "Suspended" status.
For this, in the "Overview" tab, the tester can select test cases and click on the [Suspended] button.
Suspended status test cases then go back to the "Validate before transmitting" tab of the functional tester view of the Automation workspace.
FOCUS
The transition to the Suspended status can also be done from the "Automation" block on the consultation page of a test case ("Automation Status" field).
FOCUS
From the "Overview" tab, the tester can view all the tests eligible for automation regardless of their status, including the status of the Automation Engineer.
The functional tester can change the automation status of these tests with one of the following statuses: work in progress, Ready for Transmission, Transmit, and Suspended.
1.3.2.1 To Assign test cases
Once the test cases are transmitted for automation by the functional tester, the Automation Engineer will be able to start his work.
For this, he can access the Automation workspace - Automation View, and more precisely the "Unassigned" tab, which contains the test cases with Automation status Transmitted and In the process of automation that do not have an assignment.
From this tab, the Automation Engineer can select test cases and assign them by clicking on the [Assigned me"] button
This action removes the test cases from the "Unassigned" tab. They are found in the "Assigned to me" tab.
1.3.2.2 To unassign test cases
The Automation Engineer finds the test cases he has assigned to himself in the "Assigned to me" tab.
From this tab, he can unassign the test cases by selecting them and clicking on the [Unassign] button.
This action removes the test cases from the "Assigned to me" tab. They are found in the "Unassigned" tab or " Overview " according to their status.
1.3.2.3 "Rejected" Status
After assigning test cases, if the automatcian considers that the automation of these test cases is not possible in the state, from the "Assigned to me" tab, he can reject their automation by selecting them and clicking on the [Rejected] button (the Automation Engineer can consult the test cases by clicking on the button).
Once rejected, the test cases remain in the "Assigned to me" tab of the Automation Engineer and also appear in the "To validate before transmission" tab of the functional tester to make the necessary modifications to the automation
1.3.2.4 "In progress of automation" Status
When the Automation Engineer starts to automate the test cases he has assigned to himself, from the "Assigned to me" tab, he can select them and then change them to the status In progress of automation.
When an automation server is associated with the project containing the test cases, it can especially associate automated scripts with test cases from the "Auto Script" column. By clicking on the field of this column, then on the [Choose] button, a pop-up that displays all the jobs associated with the project will allow him to select the automation script.
1.3.2.5 "Automated" status
Once the automation of the tests is over, the Automation Engineer can select them and change them to the Automated status by clicking on the [Automated] button.
FOCUS
To pass the test cases in the classic format to the Automated status, they must be associated with automated scripts.
To do this, it is necessary to associate an automation server and jobs with the project containing the test cases (see Automating a Squash TM project).
1.3.2.6 Association of automated scripts
1.3.2.6.1 Manual association
The manual association of test cases – automated scripts can be made from the “Auto. Script” column that can be found on the “Assigned to Me” and “Global view” tabs of the Automation Workspace (Autom.):
1. Click on (Click to edit…) in the Auto. Script column.
2. Click on [Pick…]. A pop-up window displays all the jobs associated with the project.
3. In the pop-up window, unfold the tree view and select the script to associate with the test case, then click on [Choose].
4. Click on [Confirm].
FOCUS
For test cases already associated with automated scripts before the activation of the automation workflow, when activating the workflow, these test cases are automatically in the Automated status and the association with the auto script is retained. On the other hand, it is no longer possible to consult / modify the auto script from the consultation page of the test case. This is done only from the Automation workspace - Automation Engineer View.
FOCUS
When the automation workflow is enabled, it is not possible to manually associate automated scripts with Gherkin format test cases. (see Particularity of Gherkin test cases)
FOCUS
From the "Overview" tab, the Automation Engineer can view all the tests eligible for automation regardless of their status, including the status of the functional tester.
The Automation Engineer can change the automation status of these tests with one of the following statuses: Rejected, In the process of automation, and Automated.
He can also assign test cases or unassign test cases (including test cases assigned to other Automation Engineers).
1.3.2.6.2 Automatic association
The automatic association of a test case to an automated script is made through the test case Universally Unique IDentifier (UUID) that must be entered in the automated script as a metadata value with the metadata key linked-TC (see metadata documentation for Squash Keyword Framework and JUnit Runner). This automated script must be associated with a job linked to the Squash TM project.
There are two ways to associate a test case with an automated script:
The first one happens when the functional tester clicks on [Transmit] from the Test case workspace or from the “Ready to transmit” and “Global view” tabs of the Automation Workspace (Tester)
The second one happens by clicking directly on the [Automated] button that can be found on the “Assigned to me” and “Global view” tabs of the Automation Workspace (Autom.).
Prerequisite: It is necessary to have an automated script where the UUID of the Squash TM classic test case is entered in the metadata.
Select the classic test case and click on [Automated]. With this action, the classic test case is automatically associated with the automated script.
The test case is set to the Automated status and displays the name of a script that cannot be modified in the Auto. Script column.
If the test case has its UUID in the metadata of several automated scripts, a conflict of association occurs when clicking on the [Automated] button. A clickable link named List of conflicting scripts displays in the “Auto. Script” column, which indicates the test is associated with more than one auto. script.
Prerequisite: Two automated script must have the same classic test case UUID and this UUID must be indicated in the metadata.
Select the classic test case and click on [Automated]. The test keeps its former status and a clickable link is displayed.
Click on List of conflicting scripts
A pop-up window is displayed and indicates the full names (/name_of_the_job/name_of_the_script.ta) of the automated scripts notifying the test case UUID.
FOCUS
For test cases that are manually associated with an automated script, the value of the “Auto. script” field does not change when you click on the [Automated] button as long as no other automated script contains their UUID. In cases where an automated script has the UUID of a test case that has already been manually associated, the new script replaces the former one when you click on the [Automated] button.
1.3.3.1 Transmission
For a project associated with a source code share server and a repository (see Administrator's Guide), when a functional tester transmits ( [Transmit] button) of the Gherkin test cases contained in this project, the following steps are performed:
Write files in the local repository:
SquashTM will write the gherkin files corresponding to the selected test cases to the root of the "working folder" of the local repository by naming them <id_ct>_<nom_ct>.feature. If the final name (with the extension) exceeds 100 characters, it will be truncated to 100 characters long (with the extension).
Transmission of files to the remote repository:
The set of added / modified files contained in the folder "working folder" is added to the index git
After one minute, these files will be sent to the remote repository (commit, then push)
Any new transmission made on this repository during the minute of waiting will reset the timer and add the new files to the index git
Thus, if two test cases were transmitted in the same minute, they will be seen in the remote repository as a single commit
FOCUS: Location of the files transmitted in the repository
From version 1.19, the tree structure of Squash TM can be reproduced in the repository when test cases are transmitted so that they can be organized the same way on both sides.
When the option “Use the Squash TM tree structure in the repository” is DISABLED in the project administration page:
The corresponding Gherkin file is created at the root of the folder. This path is the same that the one defined in Squash TM.
If the file already exists somewhere in the working folder, it is moved to this location
If the test case was renamed since its last transmission, the file is renamed to match the new name of the test case.
2. When the option “Use the Squash TM tree structure in the repository” is ENABLED in the project administration page:
The corresponding Gherkin file is created at the path defined by its position in Squash TM tree structure. For instance, if a test case having an ID of 29 is in the following files: main_folder>subfolder>29_my_TC”
If the file already exists somewhere in the working folder, it is moved to this location
If the test case has been renamed since its last transmission, the file is renamed to match the new name of the test case.
FOCUS: File renaming
Since version 1.19, if the test case has been renamed in Squash TM since its last transmission, the file is renamed as well in the repository to match the new name of the test case.
FOCUS: Metadata transmission
When a test case is transmitted, the test case data listed below are written as comments in the file’s header:
Automation priority
Automation status (for now, it is set on ‘TRANSMITTED’)
Test case importance
FOCUS
For more details on the operation of the Gherkin test case transmission and the Squash TM - Source Code Sharing Server link, refer to the Administrator's Guide.
1.3.3.2 Automation
For a project associated with an automation server containing a job that can execute Gherkin and associated with a repository (see Administrator's Guide), the .feature scripts are automatically associated with Gherkin test cases when they are passed to the Transmitted and Automated statuses.
The path of the auto script is then: / <name of the job that can execute Gherkin>/<id_ct>_<nom_ct>.feature (if the final name (with the extension) exceeds 100 characters, it will be truncated to make 100 characters long (with extension)
It is displayed in the "Assigned to me" and "Overview" tabs of the Automation workspace - Automation Engineer View.
Nonetheless, unlike traditional test cases, it cannot be modified manually.