What can the Death Star conspiracy teach us about the ethics of software testing? Quite a bit, according to software testing process expert Matt Heusser. At the SoftwareTest Professionals Conference (STP Con) in San Diego, Heusser presented a brief talk entitled The Death Star was an Inside Job. Following a line of selectively chosen "facts" from Star Wars trilogy, as laid out in the Luke's Change YouTube video, Heusser puts forward the idea that Darth Vader was working in collusion with his children to purposefully bring down the Death Star from the inside.
What does that have to do with software testing? Well, Heusser says it's startlingly easy to spin the facts that a software testing program turns up in order to support an untrue story. The folks that made Luke's Change took the facts introduced in a series of movies with a very dedicated fan base and presented them in such a way as to shed doubt on the intentions of well-known characters. Without watching all of the movies and seeing these key facts in context, even diehard Star Wars fans might begin to doubt Luke's story. It's the process of selectively choosing which facts to present that is the culprit and, like the Dark Side of the Force, it can be seductive.
There are various reasons that a software tester or project manager might want to choose selectively which facts to highlight and which to hide. "It can be tempting," Heusser says, to "tell the story with the data," as opposed to telling the story the data naturally presents. For example, a project manager may be told, "We think we are going to hit the deadline; go prove it." This puts the test professional in a very awkward position. Software quality pros should be concerned with presenting true data, not hiding, abstracting, or skewing it in any way.
Most really great software quality professionals subscribe to a code of ethics such as the one laid out by the IEEE, which Heusser mentions. Sticking to such a code of ethics may seem stodgy at times, but in the end it's better for the software tester's career and it's better for the hiring organization. "I've told client's 'No, I can't do that; it would violate the code of ethics I have to subscribe to as part of the professional society.' And you know what, I still get clients and I'm doing okay."
The worst case scenario for many software professionals struggling with ethical questions is that they could lose their job if they don't just play along. But if you could lose your job for telling the truth, is that really a job you want to have? Heusser doesn't think so. "I think you can find something better," says Heusser.
He says ethical software testing is a role that's going to become even more important over the next ten years. As of now, the professional rules haven't been written yet. Progressive testers and project managers have got to write them as they go. "And if you can do that," says Heusser, "then at the end of the day, the end of the year, the end of your career, I think you'll look back and be happier than if you just respond to an immediate stimulus."