Qualities of A good Tester
- Good understanding of the Product
- Communication Skills
- Creativity
- Development knowledge
- Result oriented
1] Product Knowledge -
To test efficiently a product, the QA engineer must know it well enough. This sounds obvious must unfortunately, this is often under-estimated. Knowing well the product includes also knowing how end-users expect it to work. Again this may sound obvious but remember that the biggest part in testing is black-box testing. The QA engineer must have a "customer-focus" vision.
But a good QA engineer must also know how the product is designed because the more you know the product, the better you're able to test it. However, the QA engineer will have to analyze the design only after his black-box testplan is completed. Indeed, knowing the design can widely influence the test strategy. It is better to first write the test plan with a high-level vision, then getting more and more information to refine the testing.
2] Communication Skills -
Communication is an extremely important skill for a QA engineer. Of course, meetings (stand-up etc.) and status reports are part of the communication but more importantly, a QA engineer must be particularly efficient in the following tasks:
- Direct communication with both Development and Product definition teams
- Capability to communicate with technical and non-technical people
- Having the diplomacy to say "no" when a bug is considered as not fixed
- Having the diplomacy to communicate about a bug without "offending" the developer. Developers may often feel offended when a bug is submitted. This is 100% natural. This is why the QA engineer must have the ability to "criticize without offending"
- Do not rely on "bug tracking" database for communication! there is nothing better that a bug tracking system to create "misunderstanding" between Development and QA teams
3] Creativity -
Testing requires a lot of creativity. Bugs are often hidden and just performing the obvious positive tests will have only a few chances to actually find bugs. Hence, the QA engineer must use its creativity to figure out all the scenarios that are likely to detect a bug. In other words, the QA engineer must be able to "see beyond the obvious".
4] Development knowledge -
Quality Assurance requires knowledge about software development for two basic reasons:
- Development capabilities are required to eventually code automated tests
- If you know how to develop, you have better ideas on what is "dangerous" to code, so what to test more thoroughly
5] Result oriented -
A good QA engineer never forgets that the ultimate goal is not only to find bugs but also have them fixed. Once a bug has been found and has been "acknowledged" by the development team, the QA engineer may be required to "convince" people to fix it.
No comments:
Post a Comment