A good tester

A recent graduate wrote to me: “I am starting my first job as a software tester. What should I do to be a very good tester? Please advise”.

Answer: Beside your technical knowledge on testing, you also need some “soft skills” so you can work with others effectively. Good testers need organizational skills and an analytic mind to bring order and structure to the work they do. It would be a waste of time to repeat things because somebody just forgot to let you know that they already tested something or forgot to keep record of things already done. Remember that you are part of a team that has the same goal to build software applications that meet high quality standards. Being part of a team is a key characteristic of a good tester as you need to communicate about your work, your findings, explain why you do certain things and the process that you follow.

Because testing team and developing team often have conflicts so to be a good tester, you need to build relationship with developing team. You need to be honest and responsive to developing team’s request. Tell developers what you are planning to do in this project, how you plan to conduct your tests, and if you find defects what would you do. A good tester know how to help developers by sharing information with them. If you have created some test cases from the Software requirement specifications (SRS), you may share your test cases with developers, ask them for suggestions. Let them know about your tests because you are going to check their works.

If developers ask you to look at their code before they release them for testing, help them by review their works and report any defects that must be fixed. Do NOT hurry to report these defects in the official defect report book. Many developers do not want their defects to be reported and that is why they ask you to check before they release to testing officially. As long as they are willing to fix defects then you have accomplished your job. I know some testers have habit to keep these defects hidden so they can write a defect report and prove to management that they are doing good jobs. It will not help anyone but will create more conflicts between teams. Some testers like to report everything even small mistakes publicly. This attitude hurts the developers and not good for the project team. So if you have found any defect during testing then let developers know first. Talk personally to them about what you found and why you have to documented them.

As a tester you should not blame developers for defects. Concentrate on finding defect and work with developers to have it fixed, NOT pointing that defect in front of all people. Remember that you are on the same project team and the goal is to have quality software product, NOT pointing the finger at anyone. When you finish your test then write a clear defect report so developer can find it easy to fix it. Be prepared for everything. Tester job is NOT easy so if worst things do not happened now, they can happen at any time, so be ready to face them. Do not get frustrated if you do not found any defect that later has been reported by users. Nobody is perfect so learn from mistakes and move on.

Showing your project team that you are passionate about your job as a software tester and actively participating in the group’s activities. We live in the “real world” that means that not every team member has the same skills and experience. However, over time you will learn to recognize an average developers and those who want to become really good developers. The good ones want you to test their work and will work hard to find solutions for every defect. They are careful in their works and make it as hard as possible for you, the tester, to find defects because they care for quality. Average developers would jump into code, throw it over for you to test, and fixing them as they continue with their works.

Work hard, use all your skill (Technical and soft-skills) but also need time to think, relax to regenerate your energy. Some times its important to take one step back in order to get fresh insight and to find different approach to solve problem. Do not be a hero, always work in teams, several people are always better than one person. Be humble, polite and listen to others then you will advance in your career.


  • Blogs of Prof. John Vu, Carnegie Mellon University