If there was one big software testing trend this year, it was this: Testers took on the role of business partner, shedding their image as "bug fixers" once and for all. In 2012, test professionals helped business stakeholders make better decisions about where to spend their development and test resources. And as they gained stature in their organizations, QA pros also broadened their skill sets, writing test automation scripts, doing exploratory testing and conducting basic security testing.
The tester's role is about helping business people figure out the right things to deliver, said SearchSoftwareQuality.com expert Lisa Crispin. "The truth is that business stakeholders may be wrong about what features [an application needs]." Testers must take a leadership role in figuring that out, she said.
The image of the tester as a bug fixer -- or the person who simply tests requirements to make sure they work as specified -- became a thing of the past in 2012, Crispin said. "Does the code meet requirements? It does? Good. Release it, forget about it and start working on the next project," she said, describing the now outdated mindset.
The QA role doesn't end when software is released, said Crispin, a tester at software consultancy Pivotal Labs, in Colo. "We have to start measuring whether the features we've already released to production are delivering the expected value." Testers need to keep asking whether the software they deliver is still serving the business.
In fact, business alignment with testing organizations is a hallmark of all successful software projects, added Ken Vane, IT change and configuration manager at Navy Federal Credit Union, in Va. Testers represent the interests of business stakeholders, he said. "Testers are surrogates for the business."
A little bit of code
2012 was the year all testers "had to learn to write a little bit of code," said Johanna Rothman, of Rothman Consulting Group, in Mass. That's the result of two things: The Agile practice of test-driven development, in which tests are developed before code is written, and the increasing automation of software testing, which requires QA pros to script the tests that they want the tools to execute.
"Agile environments are morphing the roles of tester and developer. Testers are being asked to review code, do some scripting, write some automation tests, and developers are being asked to do more testing," said Yvette Francino, QA/QC Manager at McKesson, a health care services company in Colo. Testers today are required to have good scripting skills, added Jeffery Payne, CEO of security consultancy Coveros, in Va. "You see that reflected in job listings."
If testers without programming skills are going to survive, they will need to articulate their value to a new, skeptical generation of managers, said Matthew Heusser, principal consultant at Excelon Development, which provides services to improve software delivery. "That's a good thing."
He noted that this trend is not new: Testers have been told for decades that they need programming skills. What's interesting, he said, is why the idea that testers must be able to code took on such intensity in 2012.
"I suspect it has something to do with the last generation of software development management all suddenly retiring," said Heusser. Coding wasn't that important to that generation because many of those managers were subject matter experts, not programmers. "For this new generation, coding skills are important."
Taking on security testing
Coveros' Payne noted another software testing trend: 2012 was the year test organizations began to embrace security testing, understanding it as a key part of their jobs. They took on responsibility for tasks like dynamic testing, and moved beyond simply conducting functional testing.
"In addition to figuring out what applications should do, testers also need to determine what it should not do," said Payne. "A user shouldn't be able to try forever" when attempting to log in to a system, he added.
Voke analyst Theresa Lanowitz agreed that security testing is key skill for QA today. "Security is one of the pillars of what test organizations should do," she said. Neither she nor Payne suggested that test organizations do code review, a process that remains the responsibility of developers or security team members.
No more hiding under the desk
Another software testing trend that occurred in 2012 is that testers became generalists and asked to expand their skill sets said Peter Varhol, an evangelist for test tool maker Seapine Software in Ohio. "You’ve got to be able and willing to do exploratory testing, run manual tests, write test scripts and … quickly learn and pick up the slack in any phase of a project and testing effort."
Testers can no longer specialize in any particular phase of testing or in any one tool set or testing discipline, he said. "Increasingly, testing is not a field where you can expect to hide under the desk and do a given set of tasks."
A drawback to lack of specialization among testers is a potential decline in true expertise, said Varhol. "But testing and product development in general are such dynamic processes that you can rightly question whether expertise in a particular area will even be relevant in the near future," he added.
What's important for testers is knowing where to go to get the answers, Varhol said. "Testers are required to have better communications skills than ever before."
Testers as change agents
Communication skills are essential to the testers' new role of interacting with business stakeholders, said Voke's Lanowitz. "QA pros play an advocacy role for the [business] customer," she said. "They are change agents."
That's a huge shift from 2009, when many QA professionals Lanowitz met at trade shows told her they felt their jobs were at risk, in part because of the way the Agile movement had combined the developer and QA roles. "They knew they had to prove their value to the business."
In the last couple of years they have been able to do that, she said. "Their jobs are not about functional testing, or writing test automation scripts. Their jobs are about having a relationship with the line of business."
Dig Deeper on Software Testing Methodologies