DevOps is such a big focus area around the globe in the QA delivery process. Organizations are transforming their test automation execution model to ensure they can integrate into the DevOps pipeline in the organization. The adoption of DevOps in the QA world needs thoughtful planning of automation and infrastructure to support a seamless DevOps operating model in the QA space.
While setting up the QA DevOps pipeline, its often a question on the table: “Who should own and maintain the QA DevOps pipeline?”
The first thing to understand about the QA DevOps pipeline is, it can be set up independently of your application team DevOps pipeline. It is not mandatory to have a QA pipeline host on the Development team DevOps pipeline or application deployment pipeline. QA can have its own DevOps set up. Often the QA team set up their own DevOps tool and maintain their pipeline separately.
Setting up a DevOps pipeline may be easy to start with but it can quickly become a complex task to maintain and add features as you onboard more and more projects on it. Especially with a large organization with several projects and multiple QA teams it is quite a large effort to maintain a DevOps pipeline and manage the requirements from multiple teams for their DevOps need.
If there is an organizational DevOps team, it would be best to have the DevOps team set up the pipeline for the QA team as well. Most of the time it would be a conversation between the Automation architect /lead and DevOps team on the Automation toolset and QA requirement to come up with the strategy for DevOps pipeline for QA.
QA automation tools have their installation procedures. The automation leads and architect would be able to help the DevOps team to set up the tools. It would also be a good option to provide QA with a test pipeline where they can play around while working on new features for QA DevOps.
One other reason that you want to leverage the organizational DevOps pipeline is the infrastructure ask. As you onboard more and more QA projects on the DevOps pipeline the infrastructure need for the pipeline keeps growing. Whether you decide cloud, virtual environment or on-premise hardware to support it, you need to have a strategy to support the ever-growing demand for QA DevOps.
QA teams often run several automation jobs in parallel so while planning for infrastructure needs, all the QA teams in the organization need to be involved in capacity planning for the pipeline. The last thing you want is several jobs sitting in the queue waiting for the executor node to be available.
One other aspect of the infrastructure planning would be to make sure the pipeline can provide enough computing and memory capacity to support the peak load. Otherwise, your QA test can fail even though it would not be because of test script or application failure.
One other considering that goes into setting up a well-structured pipeline is to set up the role-based DevOps pipeline. This becoming critical when multiple QA teams in the organizations are using the same instance of the DevOps tool. You won’t want some other teams to have access to modify the DevOps job for your team. Based on your QA organization role and responsibility you can set provide the required access to the team members. Also, create separate space within the DevOps tool for each team within your organization. Each team will only have access and visibility to their jobs. With a large team at hand, it can be quite a job to maintain the role-based security model and keep up the need of the QA team. Having your organization DevOps team providing the expertise and maintaining the security model will help QA DevOps strategy to be implemented fast.
QA DevOps pipeline can be on the same pipeline as of the Dev team or be on its pipeline, but to make the best use of the CI/CD model it is important that the QA pipeline is hooked up with the deployment process. You want to make sure that the QA jobs are triggered as soon as a new build comes through from your release team. Leveraging the same DevOps team to build the QA pipeline help as they are already aware of the application deployment process.
DevOps can be set up for the QA team as service and all the QA teams in the organization can leverage them as a shared service to onboard their QA jobs.
Overall leveraging your enterprise level DevOps team will help to move the QA DevOps fast and without getting dragged down into the complexity of maintaining a DevOps infrastructure.