- December 29, 2015
- Posted by: Mahesh Kulkarni
- Category: Blogs
Every software tester, may be a novice or an expert, would have come across this question in their career of software testing. I still remember this question suddenly threw on me by interviewer at the beginning of my career. I was speechless for few seconds but managed to deliver some qualities that can make you an effective software tester. Looking back I understand the importance of this question and after spending long hours I have jotted few points.
Before that, let me introduce you with a tester.
Testers are the backbone of all IT companies and most responsible persons in releasing the project. You are the one who gives the quality outcome, whom people and company believe in more, who often releases projects without defects and the one without whom it’s difficult to complete the project successfully. So be proud! And hence, you need to have these qualities to become an effective software tester.
Attention to details
As a software tester, identifying glaring issues is not enough, but you need to identify bugs that aren’t quite obvious. Often small things can have a pretty serious trickle-down effect on an entire application. So in order to have an overall picture, an effective tester needs to pay attention to detail. Tester should ask questions – to understand the requirements, to know the changes done in the application, to identify the bug fix impacts, and so on to have a clear idea of user’s expectations.
Do not compromise on quality
Quality is a word made for software testers to achieve effective and proficient testing. Compromising at any level can lead to a defective product. An effective software tester must have strong desire for quality to be assured.
Prioritization of test cases
Knowing what to test first helps you to work smarter, instead of harder. Hence, always identify the tests which are important and then prioritize to execute it. It’s a strict no to execute test cases sequentially or without deciding priority. This will make sure all your important test cases are covered and executed early by which you won’t cut down on it at the end of release cycle due to time pressure. Also, it’s important to consider the defect/s history while estimating test efforts.
Think from end users perspective
Customers may or may not have technical knowledge. Every product is developed by keeping customer in mind, so it is very important to think from their point of view and prepare your test data accordingly. If you don’t consider the scenarios from their perspective then there is a high possibility to miss many crucial bugs. So put yourself in their shoes. Every project is said to be successful, only if the end user is able to successfully use the application and with satisfaction.
Software tester should communicate the issue to the development team in the most effective and efficient manner. Its tester’s job to understand requirements, describe test criteria and able to explain how to reproduce issues while logging it. An effective tester must be able to read and analyze product documentation, write test plans, report bugs, share status reports to management and have the ability to listen critically and speak rationally in meetings.
Ability to adapt and learn:
IT is an evolving industry where relatively new technologies appear with a speed. So, a software tester always needs to be prepared to learn and upgrade their skill sets. Tester should be willing to keep up with the latest technology trends. It is a good quality of tester who is highly adaptable to face different situations like requirements change, focus on features etc.
Think out of the box:
A good software tester should be able to create multiple scenarios by thinking creatively, unconventionally or from a new perspective. Instead of assuming traditional test cases, a tester should think about non-ideal situations, system environmental conditions, in order to thoroughly test an application. Examples would be using Boundary Value Analysis (BVA) techniques, Negative test cases, correlate testing with real life scenarios.
Managing time wisely by prioritizing and automating test cases is important to ensure that the tester is efficient. Not all test cases warrant the same amount of time. Instead, balance importance with urgency to ensure better time management.
Be open for suggestions:
There is always a scope for improvements and getting suggestions from software tester mates. Everyone’s feedback to improve the quality of the project/product would certainly help to release bug free software.
Good observing & Analyzing skills:
Good observing skill helps a tester to keep updated and ready with course of action for any given situation. Also, developing good analyzing skills is necessary – understand the data collected from requirements and need to analyze them for particular behavior of application or product, analyzing test results for creating scripts and executing them for numerous times and so forth.