Should Tester refuse to test if there is no specification?
This is one of the most notorious statements that one can argue with any of the development manager / Lead / developer and can convert the dialogue table into world war III grounds. But for me, this is one of the statements that provoked me to think about this immensely puffed up statement and then try to publish my views on it.
I will start this blog with one of the anecdote. In one of my earlier company, that I worked, I tested a GUI application for more than 4 months. After performing a rigorous Testing cycle on it, when we showed it to our customer, he simply said that this is something totally different GUI that I discussed from you. After having a lot of brain storming (and blame storming) with them, it has been decided that we will again develop that application. And this time, we will not only create the specifications but we will get it reviewed by our customer also before going for the implementation.
Now the fact is that initially, we, as a Testing team, we have no proper specifications. We are only following the instructions that our superiors are giving to us about the design. Moreover, we are following a treatment (or a prototype) created by some other company to test our application. But all went bad. The customer simply refused the application and we again started from scratch.
Now this could be stopped; at least at that moment of the Application Development Cycle, when the Testing started. Since I was not so experienced in Testing at that time, my manager should refuse it to Test without any specifications. But that didn’t happen and the whole team have paid price for that.
One of the core problems of Testing is the infinity of possible tests. And to create at least 50% of these tests, testing team required good, complete and proper requirements. The better we understand the product and its risks, the more wisely we can create more tests.
Most of the time, the Software specifications are usually not written to such details as to someone outside the organization can follow. The resulting software usually falls short of satisfying the specifications. The results can be even more costly in time and money than having the software developed/tested onsite. In this scenario, which is quite common now a days, creating the test cases will become a major challenge for testing team.
In my opinion, testers should refuse and strictly say “NO” to test if there are no approved requirements against the application. Sometimes, I have seen that if the customer fired any issue in the application, the management tries to put the testing team on the spot without even thinking over the requirements issue and complexities. Management should try to know why behind what.
To achieve better quality, build a better product – better code, better training, better support, best software practices and above all better documentation.
So, start thinking differently and refuse the release to test if there are no proper requirements. There are many who wants to make a difference but don’t know where to start. Better to start from here itself. Definitely it is a new and challenging challenge for test team but you should make a difference in how you view challenges.
It’s better to act smartly and intelligently for a testing team and refuse to test the application if there are no proper requirements documents. It is my personal opinion that if testing team continues testing the application without proper documents; they are doing well for nothing. Intelligence is not to make any mistakes, but quickly to see how to make them good. Grow up testing team, and start paying value to your work. Remember “VALUE HAS A VALUE ONLY IF ITS VALUE IS VALUED BY YOU”.
-- Sanat Sharma