7. Testers
Software Testers are primarily responsible for determining the quality of application developed by the project. This involves negative tests, where the purpose of the test is to break the application, as well as positive tests, which proves that it works as intended.
The V-Model is most commonly cited by the software testing profession to explain the importance of testing, and the difference between verification and validation. There are various phases of testing that each relate to a corresponding design phase.
Source : http://www.professionalqa.com/v-model
The key skill for Testers is in understanding the design of the application from both an end user and technology perspective. Both angles give insight into where there is a high risk of issues within the application.
Software is notoriously impossible to test exhaustively or comprehensively, because there are simply too many permutations and possible scenarios. Certainly, in terms of code coverage, if that's even possible to measure, it is extremely difficult to achieve a high percentage.
Therefore most, if not all, test strategies will use a risk-based approach to decide where and how to focus their finite resources to test – positively and negatively. They will also use simple techniques such as boundary-value analysis and equivalence partitioning to identify values and parameters to test with. This is essentially using variables that are at the cut-off or deciding points, which affect the expected outcome. For example, in tax calculations, you would use income values on either side of a tax bracket boundary.
Another example of a risk-based testing approach is the prioritization of tests which make the biggest technical difference. For example, it'd be rare for a Tester to spend much effort to test that low-level logging is 100% accurate. However, checking that the exception handling functionality displays the correct error code to allow the support team to troubleshoot issues would be a highly valuable test case.
For healthcare applications, functionality that impacts clinical safety, such as patient and medical data, would be highly prioritized because of the potential human and financial cost of any errors.
Increasingly, there is a larger element of security testing, which may include penetration testing and ethical hacking. For some businesses and applications, such as the military and intelligence services, or even mass consumer-facing businesses such as Amazon, it's appropriate to use Red Team versus Blue Team simulations of cyber-attacks. This is where an autonomous red team plays the role of an attacker and a separate blue team plays the defense.
As the Project Manager, your role is to ensure that all of the appropriate stakeholders understand and agree with the test strategy, approach, and scope. As with the project scope, there is also a risk of testing scope creep whereby the amount of testing deemed reasonable increases unintentionally. The purpose of the test strategy is to determine this upfront as much as possible, allowing the Project Manager to control the amount of time and resources required for testing, in balance with all other project activities.