QA engineer skills

QA Engineer Required Skills

What a QA engineer does
What makes a good QA engineer

What a QA engineer does

  • Write test plans from the requirements, specifications and test strategies
  • Use versioning systems to code test scripts
  • Create and perform test campaign whenever it is necessary to fit in the overall planning
  • Use bug tracking database to report bugs
  • Analyses test results
  • Reports results to the QA manager
  • Raise an alert when an important issue is likely to put in jeopardy the whole project

What makes a good QA Engineer

Broad understanding of the product

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 analyse 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.

Effective communication

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 "offensing" the developer. Developers may often feel offensed when a bug is submited. This is 100% natural. This is why the QA engineer must have the ability to "criticize without offensing"
  • 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

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".

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

Driving for results

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.
Additionally, getting a nice automation framework with smart tools does not bring anything if it does not find any bug at the end.
  • Ask yourself if the automation is going to help to find more bugs and when
  • Prioritize your testing tasks on the only important criteria
    • How many bugs is this likely going to find?
    • How major will be the found bugs (detecting thousands of cosmetic bugs is irrelevant/useless - and often easy - until all major/show-stopper bugs have been found)?


Learn more about QA Manager Skills reading the QA Manager Skills tutorial.