Sunday, July 4, 2010

Let's Test the Tester!!

We all like owning a dog(watchdog) at our house. We enjoy it more when he sits/jumps on our command. Sometimes he becomes a bad boy when poops on the floor, destroys your yard, chewing your new shoes. It is so embarrassing, when you call your colleagues for dinner and the dog runs off with the roast -is not it? Dogs need training, and the very basic thing to remember while training a dog is that - we must praise and have small treats to reward him on a regular basis. Also while training, the feedback should be instantaneous. That's how it anticipates things with proper signal, right on the spot. There might be superior brain breed, but in general they have less brain than us and they are beast! Never expect a dog to learn "NOT To DO" stuff after quite ample amount of time gap, after committing a mistake. You might see your kitchen tans , cupboard being open - returning home after a very tiring day - as if the house was haunted by some crazy benevolent spirits , but no, you are wrong! it was your favorite dog who just got real! Dogs are good at Counter Surfing in absence of his Boss! Now after 5-6 hrs, if you try to yell at him, its actually of no use. Probably he might already have performed some other stupid(for us!) adventures.(his kinda!) , which you have yet to discover. Hence he doesn't know for which crime his boss is shouting at him. Anticipating right signal is so important!

Software testing is an integral part of a software environment. Software testing contributes to improving the quality of the product. Testing verifies that the system meets the different requirements including, functional, performance, reliability, security, usability and so on. The developer can himself do the testing, but you know what - he will never find a bug, because he will carry the same mindset to do the testing , which he had, while developing. I like keyboard shortcuts and 'Peter' always does it with the mouse. And its me who found how things hanged while hitting multiple 'tab' keys on his newly designed software. Its a different story, when 'Perter' says - close all the windows and restart it, it will all over work. I know he is a windows(Microsoft) guy. But I know I just saw a bug.

Very less as a professional but quite a few while as a student, I too wrote some code. Later I realized that - getting better at what you do requires quick feedback, whether it is positive or negative. The faster you get the feedback, the faster you learn. Same thing applies in case of a programmer. QA person or a Tester also should be fast enough to provide feedback on what crap he found on the code. It actually helps the programmer, else later bad habit gets permanent on his skills.

Have you ever seen, programmers launching a fight with QA team? I know it's sad. I also know that its for no personal grudge, as I see them sipping coffee together just the very next day. Had those visual not come forth, I would have definitely thought, we never need a QA team. As I am a peace loving person. In that case, the GoLive! plan would have been "launch it live without being QA'ed and get those bugs get caught Live! :-) ". I actually suggested this to one of my QA friend and saw him laughing his heart out. There is no better way to improve a programmer’s morale or his happiness. No QA is paid to do so in the workplace. I myself don't like - when people says - "Dude! Your blog has no unique write up's for a quite long time. You should also try to write on this X Y Z etc. etc. crap". But yeah I have to maintain my cool for that minute or so. I know how difficult it is to hear those sentences. I guess, this pain is more for programmers. They do coding day and night, gathering all their creative juices - typing away, writing all this awesome code, and nobody cares.

We definitely need a tester. They do such a superb job by contributing to improving the quality of the product and help maintaining the well-earned reputation of the organization by making it bug free with their valued quality testing. But my strong feeling is that - if the Tester emphasis more on (only)what he needs to test, he might have a peaceful life; might he even miss the misaligned text, hostile user interface, bad color choices etc. etc. It's really not something he was told to test. Programmer's also will probably like that - but what he missed here is a general intelligence which can't be taught. I have seen some good testers in my career; some of them even did not know how he became such a good tester. Probably, in the start of their career, they never tested software's (only)on the stated requirements, and rather might had just tried their hands on certain other bugs(feature) out of just mere curiosity, and was always constructive and positive on what he/she conveyed back to the developer. Developers later started to come to 'him and only him' after any new feature he developed. Saying so what I mean here is that- Tester must have love and curiosity on the products in and around the house. Should be methodical and must know how things should be communicated back whether it is a positive feedback or negative. As said earlier, being quick is such essential, as otherwise by the time you take your own sweet time to report back, some other real feature might have already being worked on those buggy foundation and later it is so difficult and annoying to trace down. Also, I have not seen much of the QA team people often appreciating or discussing on good feature that he liked on the product while testing. It can be very instrumental sometimes. I guess no company sets this eligibility point of "being pessimist" as one of the criteria while looking for candidate in this field.

I felt if QA team is humble and genuine when dealing with developers regarding defects.,the environment gets a friendly one, and this kind of collaborative effort really rocks! . Also, being a good listener is the key here. We often have this habit of trying to get rid of the person in front of us - when we think we have just heard all the information I needed from him. I know its very difficult to be a good listener sometimes! But it is really essential , as developers like to brief on features(no idea if it is excitement fever OR publicity stunt!! ) that's coming up with this release - and it is so helpful from the point of view of a QA, to get a casual brief on the new feature list on the cards which makes you feel already actively engaged with the project. They must also know what is the importance of what is now being all set to pass from their desk's which is going to hit the market and will soon face the hands of zero tolerance 'n' timeless user.

Its not always broad knowledge of testing methodologies- that helps to be a great tester I would say, but I think there are surely some such unique qualities which can help him make his engagement really beautiful & meaningful, on being such a crucial and important role with us.


1 comment:

  1. Testing is as tough as web developing because you have to pass through the whole debugging and every single line of testing provide you to decrease this complexity.


'Optimism Bias' leads to poor decision making!

Effective Time-management and Time-boxing is a concern for 'always ready people'.  Being from a background that I am from,  I am...