A job better than testing…
It was a warm and humid afternoon in my University campus almost 10 years ago, when I told my professor on getting a new job for which I was very excited. The professor was happy to know that I’ll work for a multi-national and asked “my dear student, what is going to be your title?” “Software Tester, sir” I replied and the expressions of my professor changed and with a concerned feelings, he said “Oh ok. May you get some good job soon.” Ten years since we had this talk and I wonder what a better job than testing is.
One thing which I can understand is that a general impression back then (and it still prevails though it is fading away) was software testing is a B grade job. Computer scientist who can’t code and who are not good at logic, should go in testing. That concept is so wrong and all the good testers I have met in my career and have the privilege to work with them were as knowledgeable as the programmers rather let me say that they possessed more knowledge.
Why we need Testers with more knowledge? It has many reasons.
One is that usually one Tester consumes work done by more than one programmer. That is a separate discussion so as what is a good Tester-to-Programmer ratio that is going on for years but in actual, it is hard to find a 1:1. The average that I have worked is 1:3, though it depends on the type of project. For the purpose of record, I have worked in projects of 1:1 and also in 1:7.
So what does this mean? The tester has to have more vision of the product and its domain knowledge to see that individual pieces coming from programmers fit in it or not.
If tester’s focus is on just one of the modules and not on the whole system, the chances of success are very less. Where as it is good for the programmers to focus on their module, it is in the best interest of the project/product that the testers in the team keep an eye on the overall system.
Another reason for tester to have more domain knowledge than programmer is even obvious. From a programmers’ perspective, all she needs to care about is a dialog (say a grid) behavior, knowing how to connect to the data (say a SQL database), and how to display that data on the screen. Whether or not that data stored in the database and the information displayed on the screen makes sense to the user, requires some knowledge of the domain for which software is being developed. Definitely we need the testing eyes to possess the knowledge that the users of the software usually would have.
How has been your experience working as a tester? Or as fellow programmers what is your view on the testers in your team?