5 Essential Qualities of a Great Software Tester
What makes you a great tester? Whether you’re responsible for website testing, app testing or any other form of QA, certain skills and qualities are essential for a software tester to deliver successful, efficient, high quality testing.
1. Understand Priorities & Time Management
Testing requires good time management and the ability to work under pressure, usually in close contact with a development team constrained by pressing deadlines and an imminent release schedule. During the time available, priorities should be assessed quickly with clear focus areas for testing established, ensuring the most effective use of a tester’s time.
A tester needs to be able to obtain a good understanding of a product or application and establish what are the priority features and test areas in order to create a clear test plan. No tester has ever received a bug free application to test, so ensuring you build in enough time to allow for issue raising, blocking issues and a shifting timeline is essential.
2. Be Resourceful & Adaptive
Expect the unexpected. Project delays, environmental issues or blocking functional bugs can all impact even the most well defined test plan. It is imperative for a good tester to be able to take any problems and challenges that arise, make suggestions and recommendations to the development team, and re-plan accordingly.
Client needs and expectations may change, sometimes resulting in a product being overhauled with new features added and others scrapped entirely. If a tester can adapt their test approach to accommodate changes and provide additional support, this can go a long way to reducing pressures on a project.
3. Maintain Consistent & Clear Communication
An important attribute of a responsive test partner is the quality of communication given to clients. Understanding urgency, tone of voice on calls and email as well as quick comprehension are all vital ingredients in a good test service. Getting the communication tool of choice right is also key to seamless team integration.
With many moving parts in a development lifecycle, strong communication between all relevant parties needs to be maintained. A tester should relay their test plan and voice any questions and concerns promptly and professionally.
Regular touchpoints and reporting test findings to development teams is essential. This may primarily be in the form of issue tracking and summary reports, but it’s also about ongoing conversation as well as daily stand-ups in an agile environment.
Testers must keep all parties in the loop and provide an ongoing picture of the test effort and state of the product. This is a two-way street though. Developers should be able to easily communicate issues back to the test team that will impact the test effort. Whether it’s face-to-face, phone interaction or online team channels such as Slack or Yammer, quality communication must be implemented to provide the feedback needed.
4. Turn Positives into Negatives
For developers, it’s understandable that bugs may feel inherently negative. Most issues raised will result in their time being spent resolving problems. This can be stressful and time consuming and if bug reporting is handled tactlessly, it can result in a bad reaction and cause friction. Nobody likes to be told that something they have done is potentially wrong or that something they have built is broken! But it shouldn’t be seen this way. It’s all about working together to improve quality.
It’s a tester’s job to find and report bugs, but a tester should always report issues in a factual, objective and constructive way. Tickets should be clear and detailed, with supporting materials that demonstrate the issue and help the development team to identify its cause. If possible, with the end-user in mind, a tester should suggest improvements and work with developers to resolve issues.
5. Thorough Testing & Concise Reporting
A tester has to be thorough. Sometimes budget and time constraints can stack the pressure against a test effort, but if the qualities detailed in this article are utilised then highly effective testing can be achieved. A lot of value ultimately comes from a tester’s professional eye, ability, and thoroughness when testing a product. The end-user should always be recognised while testing and a tester should ensure that they cover core user journeys and consider usability issues for any product.
Once bugs have been discovered, these will need to be raised as tickets in (preferably) an online tracker. Information needs to be accurate, presented in a clear way and with supporting evidence. A good tip when reporting an issue is to imagine that somebody without knowledge of the product may be reading it on the other end. With this in mind, could somebody with limited knowledge understand the description and follow the steps provided easily in order to reproduce the issue?
Lastly, a tester may need to document and report results for a test phase, usually in the form of a written report. Strong language and writing skills are a must and a tester will have to provide concise and relevant feedback that can be understood by all parties involved be it a developer, another tester, a project manager or a business stakeholder.