I am sure lot of people in software testing might find this write-up offensive. But I have seen many people claiming to be in software testing for a long time and I find them lacking the basic skill sets required in testing! And at the same time I come across many freshers trying to find a job in testing and some new comers in testing, with far better testing skills. So I keep wondering if years of experience has anything to do with the skills required for software testing. Or is it the testing skills and passion for testing that matter?
I am not disputing the fact that experience helps one to grow in his profession (that applies to software testing too). But to me, it’s the number of hours you spend testing an application that matters, rather than the number of years. One might have spent years sitting in front of his office desk. But it’s the time spent on testing a piece of software, which matters and adds to his experience in testing. But the irony of Indian software testing industry is that here the employers pay more attention to a candidate’s years of experience than his testing skills. And that is one thing that constantly keeps bugging me!
Here I would like to share one of my experiences with my readers. In my earlier testing days, once I was given a website to test. And there was an image upload feature in that. And it was supposedly already tested and passed by a senior tester. I had to just verify it once again to confirm his belief that this feature was error free! So before I could start, I tried to get some test ideas to test the feature! And these are some of those test ideas which looked fair enough to be used as test cases:
1. Test uploading different types of image files (like .jpg, .png, .gif, .bmp, etc) and see if I could upload them.
2. Test uploading other files (like .exe, .dll, .mpg, .mov, .mp3, .wav, .rm, .doc etc) and see if I could break the uploading process.
3. Test with an image file with size other than the specified limit (the maximum allowed size was 500KB. So I had to try with 0 KB files, 1 MB image files, 5 MB files etc).
4. Try uploading a virus infected image file [You can use EICAR (European Institute of Computer Anti-virus Research) test files. These files are not actually viruses but behave as virus files] and see if the web server could detect the virus and stop the upload!
5. Test typing in a wrong path (like typing ‘F:\ walpapers\aamir_khan_001.jpg’, in place of a correct path ‘F:\ wallpapers\aamir_khan_001.jpg’). Look at the wrong spelling of ‘walpaper’). This can easily happen if a user is entering the path of the image file to be uploaded instead of browsing and selecting the image file. I had to see that the system was capable of detecting the wrong path name of the file.
6. Test cancelling an upload process and see what happens.
7. Test with a slower network speed and low system configuration.
8. Test with corrupted image files (wrongly encrypted files).
When I tested the feature, to my utter surprise, most of the above tests failed! It was because the person, who had tested this upload process, had only tested the positive cases and had not bothered to use the negative conditions which might have broken the feature. And let me tell you, at that time we were not using any test case document for testing. So we had to test the features with our own test ideas.
So how did he miss these things? I am not trying to prove that the tests that I used are the best tests to test the image upload feature. There might be still better and more effective tests. But to me, these tests seemed (and still seem) as basic tests to test an image upload feature. Although the person who had already tested the feature was *senior* (in terms of number of years of testing experience!), still he missed these feature errors. At the same time, I think the reason I could catch the errors because I had more testing experience than him (in terms of number of hours spent in testing)! So that helped me to test the feature better than him.
So it does not matter if you are a fresher or a person with some experience. If you have spent enough time testing a piece of software, then that adds to your testing skills. Try spending more time testing something. Believe me that helps a lot in improving your skills as a tester. You might be having long years of testing experience or numbers of testing certifications (I have neither of them :) ). But unless you do some real and passionate testing, you can’t become a better tester. Practice makes one perfect. And that best applies to software testing. So keep testing and try to become a better tester.
Happy Testing …
Hi Debasis,
ReplyDeleteThis is a wonderful post as it challenges the myth of years of experience.
I differ in my opinion w.r.t. hours of testing as well. Or to be precise, I should say, I want to extend the debate a step further. If one is spending decent number of hours in testing, in the long run, it also matters, on what kind of testing, he was spending time. One should plan his or her career such that, he is involved in different kinds of testing, and not the same job over and over again. I agree that one can make the same job interesting too by adding innovative kinds of testing, but still there is a limit. So, I suggest that a person whould deal with functional testing, performance testing, security testing, unit testing...and so on. He should atleast give it a try. I have tried it and I found it quite challenging. It keeps me on my toes, trying to learn one thing or other every day.
This is what I call - "Hybrid Career Approach" - breadth-wise career steps, while covering decent depth in the time frame available. You can see details on this at:
http://testingperspective.blogspot.com/2007/04/taking-my-next-testing-career-move.html
Once again, that's how I think about it. It's a matter of perception after all.
Regards,
Rahul Verma.
You may find in life that your 'boss' or someone 'senior' to you has fewer technical skills than you feel you do.
ReplyDeleteGet used to it, that's life.
Using your talent to make your boss look good can often be more useful than just complaining about it.
Debasis , I would like to site a small example on my own experince
ReplyDeleteI was new to the team..We about 8 crowded in a single PC & were trying to create a process(uploading a file)without error
I was jus lookin at the system with no clue of what they were doing. I saw some error thrown as "Data Issue, Check Again"
All started giving their own inputs/ comments to rectify it. But all in vain.
I dont know what made me to think, suddenly I asked the guy who was next to the PC to check whether input field entered is actually the number zero or alphabet O. Showing least importance he just checked and tried the process & it got uploaded without errors.
All made a quick look at me. It made me feel proud at that instant.
To be honest I dont even know what they are doing.
Debasis, I want you to comment on this.
Hi Pradhan,
ReplyDeleteA small suggestion,
Why dont we have a section of something like "Lessons learnt"
so we may get more views across applications & which can help others to think in an alternative way based on this section.
why because we can have a source where lies the options to discuss wat would have went wrong.
For example, You can list out various scenarios & all the defects dat u have raised.
Do u think this 2 be a gud suggestion or is there any other mode to track such things?
@ Kalpana,
ReplyDeleteIt is quite probable that one might enter number zero instead of alphabet O or the vice versa while trying to enter some input via keyboard! This is sometimes hard to figure out because of the visual similarity of both the characters. And ironically, zero and O are placed very adjacent to each other in a QWERTY type modern day keyboard [A bug by the keyboard manufacturers! :)], making it still easier to mistype these characters!
Coming back to your testing story, I think you were able to point it out because, you might have come across a similar situation before (hours of testing experience!) while testing a similar application . And this "Testing Oracle" helped you while testing with your colleagues! I think, now you must have realized the importance of "hours of testing experience" over the "years of testing experience"! :)
@ Kalpana,
I think you are suggesting to have a software-testing-forum kind of platform here. I am afraid, Blogger does not support such features as of now. As a workaround, at least we might do it via commenting. In case you have any specific topic to discuss, you may contact me via email. Happy Testing...
-Debasis
I strongly agree with what debasis has pointed out in this blog. This is really interesting and to my knowledge true to the core. I would request debasis to include and briefly define the variations that the testing world has described in names like Functional testing, Integration testing, Performance testing ....blah blah blah. Would be glad if you could break down further in clearly defining the terms associated with testing
ReplyDeleteCheers
zakir
It was amazing to read this blog. Thanks for this. :)
ReplyDelete