I’ve been a software tester for more than 5 years of my career and one question had been knocking over and over again in my mind which I had no answer for. Last time, in a general discussion while I was sitting in a community of my friends, the same topic hit once again in my mind. Tough, tough, really tough to answer – three times I said to myself. My colleagues always called the app is BUG FREE – never existed such an app. Then again, I initiated a discussion with my friends – why is it too tough to test an app to make it 100% bug free! After a couple of brainstorming sessions, few reasons emerged out of discussion and also something that my experience taught me over the years. Hope you’d enjoy it!
Reason #1: Human Factor
It said “we are still human” – meaning is clear – that human beings may have developed ROBOT, may have programmed complex applications, still they aren’t perfect unless they are some exceptionally popular programmers of the world, shining stars in the IT world we can say (even though, they do have certain problems that they never shared to anyone). Don’t know yet, if they are going to discover a ROBOT that may write error free code for your software app. However, until now, we are acceptable to the natural facts that humans are born to be erroneous.
Reason #2: Lack of Communication
Miscommunication, erroneous communication, lack of requirement gathering practices, requirement to implementation translation stage – all or either of them could be a reason there were several errors in the software app and your client wasn’t happy with the work. Why to always blame testers for their lack of testing abilities! There could be a series of reasons that nobody may have analyzed. Well! The most disappointing thing for a tester is when you call him/her and say that you didn’t fix the errors and the app is still not working (even though you did all your efforts and the app should be working)!
Reason #3: Unrealistic Timeframes
I know how it feels when you are called up by your Team Leader and assigned a task that takes more than 3 hours but you have to finish it within just one hour! I do believe that not only testers are facing the unrealistic timeframes but the developers who make last minute amendments to an app leaving many bugs behind for the testers to analyze and fix. Who in your case are you going to blame this for – developers or testers? Hard to say, but one thing is sure, we need to re-calculate the deadlines that we’ve formulated to perform a certain task.
Reason #4: Complex App Design
Do it fast, we need to finish this by 5 o’clock! When it’s already 4 in the wall-clock – You may have heard this over and over again when you are asked to prepare a complicated software application test case. Nevertheless, certain software apps require brainstorming sessions and need some R & D to get them finished appropriately. But when you are in hurry, your possibilities to perform that task reduce to only 40-50% and now you are left with no other option than to ask Google for help – which is again not possible to finish without errors.
Reason #5: Erroneous Third Party Tools
Ask a developer how many third party tools they use to help themselves even when they know that those tools are occupied with errors. For sure, they aid in the programming (class libraries, shared DLLs, HTML editors, compilers, debuggers etc) or there may be other tools like shrink-wrapped plug-ins/add-ons that they use to save time. However, a bug in the software may prevent your software app to run flawlessly. Again, I don’t know who we should blame this for when they are ruled by certain deadlines.
And in the end, I leave this topic up to you – guide me on how many errors I made in this post. I concluded the post with 5 reasons. Is there anything that I skipped here? Post your views or comments in the comment section below to help me out…