I am working as software tester in India. I want to become more efficient in this field. Please kindly tell me what to do for that? Could you also give me some tips for manual testing and tell me what you think is best, manual or automated testing?
There are many ways to learn about software testing, including reading books and articles, attending training classes, listening to webcasts and hands-on work in the field. But there is no one answer book or one path to learn software testing. Consider, too, that there are many different types of software and what works well for one type of software may not work at all for another type. I'm using the word "type" to identify financial applications, e-commerce Web sites, medical devices, embedded software, manufacturing applications and so forth.
Tools and techniques that work in one environment might not work at all with a different type of application. I point this out not to confuse you or to be obscure, but as a reminder that as you learn what makes sense for what you are testing now, it would be best not to become too attached or rigid in your thinking about testing software. Even if you remain testing one type of software, technology changes and oftentimes our tools and techniques have to change as well.
These warnings aside, there are two books in the software testing field I often recommend:
- Testing Computer Software, 2nd Edition
By Cem Kaner, Jack Falk, Hung Q. Nguyen
- Lessons Learned in Software Testing
By Cem Kaner, James Bach, Bret Pettichord
ISBN-13: 978-047108112 (Click here for Chapter 3, Testing Techniques)
Keep reading and keep learning. As James Bach suggested in his tutorial on Self-Education for Testers, build your own curriculum. Find the books, articles, Web sites and blogs that help you learn. Build your own educational plan. James does a great job of pointing out how to survey a book. I interpreted his idea this way -- sometimes we want to learn in detail and sometimes we just need to know a little bit about a topic. For instance, if you decide you want to learn more about relational databases, investigate books at your local bookstore or library. You can also go online for continued research. Surveying multiple topics will help you choose what topics to you want to learn in-depth and what topics you want to gain an awareness of.
Additionally, I recommend finding opportunities to work with the technology you want to know more about. You can read, research via the internet, attend training classes and read tech magazines, but nothing compares to live experience. Seek work opportunities that help you grow. Look at your current position and determine if there are ways to increase your knowledge with the opportunities that you already have access to. I recommend a mix of learning -- learn technical skills about current technology and learn about testing practices. If you vary your reading, your own education will become more full-bodied and varied. I wouldn't recommend trying to learn one area -- say, Java -- in detail without learning more about requirements building or managing a defect process. So many topics are important in the field of software testing that it's nearly impossible to create one list and say, "Here, go and read these books." But I do believe it's essential to keep reading and keep learning. I generally plan several study times for myself each week.
Automated vs. manual testing
Regarding your question about which form of testing is best, manual or automated. There is no one right answer. Here are a few considerations to help you make the assessment whether a task is worth automating.
- Will the functionality need to be tested multiple times due to multiple internal builds before production release?
- Will the functionality need to be tested on different operating systems and/or on different browsers?
- Will the functionality need to be tested with many different types of data?
- If automation is built, will it be used for one product release or for many releases in the future?
- Does your company have sufficient staff to bring a tool in-house?
- Do you have or can you gain sufficient knowledge of the tool and automation techniques in general to put a tool to good use?
For additional thoughts on this subject, I recommend Bret Pettichord's article "Seven Steps to Test Automation Success."
Dig Deeper on Automated Software Testing
Related Q&A from Karen N. Johnson
There are so many resources out there about the ever-changing world of Web design and mobile testing, but to choose the most salient and insightful ...continue reading
In this expert response, consultant Karen Johnson describes strategies she uses for browser compatibility testing. Experience and knowledge of common...continue reading
Initiating test automation on your project team may seem challenging, or even overwhelming. Fortunately, expert Karen Johnson has been through this ...continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.