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):
- Making sure the source code, the software and any assets involved comply to all applicable standards
- Tests (for example unit tests, acceptance tests, UX tests,...) have been carried out and were all OK
- The company's processes are living (for example regular code reviews)
- Revision control
- Documentation is available and extensive enough
- All requirements have been met
You might want to read more about it on Wikipedia's IEEE pages