Testing is changing: analysts comment on the promising trend of the market, big players jump in to get their shares, customers come to the realization that the “Ready, Fire, Aim” school of software engineering is becoming outdated.
Fine, testing is no longer the “necessary evil” but what is it really?
In order to set the record straight, I offer the following definition:
Testing is
- A strategic business project
- Which seeks to confirm the alignment of systems with stakeholders’ expectations
- For an optimum initial cost
- In a manner that can be sustained or, even better, improved over time
It is a project because the validation phase needs to be planned and because measurable exit criteria need to be defined in order to end it. This project is driven by the business, because those exit criteria must be aligned with the users’ priorities.
It is strategic because, for an organization, the ability to implement its vision depends on its ability to align its information system. Its cost can be optimized because, as the work of quality control pioneer, Joseph Juran, has shown, a balance can be struck between the costs of fixing defects and the costs of preventing defects.
Finally to make the investment perpetuate, it is smart to anticipate that the same effort will need to be carried out each time the system is updated and take some measures accordingly such as automating the most critical tests.