The current meta-trend of hidden software testing — in which much of software testing gets pushed to shift-right, post-production validation — led me here.
I’ve spent most of my life working with technology firms where testing was an unassailable virtue, and therefore, the concept of testing was constantly encouraged. Now, it seems like many companies are pushing QA upstream to customers.
The stakes for quality are still high. So why has software testing gotten such short shrift lately?
Test teams have changed
Remember when there used to be a QA team, separate from the development team in any decent-sized IT shop with a software delivery function?
This QA team staffed as many as one tester for every 3 to 10 Dev and Ops people. Test-driven development encouraged earlier unit and regression testing burdens to be shared between teams.
Unfortunately, first-to-market pressures truncated QA teams that faced ever-shortening test windows, and retained little authority to ‘stop the presses’ for quality issues. Many companies abandoned QA teams in favor of mingling testing and development. Who wants to be the buzz-kill that stopped the killer software release customers expected?
Test roles have changed
The sunset of the QA team also means we don’t have a ‘Head of QA’ any more. Titles containing “QA Specialist” or “Tester” became scarce about a decade ago. In a DevOps world, the testing function is increasingly integrated into pair programming or small Agile team exercises.
Some companies encouraged more coding on the part of testers, and more testing on the part of engineers, eventually leading to the rise of the ‘SDET’ (or software development engineer in
test) cross-functional role.
If developers must test their own code, and testers must become developers, who will independently validate that the software meets business requirements? Perhaps a magic testing box?
Test tools have changed
The grand age of automated testing tools has subsided. Richer freemium tools, and then, open-source software took over for the huge enterprise licenses sold by the likes of Mercury and Rational
and Segue from the Y2K testing days.
At this point, software observability became a hot new space, and testing lost its shine. Gartner even discontinued Continuous Testing as a product
category altogether.
Punting responsibility for testing
“There’s a tricky balancing act between QA and development,” Chris Cardinal, principal at CarbonQA, told me. “If you say ‘we’ll just let our customers test the software,’ I hope that it doesn’t come back to bite you royally. An entire brand can turn on bad app store reviews.”
Today, testing must still find a home within your process, or total failure will certainly catch up with your organization. That leaves several options:
Offload it to a new QA team. Why not restart with a tiger team of expert testers?
Offload it back to development. Better make sure they are incentivized for quality, not just speed.
Offload it to a tool. Test automation tools keep getting better, but don’t believe 100% unattended claims.
Offload it to a services firm. Benefit from specialized test vendors with their own expert methodologies and tool stacks that work closely with your team.
Offload it to customer support. Everything’s gonna be alright.
Offload SOME testing to your customers. Establish a beta tester program or try A/B, feature flagging and canary testing to shift-right. It’s not best for all workflows, but it may be the best real-
world test feedback you’ve ever had.
The Intellyx Take
This trend of hidden testing — and thinking we can hide testing — will pass. In the meantime, it’s kind of fascinating to watch how organizations can adapt and survive the change.