A Software tester (software test engineer) should be capable of designing test suites and should have the ability to understand usability issues. Such a tester is expected to have sound knowledge of software test design and test execution methodologies. It is very important for a software tester to have great communication skills so that he can interact with the development team efficiently.
Automated QA testing is important for companies that practice continuous integration, which means that software is developed, tested, and deployed multiple times per day, rather than in stages, as was common in more traditional development models. Software testing is used to detect serious bugs and security vulnerabilities, as well as user experience issues, such as glitches that only appear in specific use cases.
The testing team is closely related to further project roles, and those are: project manager, who initiates the tests and works together with the test manager and with the client on defining the acceptance tests. Developer, who addresses and removes defects and cooperates with the tester on analyzing them.