Software testing is an exciting field. Contrary to popular belief, it is not given to everyone to be a good tester. To use a well-known expression, “many are called but only few are chosen.” Even if it is true that testers do not require formal education in the classical sense of the term, it is a profession that requires a lot of skills and a constant hunger to learn more.
Let’s dive into the various skills that good tester need to have:
The ability to think outside the box
The first skill that a good software tester requires is the ability to easily identify the high risk areas of a given product. These features require additional attention from the tester. Because of the resources they use (eg. RAM, storage space, etc …), these “danger zones” are to be monitored closely. For example, a text search tool that searches a database of over 10,000 texts may be considerably longer to load.
Once the risky sections have been identified, the second thought that a tester should have is “How can I push this function to its limit? How can I test the product’s behavior when a request exceeds its capacity to respond? “Using the example of a text search used above, it might be interesting to test the product behavior when the search field is left blank. Then verify the loading time for a search containing a complete sentence, then a full paragraph. Then to test how the search reacts if special characters are used, letters with accents for an English search, etc ….
The important thing to remember here is that it is imperative to think about what could cause the most problems. As kids, we are always told to “be careful” and to “avoid breaking stuff”. Being a tester is the exact opposite. We must break everything. All the time.
The ability to be clear and concise
Everybody can write a descriptive text. However, a good tester turns writing his bugs into art. Well executed, the entry of bugs should be done in a consistent manner. The format of all the bugs should be identical. This facilitates their understanding, because when the development team is accustomed to the format, developers know exactly where to look to get the desired information.
A good bug is not as long as a novel, but not as short a sentence. It contains a good description, written in the third person. Most are written using a phrasing similar to “When the user clicks on XYZ, he will notice that the “ABC” text disappears.” Then come the steps to reproduce the problem. These should be clear, accurate, easily understandable, but above all, must lead the user to the problem that was noticed. Finally, the tester explains what he thinks the “expected behavior” is and adds a screenshot or a video to facilitate the understanding of the issue.
Even if all of this seems obvious and easy to understand, it’s amazing how these simple aspects are not mastered by many. A good tester shines by the quality of his bugs. If we wanted to be cheesy, we could easily say “Let me read your bugs and I’ll tell you what tester you are.”
The ability to be patient while remaining meticulous
The last point but not to underestimate is the patience and meticulousness. On some projects, testers can be required to work for many consecutive months on the same product. When a project stays in QA for a long time, it obviously becomes more difficult to find bugs. When testers enter this “phase”, some are starting to cut corners. This practice should be avoided since some bug fixes generate new bugs. If attention to detail is neglected, these bugs will slip in the final version. A good tester never loses patience, and continues to test with the same diligence and determination he had when the project started.
Attention to details is also crucial. Every detail counts. A good way to explain the importance of attention to detail to a tester is to say “When in doubt, enter a bug.” Basically, this simple sentence dictates the philosophy of QA. If something catches the eye or doesn’t look normal, it is the role of the tester to mention it. If uncertain about the expected behavior of something, entering a bug provides valuable information on it. The client (or the development team) can solve the bug, or comment on it to explain why it was not a bug. In the end, this procedure is used to reference any information from a project in one place and thus accelerate the QA process.
In the end, as with any profession, experience is a great asset. The more platforms and projects a tester is exposed to, the better the quality of their work will be.
This concludes this short ticket about the QA tester job. I hope it helped you understand a little more about this wonderful position. It deserves to be known and although sometimes frowned upon by the industry, it remains a strategic and important position in any project.
This post was written by Eric Bissonnette, QA Manager at qa on request.