Thursday, December 07, 2006

Getting started with Software Testing

Suvasis asks, "I am trying to get into software testing. But I never took a course on testing. What would u recommend for a beginner???"

How many times do you come across such question? My approach to such kind of question would be to follow three golden rules of learning !

1. Read it.
2. Practice it.
3. Build Network.
Unfortunately testing is not something which might be taught at most schools. So, undoubtedly most things in testing are new for you as a fresher. So start with reading a lot. You can start with good testing books, online articles, testing magazines, online forums and the list continues. There are many good books in the market. Some of the best sites to refer to would be
Reading through their articles would introduce one to the world of testing. If you have extra cash on you, attending a seminar/training sessions might be useful (I say might be since I have no on hand experience of attending one of these). I believe what could be taught could be very well learnt by you. Another major source (and a free one) is that of blogs. There are many testers blogging out there. One person I blindly follow is Michael Hunter (http://blogs.msdn.com/micahel). Just reading his blog should get you hooked onto testing. So yes, you need to start reading.
ut all books is not going to get you anywhere, unless you practice it. If your day job does not support testing, make it your night job. If you write code, test it more sincerely. One practice I used to follow was trying to break my friend’s code for some project while he tries to break mine. Working in pairs could help. Try getting a partner. Not only does it make your code robust during submissions, but it also gets you better grades if you are still in your final years.
Look up Mozilla (www.mozilla.org). Participate in the open source community. You could download nightly builds from Mozilla and try to break them. Want to know what a test case or a bug report would look like? You'll get those on Mozilla. Did you know Microsoft Vista Betas were being shipped free? Get one of those and try to probe into it. The more inquisitive you are about testing, the more questions you will have. And more the questions, more you will learn. Sounds positive?
Sign up as Beta tester. Microsoft has a Beta testing program. Acronys has a Beta testing program. Try to look up some test automation tools. Dig into Junit and the likes.
Lastly, network around. Participate in forum discussions, write articles, and offer suggestions. Not everything you do might turn up being right. But if you aint getting your fingers slapped once in a while, you aint pushing the boundaries far enough. If nothing else write a blog.
Start working on a pet project, test it and upload it to one of the communities. People will download it, run it, and test it for you. Vice-versa! Every time they report a bug, you know where your testing+coding skills need to be improvised. Pick project ideas off Codeproject, Planetsourcecode etc. Buddy up with someone and build it, break it. Break it to build it. Try to automate your tests. Every time you wonder how you could get a certain aspect of it done, look up Google, ask people.And of course, if you land up with a Software Testing job, it just makes life simple.
Reading up, implementing it and asking around are what helped me. There aint any formula to getting started. Just get started with one aspect of testing, it leads to others. How wide you spread your arms depends on your interest.Quick advice before you venture into any coding. Write a quick Spec. Getting a clear spec is the first step towards being a good tester. Not only will it help you design, it will help you catch bugs before you start coding. So get started into testing and get going.

No comments: