Promote testing rather than monkeys
This is the 13th post from my sincere dev manifesto series.
Professional testers make a big difference between a product that makes people lives easier and a sausage factory. They also make a difference between tests and checks.
Checking is confirming the software gives the expected results in a given scenario. It’s what we get when we practice BDD for example. We agree on actual examples, with values for inputs and outputs, for anticipated use cases. These are the scenarios we want to check again and again to uncover functional gaps. To avoid computers making fun of us, we automate checks as much as we can. Checking is only one of the many tools testers use to extract information from our creature and its context.
Testing is a journalist’s job. Testers prepare test sessions on given topics, gather information, compile it, and render the results in a way that is relevant to given audiences. Testing can be checking expected behaviors, but also/mainly giving information about unpredictable things, like performance, ergonomic, security, limits of the system, instabilities, surprises… Tons of things that can’t be just checked.
Testing is as manual as developing with an IDE and a computer, continuous integration and deployment with analysis tools, etc (i.e. it is manual, or rather intellectual). You can automate testing as much as development, management, or proof-reading this article (i.e. it can’t be automated). Testers use many automated tools to gather information, but also define strategies for using tools wisely, select information to extract, and compile this information in an intelligent way to get in touch with target audiences.
Testing is central to all problems of all stakeholders. It is about all constraints of the environment, technical, political, functional, you name it. Testers need to understand details and generalities. In my opinion, it is the most difficult job in software. And probably the most valuable, because testers help you understand the most.
I commit to promoting the job of testing, and promoting our need for testers that are professional, competent, influential, and well payed.
Disclaimer: though my wife is a professional tester, I’m writing this article under neither threat nor greed.