What is testing anyway?
There are many ways in which all software is tested:
- It is "tested" every time it is used and produces some output
- It was probably manually tested with some sample inputs when written
- There is probably some manual testing when changes are made
However this kind of "testing" can quickly become both insufficient and inefficient as a software project grows in complexity.
Changing the code risks breaking things that previously worked without notice, and manually testing all the functionality quickly becomes an impossible task