Foreword
Published online by Cambridge University Press: 06 September 2009
Summary
Why is astronomy considered a science while astrology is considered only a pseudoscience? In other words, how can we prove that a theory faithfully describes reality, and that this theory can then be used to predict unknown facts? Karl Popper, the well-known philosopher, studied these problems and summarized his conclusions in one phrase: “The criterion of the scientific status of a theory is its falsability, or refutability, or testability.” For Popper, “confirming evidence should not count except when it is the result of a genuine test of the theory.”
The testing process of a scientific theory is quite similar to the process of providing confirmation either to risky predictions or to attempts to falsify that theory. Testing is a complex activity. It has to simultaneously bear in mind the theory and the external reality; it has to provide objective answers to complex questions related to our own perceptions of a rational reality.
When developing software, we follow the same thought process, since one builds an abstract model between the external world and the user. In our software, we define strict processes that will guide our actions, and we build the data we want to manipulate in complex databases and templates.
Can we test our software with Popper's principles in mind? The answer is definitively yes, because software testing should not only be a confirmation that the application is working correctly but also that it will react correctly when unexpected conditions occur.
- Type
- Chapter
- Information
- Testing ITAn Off-the-Shelf Software Testing Process, pp. xiii - xivPublisher: Cambridge University PressPrint publication year: 2001