This guide presents the possibilities offered by Squash DEVOPS for executing automated tests from a CI/CD pipeline. The management of these tests and of the automation workflow in Squash TM is described in the documentation of that one.
Squash DEVOPS provides the following components (see diagram below):
Squash Orchestrator is composed of a set of micro-services to be used by sending an execution plan written in a specific format, the PEaC (Planned Execution "as Code"), in order to orchestrate some automated tests.
It enables you to run and coordinate the various components of the test execution chain (execution environments, automata, reporting, …).
It is based on the OpenTestFactory Orchestrator and adds a set of micro-services to extend its possibilities, such as running Squash TM execution plan or reporting to Squash TM.
This agent allows HTTP communication between a Squash Orchestrator and a test execution environment.
It is a process that runs on the execution environment. This process contacts the Squash Orchestrator at regular intervals, looking for orders to execute. Whenever there is a pending order, the agent will do as asked and send the result back to the orchestrator.
Squash TM plugins
Result Publisher†: this plugin allows the return of information towards Squash TM at the end of the execution of a Squash TM execution plan by the Squash Orchestrator.
The plugin exists in a Community version (squash.tm.rest.result.publisher.community) freely available, or a Premium version (squash.tm.rest.result.publisher.premium) available on request.
Test Plan Retriever: this plugin for Squash TM allows the sending of details about a Squash TM execution plan to the Squash Orchestrator.
The plugin exists in a Community version (squash.tm.rest.test.plan.retriever.community) freely available, or a Premium version (squash.tm.rest.test.plan.retriever.premium) available on request.
Squash DEVOPS Plugin for Jenkins
This Jenkins plugin facilitates the sending of a PEaC to the Squash Orchestrator from a Jenkins pipeline.
Squash AUTOM/Squash DEVOPS high level architecture diagram:
† indicates a component which is common to Squash AUTOM and Squash DEVOPS.