Metamorphic Testing and Testing with Special Values.
An Introduction to Proving the Correctness of Programs