DevOps: The Rise of QA?

The DevOps movement which has been doing hard work to break down silos, improve deployment quality and even push towards continuous production deployments has focused on improved cooperation and communication between developers and the system admins (operations) who deploy releases out into production.

Recently, I’ve been wondering, “Where’s QA and test?” The DevOps community has put a lot of emphasis on automated testing, which is great, but I haven’t heard a whole lot about where manual QA fits in.

Listening to Timothy Fitz from IMVU champion continuous production deployment at the recent Leaders of Agile virtual conference was a little reassuring. Even though IMVU automatically deploys most code changes that pass tests to production – deploying many times a day – there’s still skilled, human testers involved. They test new functionality and features before those features are enabled and made visible to end users. So, QA and testers do have a place.

A aggressive view of the role of testers was presented by Bola Rotibi’s in her editorial in SD Times, “Rise of the machines: Power brokers in DevOps bonding! While Ms. Rotibi’s thesis was that communication and automation are key (and we love that), she explored QA’s role as a conduit and facilitator between development and operations:

The line of communication between Dev and Ops needs to be clarified. Neither is well-versed in communicating what either needs to carry out their respective responsibilities. QA and testing, a group within the software delivery team, could and should help smooth the relations between the two sides.

Today, testing is seen as an extension of development rather than a core part of the deployment team. But QA and testing teams need to have a broader scope and a more active role in shaping and strengthening the DevOps relationship. Many of the management and monitoring tools are raising the profile and capability of the testing function as a key conduit between DevOps.

This strikes me as a critical step in the evolution of a traditional, siloed IT shop into one with stronger development to operations coordination, trust and cooperation. Even today, QA teams have many of the needs of development teams as well as operations. They have infinite work and need to move quickly and test new builds frequently. Their pace is closer to development’s than operations. At the same time, if things aren’t being installed properly in QA, if control is lacking, their work can be wasted. QA should be primed to lead Dev and Ops as they move forward with Agility and Control. What remains to be seen is if QA and test has the courage to embrace automation and enough respect from their partners in the IT organization to be able to lead.

Speeding Tests by Distributing Them

Seeing Geronimo 2.0 pass the Sun TCK tests brought a smile to the faces of the team here — our guys helped the Geronimo team achieve shorter test cycles by distributing tests with AnthillPro. So what’s the trick to distributing tests?

Automate the Deployment

The first step to distributing functional tests is to make your deployment process push button and repeatable across your test farm. This is pretty much AnthillPro’s bread and butter, so we’ll leave that for another post.

If you want to distribute unit tests, you can always just move the test binaries and the compiled code out to build farm machines using the same mechanism.  Continue reading