QA engineers play an important role in all stages of the software development process. At the initial stage, when there is just a basic idea of the future product, QA engineer can help collect all the details and figure out all nuances of the application.
Based on gathered info, they create user stories. QA engineer's goal here is to check the compliance of customer's ideas with their possible realization and to set terms that will be clear to every team member. QA engineers help to make customer requirements clear for developers by interpreting them into user stories. After user story is created, QA can set its severity, so the team can see that any changes in that part of an application can heavily change or affect other parts in some way. They save developer's time by doing that.
QA engineers also write documentation that puts together all knowledge, rules and ideas of the software project. Its scope may vary from a simple checklist to a pack of test suites with dozens of test cases. This also saves a bunch of time and gives a better knowledge of the project to the team.
There are different types of tests that can be performed by QA engineers, such as:
Then QA engineers write bug reports - the list of the things that went wrong with a full description of the detected glitches, e.g. location of a bug, steps needed to reproduce it, results of the error and estimated results after fixing it, etc.
Here is a more in-depth description of QA responsibilities in the software development company: QA Engineers: What Are They Doing?
Marco Alka
Software Engineer, Technical Consultant & Mentor
QA stands for Quality Assurance. As such, a QA Engineer has different tasks revolving around quality. Depending on the life cycle of the software, these tasks involve (and many more):
You might want to read more about it on Wikipedia's IEEE pages