Do you think the testing team should own CI/CD?

At Test.bash(‘Online’); during my experience report session, I asked this question. I’d like to ask the same question and understand it better.

Do you think the testing team should own CI/CD ?

  • yes, definitely
  • yes, but I don’t know where to start
  • no, it should be owned by the developers.

I’d like to know what everyone’s thoughts are and discuss some of the challenges that testers face when tackling CI/CD, and potentially also try to come up with solutions.

Hello @jaswanth!

The CI/CD process is one part of the overall delivery of value for your business. In my opinion, it doesn’t make sense to ask about the ownership of CI/CD anymore than asking who should own the process that feeds it, or, the very tired question, who should own quality.
I believe the project team should own the process used to deliver their products. Everyone along that pipeline has a stake in creating, implementing, evaluating, and deploying the product.

In my experience, the challenges faced by testers was largely the design, preparation, and construction of unit tests. While unit tests are largely the responsibility of the developers, our testing team were quality advocates in the design of those tests. The unit tests were placed into CI/CD.

I’m interested to hear of other challenges faced by testing teams with respect to CI/CD.

Joe

5 Likes

Nice point regarding unit tests. Can’t agree more!

In terms of the ownership, I understand where you are coming from, especially it being compared to owning quality.

My take on it was mostly regarding tangible tasks in setting up and maintaining CI/CD, and adding scripts and running tests. At least in my experience, the testing team has had more to do with CI/CD, especially running tests and sending back test results. Thats why I advocate for testing team to own it.

I agree with it being a team responsibility, but without ownership I have seen them not being fully utilised to its potential. For example, the source code and unit tests are owned by the developers, where the UI testing is owned by the testers. Having specific owners made things clearer, at least in the projects I’ve worked with.

Thanks for your insight. Looking forward to see what others have experienced.

1 Like

CI/CD is too broad a skillset for most test teams so it’s really better to think of it in terms of shared ownership albeit with a bias towards the start of the pipeline (i.e. the people who set up the infrastructure in the first place - usually developers).

1 Like

I think people have already echoed similar thoughts to me. CICD is so broad that every member of the teams should contribute to its success. People should understand that what they do can impact that pipeline. Code (applications and test) needs to be designed and built with pipelines in mind.

I think (from my experiences) that some people see it as a scary magic box, and are afraid to get involved.

I’ve enjoyed using pipelines to do some of the heavy lifting for the team

3 Likes

I think I’d rather have a delivery or operations team that owns CI/CD to which I am a member of, whether as a ops, QA, SDET, whatever. I want the testing to be more aligned with operations than a test team necessarily owning CI/CD.

4 Likes

It’s one of those things that is highly contextual.

Ideally CI/CD should belong to the team as a whole, but that isn’t always going to be the case.

I’m opposed to any idea that creates gatekeepers explicitly

2 Likes

If you’re at a company that’s already got separate silos - i.e. tests, ops, dev, etc, then it feels like an ops team should own the CI/CD system (as well as provide support and make clear the rails and limitations to the system).

Clearly lots of grey area, and the biggest one here is how flexible does your CI/CD system need to be? i.e. if dev teams are using different languages, technologies, etc, and they need high flexibility to spin up containers, run various types of build scripts, etc, then what “ownership” means could be very different. i.e. an ops team may own providing a bare vanilla CI/CD system, maybe some accounts/permissioning, but everything else (configuration, pipelines, etc) is owned by the dev team.

3 Likes

This is a good question.
In my current place of work, we have Devops Team, Dev team, QA Team and so on.
Devops is a very vast area and one of the Devops task is to set up and configuration of other team members in devops.
Again Dev team sets up the environment and the CI/CD pipelines.
QA Team - we have the permission to set up the pipelines when required. QA team takes ownership of their pipelines and having said that the knowledge of CI/CD is always helpful in case of emergency rather than depending on others.

2 Likes

No, because there shouldn’t be a separate testing team. :slight_smile:

The entire delivery team should own the pipeline. If something in the pipeline needs to be fixed or worked on then the right person or two should handle it.

2 Likes