We, as testers, do not “build in quality” and can not guarantee all the defects will be found. We can not, should not, define “what is quality?” And, we should not be making the choice to release or not.
Not on our own.
Testing is always part of a larger team, striving for the collective goal of success.
Fig 1: Testing is a Service
Within that team, testing provides service as a trusted advisor and integrated investigator regarding the desired and current state of the project deliverables. Testing checks implemented vs. intended behaviours, conducts experiments to explore quality limits vs. agreed quality criteria, collects resulting data, and provides valuable insights for the benefit of the project’s stakeholders – Insights that will guide the critical decisions that determine project success.
Consider the following as testing’s mission statement:
“The mission of the project’s test team is to undertake such test-related activities within the constraints provided to them by the organization to facilitate maximum mitigation of the likelihood of a failure of the software system from occurring after deployment that would negatively impact the business.”
Or more simply:
“Through our thoughtful testing, we collaborate with the project team to reduce the likelihood of a serious failure in the field.”
In any case, we can expect that testing will be limited in terms of budget, schedule, people, tools, infrastructure, etc. It is therefore vital that testing is able to prioritize what is critical, and what is not, so that these scarce resources can be applied in the most valuable, risk-driven, manner possible.
Within these constraints and following those priorities, the testing group will undertake testing activities with the objective of facilitating the removal of as many issues as possible that may compromise the organization’s agreed quality criteria and prevent acceptance of the system for release.
Additionally, the testing effort must be structured such that relevant information and insights pertaining to the degree to which the current state of the system is converging to the desired state can be communicated to project management and other stakeholders throughout each phase of the project, to enable informed decision-making.
Testing is a service provided within the project for the benefit of its stakeholders. Testing produces data, data is interpreted into information, information gives insight, and insight guides decisions. How thoughtfully the testing service is performed and the quality of its insights will be key in determining the success of the project.
For related reading, check out these articles: