This (my) little rant is of course hyperbolic, but I tried to make two points:
1. The actual specification is sometimes better reflected by the implementation than by some test cases.
2. Some test cases don't help you understanding what's supposed to be computed.
Of course, counterexamples could be made. Imagine a board game with a test function testing specific moves. Those test cases will help you understand the implementation a lot.