Saurabh asks. “I want a bit of help from you.Can you please tell me how to go about in testing as a fresher? I wanna know as to how I should start and what I should do.”
Amudu asks, “I love the way you write on testing. How to apply Testing in Real World was a great read. Can you tell me the way to learn testing?”
These are few Testing FAQs I come across quite regularly. Well, as far as learning testing is concerned, I strongly believe that there is no "Magic Bullet" for that. It depends on the person trying to learn testing. The ways that work for me may or may not work for you. Simply because, our contexts of learning and level of perceptions might be entirely different! Personally, I try to learn testing skills from a variety of sources like - a lot of reading, observing the things happening around me in my day to day life, interacting with testers, doing some real testing, and more importantly thinking on a testing challenge from different possible angles and dimensions. Here are few tips that I would like to give to freshers who are interested in a career in Software Testing:
1. Study a lot: I am not sure if there are many universities where testing is taught as an independent subject. Mostly students come across testing in their final semesters while doing their final project. But not to do some testing of the application they are developing but to write some theory about testing in their final project report. Sounds untrue! But this is the bitter truth.
Hence, when the students come out with a University degree in hand they don’t know much about testing. And as freshers, most things in testing are new to them. So a good starting point would be to start with lot of reading. You may start with good testing books, online testing resources, testing articles written by some well known world-class testers, testing magazines, joining online testing forums, and so on. There are many testing books available in the market. The two books that I myself follow and admire are:
a) Testing Computer Software, 2nd Edition by Cem Kaner, Jack Falk, Hung Q. Nguyen. (This book is rightly considered as “Bible for Testers”)
b) Lessons Learned in Software Testing by Cem Kaner, James Bach, Bret Pettichord. (This book can be more useful as you gain knowledge in testing. But can be equally useful for freshers too)
Some of the best sites to refer would be:
Cem Kaner’s http://www.kaner.com
James Bach’s http://www.satisfice.com
Michael Bolton’s http://www.developsense.com
Reading through their articles would introduce one into the world of software testing! Another major source (and a free one) of knowledge is that of blogs. There are many testers blogging out there. But be careful in deciding whom to follow and whom to ignore. One person I blindly admire is Michael Hunter from Microsoft. How could you stop reading him after reading his tagline (Making developers cry since 1995)! Few Indian testers who write on testing with real passion are Shrinivas Kulkarni, Pradeep Soundararajan and Venkat Reddy Chintalapudi.
2. Practice makes you perfect. This best applies to testing: But reading, all these testing related resources, is not going to get you anywhere, unless you practice it. If your day job does not allow you to practice testing, make it your night affair. If you do coding, test it more sincerely. Practice unit testing. As a newbie, 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 helps in most cases. Try getting a partner. That would give you more internal boost to perform better. Indulge in healthy competition to outperform each other. At the end of the day you would find that both of you would have become better at testing. As a bonus, it makes your code robust during submissions, and can get you better grades if you are still in your final years. :)
Check out Mozilla. 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. [So please don’t ask me again for a test case or bug report template in future :)] Download applications from SourceForge [The world's largest development and download repository of Open Source code and applications] and test them. Try to catch some bugs (There are many to be caught!). Did you know Microsoft Vista Betas were shipped free? Yahoo Mail Beta is still free. Upgrade to one of those and try to probe into it. [That was how I could find a bug in Yahoo Mail Beta]. If you are able to catch a couple of bugs that would certainly boost your confidence in testing. Sign up as Beta tester. Microsoft has a Beta testing program.
3. Be a keen Observant: I believe observation is a very essential skill of any tester. Try to observe the things happening in your surroundings. Try to learn how to look for details, how to analyze things from different possible dimensions. See if you could apply testing to your day to day life activities or objects.
4. Interact with testers: Network around with testers. Participate in forum discussions, write articles, and offer suggestions. Try to seek advice from other testers. See if you could find someone who could offer you testing related assistance. But never ask others for job assistance. As long as you are seeking technical help, chances are more that you would find a helping hand. Not everything you do might turn up being right. But keep trying. If nothing else start writing a blog.
If you can afford spending some extra cash, you might consider attending a seminar/workshop on testing. Seminars and workshops give one a chance to interact with other testers, share ideas, learn a couple of things in testing and more importantly to brain storm a few testing exercises.
Every time you wonder how you could get a certain aspect of testing done, look up Google before asking dumb questions to people. Time is precious. Learn to give respect to other’s time. And in turn they would respect your interest in testing. And in the mean while, 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 in my initial years of testing. There is no sure shot formula to getting started. Just get started with one aspect of testing, it leads to others. It’s like a chain reaction. What you need is to activate the right catalyst! How wide you spread your arms depends on your interest and passion in testing. So get started into testing and get going. All the Best.