As we were talking about questions the software test engineer has to ask and how he needs to ask them, I was struck with the thought on what questions people ask test engineers and why?
Some of the questions I generally get asked all the time are :
Why Testing ?
Some of the questions I generally get asked all the time are :
Why Testing ?
What do you guys do ?
Why do you WANT to break software ?
Isn't it boring ?
Did you start out to do this when you were studying ?
Is it even engineering ?
etc. etc.
Why do you WANT to break software ?
Isn't it boring ?
Did you start out to do this when you were studying ?
Is it even engineering ?
etc. etc.
There are probably tons of blogs all around talking about the art or science of test engineering but here's my take on why people have these questions in the first place.
- Most people don't realize that each and everything that we use has to be tested. Creating any and everything is an iteration. Even GOD had to make several iterations before finally creating humans :) And the evolution goes on. Anything that exists can be made better. We started with a plain dumb telephone which was lying there in one corner of the house and fast forward 100 years and we have the "smart" phone. Somebody has to always say - "Yeah this looks pretty good, BUT we need to fix this/that and maybe add this to make it better". That is the place testers come in. They use the product, know how it is built, try to get at the flaws before everyone else jumps onto it and give suggestions/corrections to the creators on what can/should be done to make it better. Wonder why every healthy government needs to have an opposition party ? That's the exact same reason you need a good testing team - to debate your ideas, bring up situations wherein this policy/solution might not work, try to make it fair for the entire population/users,etc, etc.
- Software testing is (surprisingly !! ) NOT taught in schools. This is changing rapidly though but the people who are already in the field for many years and especially people outside it sometimes do not realise the value of it. Personally I think there should be a mandatory course for software testing for each and every software developer. The way I see it is- its not important how many lines of code you right in a day, what is actually important is how many of them actually work well in all the possible cases. How many times would you visit facebook if every other time you visited the site was either down or you ran into a bunch of errors while accessing any piece of information ?
- A popular myth is that the failure to a software is not as critical as failure in some other professions like civil engineering or medicine. With the extent at which we are relying on software these days, its getting more and more critical every passing day. Every sector from healthcare, telecom, aeronautics to banking have complex software systems running them. If these systems are not properly tested the outcome could be pretty embarrassing for the company who wrote the software and the one running it.
- People often think test engineers are people who were not good enough to get into development. This comes from a common misconception that test engineers read from a precreated script and just check if those things work fine and do not have to think much - It is repetitive and boring. Its actually quite contrary to that, you need to know the depth and breadth of the system to break it. It is an art as well as a science. All the hackers out there who break into production systems are basically expert testers who know defects which might not have been discovered by the other test engineers. For details on what a test engineer does refer this.
Like anything related to software, software testing is a fast evolving field. People who work in it or intend to work in it need to know its worth. There'll definitely be managers, co workers and in some cases even companies who do not realize the importance of testing but eventually they will and in a not so pleasant way. As the Digital Revolution reaches the masses and as the systems become more and more complex and interdependent the demand for a test engineer who knows his ways around and can find vulnerabilities and critical defects quickly will rise.
- Most people don't realize that each and everything that we use has to be tested. Creating any and everything is an iteration. Even GOD had to make several iterations before finally creating humans :) And the evolution goes on. Anything that exists can be made better. We started with a plain dumb telephone which was lying there in one corner of the house and fast forward 100 years and we have the "smart" phone. Somebody has to always say - "Yeah this looks pretty good, BUT we need to fix this/that and maybe add this to make it better". That is the place testers come in. They use the product, know how it is built, try to get at the flaws before everyone else jumps onto it and give suggestions/corrections to the creators on what can/should be done to make it better. Wonder why every healthy government needs to have an opposition party ? That's the exact same reason you need a good testing team - to debate your ideas, bring up situations wherein this policy/solution might not work, try to make it fair for the entire population/users,etc, etc.
- Software testing is (surprisingly !! ) NOT taught in schools. This is changing rapidly though but the people who are already in the field for many years and especially people outside it sometimes do not realise the value of it. Personally I think there should be a mandatory course for software testing for each and every software developer. The way I see it is- its not important how many lines of code you right in a day, what is actually important is how many of them actually work well in all the possible cases. How many times would you visit facebook if every other time you visited the site was either down or you ran into a bunch of errors while accessing any piece of information ?
- A popular myth is that the failure to a software is not as critical as failure in some other professions like civil engineering or medicine. With the extent at which we are relying on software these days, its getting more and more critical every passing day. Every sector from healthcare, telecom, aeronautics to banking have complex software systems running them. If these systems are not properly tested the outcome could be pretty embarrassing for the company who wrote the software and the one running it.
- People often think test engineers are people who were not good enough to get into development. This comes from a common misconception that test engineers read from a precreated script and just check if those things work fine and do not have to think much - It is repetitive and boring. Its actually quite contrary to that, you need to know the depth and breadth of the system to break it. It is an art as well as a science. All the hackers out there who break into production systems are basically expert testers who know defects which might not have been discovered by the other test engineers. For details on what a test engineer does refer this.
Like anything related to software, software testing is a fast evolving field. People who work in it or intend to work in it need to know its worth. There'll definitely be managers, co workers and in some cases even companies who do not realize the importance of testing but eventually they will and in a not so pleasant way. As the Digital Revolution reaches the masses and as the systems become more and more complex and interdependent the demand for a test engineer who knows his ways around and can find vulnerabilities and critical defects quickly will rise.
No comments:
Post a Comment