Hmm! The topic looks interesting but will the content be as interesting as the topic ?
“Of course, yes, provided you read it”
Some days back I was chatting with one of the Test Lead who is in touch with me after this blog of mine. He was worried about the quality of young Tester’s of today since more than 80% of the people he has interviewed couldn’t clearly explain the concept of “Severity” and “Priority” and its significance in a Bug.
I was wondering what makes the current generation of testers to be so (inclusive of me).
A year back or so, I too wouldn’t have been able to talk about the topics of “Severity” and “Priority”. Luckily my mentor told me “Pradeep, the only person who stops someone from learning anything is themselves”. I have fought a lot with myself and learnt more than what I was before listening to the above quote.
__Bug Bugger Buggest __
For those who haven’t grasped from the books and articles, here it is, an attempt from me to take an example and discuss what exactly is “Severity” and “Priority”.
Lets say you have designed a MOUSE, a mouse that you have been using for while with your PC’s. (Gyan: MOUSE stands for Manually Operated Utility System Equipment, how many s/w engineers know this?)
Low Severity – Low Priority - The Mouse you designed has a LED indicator and it fails to work with the prototype you have developed and there is lot of time for the version of Mouse with LED indication to be released.
1) This forms a Low Severity because the LED you have put into the Mouse you designed is just an indicator to show when the Mouse is in use and does not affect the core or basic functionality of the Mouse.
2) This forms a Low Priority when you have lot of time for the release with LED indicator on the Mouse enabled.
Medium Severity – Medium Priority – The Mouse you developed has a scroll wheel, which gets stuck infrequently that can be released by exerting more pressure on the wheel and there is a month for the release to happen.
1) This forms a Medium Severity because the scroll does not get stuck frequently and this problem can be overcome by exerting more pressure on the wheel.
2) This forms a Medium Priority because there is a month for the release and this issue is analyzed to take less time to get it resolved.
High Severity – High Priority – The Mouse you developed makes the PC to reboot once you plug in its hose to the USB port of the PC. (Assuming it to be a Plug n Play USB Mouse)
1) This forms a High Severity since the Mouse reboots the PC, disallowing you to continue your work or allowing you to loose your unsaved data.
2) This forms a High Priority irrespective of whether a release exists or not since the very meaning of Mouse itself is lost due to this bug/defect.
There are another six combinations like Low Severity – Medium Priority, Low Severity – High Priority, Medium Severity – Low Priority, High Severity – Low Priority, High Severity – Medium Priority. You can mail me with examples of the above 6 combinations, I would be interested to know how creative are you with framing bugs for the above categories.( Excuse me if I am further boring you by asking you to work on it)
__ Bug Bugger Buggest ___
If still you haven’t understood what is “Severity” and “Priority” is ……
“If your girlfriend is talking to someone it is a High Severity and the need for you to look for a new one is High Priority"
Sunday, March 26, 2006
Monday, March 20, 2006
No, stop thinking of Jurassic Park!
“Then why have you put the topic as Dinosaur Egg Testing?” isn’t that you would like to ask me?
Again, No, I am not going to talk how to test a dinosaur egg but instead …
Exploratory Testing is something that is of very high interest among testers and lots of controversies come up when this topic of E.T. is put up in Yahoo/Google groups discussing on Testing/QA. I wanted to give it another dimension as per what I think it as and how to handle it. Here it goes …
__ Dinosaur Egg - Testing ___
“Pradeep, you still haven’t explained why you have put up the topic as Dinosaur Egg Testing and have further confused us that it has some relation to Exploratory Testing?” without shouting at me, are you trying to ask this? :D
Imagine you are exploring a forest which you have never been before and you are looking for some food to avoid starving (if this hasn’t interested you, further, imagine you are with your girl friend in that forest). The only thing you know in that forest is the place you started exploring is a safe place and you are exploring the forest for food (or anything, just understand the context).
Surprisingly, say you came across a Dinosaur’s egg and your girl friend screams out of fear (Now don’t imagine of hugging her to console, just like any other English movie and think something as a Tester).
Link with Exploratory Testing –
This scenario according to me is the best to explain in simple terms what Exploratory Testing means and how to go about it –
1) As per the above scenario, it is the egg (an unexpected result), which is causing someone to think how he/she reached that place. The egg caused an excitement in a Testers mind and hence the confusion starts as how to go back to the safe place?
2) It is not a good idea to look for places/trees you remember, when you were exploring after seeing the egg, instead it is a lesson to always look and mark such places while you are exploring, and sometimes you may land up directly at the Dinosaurs mouth.
3) Had you started exploring the forest by dropping some pebbles (data logging) that you can identify, you need not get excited when you see an egg.
4) Also if you are unable to re-trace the route you came, you should at least ensure that you don’t meet the Dino face-to-face (just like meeting your manager on a one on one), you should smell the route (investigate the further steps) you are taking.
5) Hope you reach the safe place. Now at least are you able to remember the way back to the Dino’s Nest, so that you know what route not to take? (Reproducibility)
6) The Dino need not be near its egg always and once you have seen the egg, you should expect the eggs to hatch and your problems to multiply soon (Analysis of a product as more features are going to be added) As a Tester in forest, you should always predict more nests (un explored bugs) and many Dino’s in the forest (Escape defects)
7) Guys, if you are a good Exploratory Tester in such a forest, your girl friend will be highly impressed (appraisal) and you need not stop exploring … Search, if you could find a better girl in the forest (Bonus).
__ End of __ Dinosaur Egg – Testing ___
"In search of food , sometimes , you yourself become food for someone"
Tuesday, March 14, 2006
For those who have already read my other posts , this is a better feast and for the first timers here , Good thing to start off !
One of my fellow tester read my posts and had sought some help in testing an online application. He was interested to know how to crash the online application to observe what happens to the data that was keyed in before the crash. I took sometime in thinking and jotted down a few points and sent a mail with those points.
When I read one of the point I had written , I myself was excited. Wow ! I had hit upon a very good point in testing and here it is for you.
__ Hiring Virus for Testing __
Once I was doing some maintenance work for one of my uncle's office PC , I usually enjoy doing it for my uncle and in one such instance my uncle was complaining that one of the PC's had some problems and he wants to reformat it. I asked "mams ( Tamil-Indian style of uncle ) do you know what formatting means ?" ...
"Each time I switch on the PC some bull shit comes up , that is why I would like to format"he added.
"Wait , I think someone has infected your computer , let me deal with those viruses" that's how I started on to investigate and found ...
Viruses that attack internet explorer - Their roles and responsibilities !
- Such programs are a mixture of spyware+malware+virus+trojans+your sweet loop hole
- Such programs do not allow to open any Anti Virus webpages and auto closes if opened.
- Such programs do not allow download of any Anti Virus and auto cancels the download
- Such programs are written by good programmers cum testers and are mostly bug free.
Exploiting Viruses for Testing Online Web Applications - ( am I the first to think this ? )
- As most of the banking transactions are web based security/crash/exploratory testing is of high priority and hence these viruses can show you where you need to improvise the code.
- Generic web based applications too can be tested with some spyware which try to steal and change data keyed in or stored in the application/database.
- When such powerful viruses are used for testing the applications it gives a competitive edge to the company deploying such a testing and wins customer's confidence.
- Companies like McAfee , Symantec , Trend Micro...etc .. can make more money by selling of their virus collections to companies who want to test their applications with viruses.
- Virus writers would come out and say "hey , I wrote it and you are making money" , catch them or hire them.
- This way of testing eliminates 're-inventing the wheel' time of writing scripts to test for those cases for which viruses are already there.
- This can help to track the exploratory testing and can give a better edge in testing and a bad time for the developers if a virus toast their lives revealing a severity 1 priority 1 bug.
- It would be interesting to see people across globe paying money to buy viruses to test their applications and believe me viruses too will be pirated soon.
- Mobile viruses too will get more scope as testing mobile applications would take a much better edge as m-commerce is picking up.
___ Hiring Virus for Testing ____
"Future looks infected , A graduate may submit a virus as his degree project"
Disclaimer : The usage of virus for testing such online/mobile applications is purely my own imagination and I am not responsible if you adopt it and you face a loss of data/code/anything you may loose due to this.Adoption at your own risk.
Friday, March 10, 2006
As a Tester you must have seen something crash and reported to your senior casually "Hey , it crashed" , maybe you didn't force it to crash but still it did.
Here I introduce you to a very interesting Testing where Testers force crash the system to save your lives. Yes ! you guessed it right , it is the Testing that your dad's car has undergone.
I happened to see this testing in Discovery Channel and was amazed at the test cases people think.
What are we doing ... Testing applications , testing mobile phones , testing routers , testing banking applications ?
How many lives are lost if these things are not tested well ?
I haven't heard of any such case except huge money loss due to lack of testing but when it comes to testing those things that directly interact with death is really challenging ! ( come on , now don't act like a small kid in putting up a comment here as to "isn't your job challenging?" )
What we do is to test "How a product dies? and its analysis" but what you are seeing in the image is "How could people die?" , isn't that challenging ?
"Ha Pradeep , We are software engineers why do we need to read this ?"
If you ask such question , I appreciate you for your focus and insist you to go further ... there could be something you can learn as I did from these crash test dummies.
__Learnings from crash test dummies __
Crash Test dummies are designed by Testers , I don't have any proof but I am sure what I have said must be 100% correct.
- Testers should be aware of what data they need to collect from the system under test.
- Testers should be able to build prototype/simulate/emulate the real time scenarios , especially as the offshore Testing is booming in a country like India.
- Testers should be able to evaluate whether the collected data is enough to come to a conclusion about the performance or quality of the system.
- Testers should be able to identify the data they need to collect in order to evaluate a system performance.
- Testers should be able to communicate the developers clearly as what caused the crash and where could be the problem. ( Tester sees a crash and developer at the logs )
- Testers should be aware that a single person doing the testing is always not holistic as testing needs thinking and working from different dimensions and perspectives in order to achieve a better quality.
- Testers should be able admire every other testing that is happening and learn from it. ( only if he/she wants to progress in Testing , else ... Relax ... bindaas ! )
__Learnings from crash test dummies __
"Behind every life saved in an accident there is a tester and for every life killed in an accident
there is a test case missing"
Note : This post is dedicated to all thos Testers who have saved many lives till date and thanks to them for giving us good learning's in testing.
Thursday, March 02, 2006
You go meet a fresher and tell him "Hi , I am ____ , from an MNC and I have two kind of jobs and I shall take you whatever you are interested in" and also tell him "What would you prefer Development or Testing"
Should I write the most obvious answer ?
I was very keen on researching this and my mentor told me "Pradeep , Testing is more of a forced profession/job for a fresher , Rarely a person would come up and say that he/she wants to do testing and I am not sure if that person really has a passion to test in his/her heart"
I felt it true , when I was a fresher and went for an interview , the manager there told me "I can offer you testing and is it OK?" , without knowing what it is I did accept and I also crossed a stage where I started looking at development jobs but today is a day where I would never do that , not that I dont like development but just that I have started to like testing a lot more each day !
__ Why Testing failed in a freshers mind ? ___
Shall I blame it on BIG companies like Microsoft , Google ....
I think I need to ( a certain extent ?) and am not sorry for that , everyone entering in this industry dreams of entering companies like Microsoft , Google , Yahoo , Adobe , Cisco and so on ....
What do they do _ 1?
They want the best coders and they dont want their competitors to grab the best ones and hence organize a coding contest like .. Google India Code Jam which gets great visibility to the students and professionals.
What can they do _ 1?
Well , good that you have tough questions that people who are real good designers and coders can crack it and why don't they have a parallel Testing contest where people are asked to Test the code those Great Coders wrote ? Is it that they have so good coders whose code need not be tested. Even to grant them a prize as champion or winner , someone from the team has to test it , isnt it true.
What do they do _ 2 ?
Take up any written test by any company (atleast in India ) for a fresher. Not a single question about testing , Why ? Testing comes under a part of the CS/IT curriculum and why not ? Finally some of the people who clear the test having a passion for development are forced into testing ultimately resulting in either attrition after an year of experience or product quality at stake due to lack of interest.
What can they do _ 2 ?
They being aware that they need some freshers for Testing too can make an effort to give a different written test for people who want to enter testing.They can identify the talent people have in testing a product or application. Simply speaking the truth a company can get better testers than their competitors by doing so and moreover a better output , product quality improving , less time spent on managing attrition.
What do they do _ 3 ?
Money ! is a vital factor for most or I should be more frank here , for everyone. When I joined as a fresher and I was into testing , I got only 1/4th of what a fresher cum developer got in the same company. Wait ! This doesnt happen everywhere but still it does happen , right ? Even today I am paid less than a developer of my similar skill set or experience but without any guilt all companies put up saying "they are an equal opportunity employer and they dont differentiate" , aren't they ?
What can they do _ 3 ?
There can be a marginal difference for Developers and Testers but 1/4th is not at all good and if you call that an equal opportunity , I doubt your Math skills and so your development skills too.
When you hire a fresher , do not differentiate , me and my friend studied in the same class and got the same score and in the same company and he getting more than me just because I am a tester is stupid ! If you dont accept , check guiltometer , it will show its max.
What do you ( freshers ) do ?
Have you ever seen a fresher doing their final year project on testing ? Never ! why ?
Freshers too are responsible for being a bit narrow minded and this factor cannot be given so much weight-age as usually freshers are naive , I was naive , you were naive. I dont want matured replies as "No , I wasn't" !
What can you ( freshers ) do ?
Do I need to tell it after you have read so much ?
__ End of __ Why Testing failed in a freshers mind ? ___