Good software tester

Many software developers consider testers as someone to find defects in their code so they can fix them. They write code then “throw it over” to testers to find defects then they will fix them later. This is a very bad habit and should be avoid because most software projects do not have enough time to do everything. What will happen if developers do not have time to fix their defects? What will happen if developers forget to fix defects? Eventually the software still have defects and it will be very expensive to fix them later, especially when customers find out about it.

Testers are not “Slaves” to developers, their job is more than just testing to find defects. Good testers know that when they encounter something that can create problem later, even it has not happen yet, they let developers and project manager know. So testers also check for software risk. Risk is something has not occur but when it does, it creates problem or it could become a defect. For example, testers can identify security issues by point out to developers certain code that could become a potential problem if hackers get hold of it. (Unsecured coding practice).

Good testers may notice interesting things about software that do not change the result but may have hidden features that the developers themselves do not even think about. They may suggest better way for the software to perform better and with minor changes, developers can make software run faster. So testers do check for performance too. Good testers can find some error-prone issues and even the software may work well but if users are careless and do something wrong, it may cause the software to crash. With some suggestion to add an error-handling routine, this issue can be avoid. So testers do check for usability too.

Good testers may find some hidden issues, something that can threaten the quality of the product later and recommend that developers to modify their codes to avoid these issues. For example, Testers can point out some aspects of the product that make it hard to find and hard to change later. These are things that the developers can do to improve the software for easy to change. So testers do check for maintainability too.

There are so many things that a good testers can do, much more than just finding defects. Professional testers will do all of the above because they have experiences and they consider their skills valuable to the company. Developers should consider testers as a partners, a valuable friends, someone who could help them to improve their skills and should appreciate their contributions to the software development.

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University