Testing is often badged the necessary evil of projects and programmes. An expensive tick box exercise. A common school of thought is why would you even need testing experts? You can just leave it to the software developers, can’t you? In a word, no.
The value of testing
Without specialist testing resources, projects everywhere would be falling flat on their faces. Testers are indispensable, but this indispensability is difficult to measure. It is only when things go wrong – undetected software glitches causing website outages, or airline systems to crash – can people get their heads around the value of testing. The value of testing is the opportunity cost of what could go wrong if you don’t have the right testing in place. And software developers are not the people to do it. Here is why:
Objectivity: lots of people who work on a project think they can simply leave quality assurance (QA) to the people who develop the software. But that’s skewed thinking. Why would you ask software developers to check the quality of their own work? It’s like asking a child to mark their own homework. Can we rely on or expect a developer to perform their own job and that of a tester? And would developers be equipped to deliver the same quality and breadth of testing?
Perspective: coming at the same problem from a different angle is also important in testing. Developers and testers have different mind sets. Whereas they both want a top-quality piece of software, they will approach testing in a very different way. When someone makes something themselves – and they’re proud of it – they won’t want that thing to break or fail. Developers focus on verifying the code they’ve developed whereas testers actively look for the problems. They conduct negative tests to try and break an application before go live. Independent testers will apply the rigour and depth of testing that’s needed to flag any issues.
Testing scenarios: when developers test their own code, they aren’t accounting for new scenarios – what could happen if the website has a significant uptick in traffic, for example. Testers are thorough as they derive test scenarios from requirements and this will create different test cases which in turn will increase the likelihood of finding defects. Testers will also conduct static as well as dynamic testing, which is important as any defects that are found before go live is a bonus as they are much more expensive to fix once they are in production.
The earlier the better: getting testers involved early in a project is key because the earlier you find a bug or a defect, the cheaper it is to fix.
Testing requires logical thinking in creating test scenarios around business workflows. Testers will be rigorous, independent and will actively look for problems. Software developers will naturally be glass half full when looking at their own software code, so more unlikely to identify problems. Software testing is a unique skill, which underpins software quality. And at the end of the day, quality is something that we can’t compromise on.
If you would like to chat to someone at P2 about your testing capability, please get in touch at: [email protected]