It may be good to preface this article stating that this is about developer testing. The ideas have value from the point of view of test automation and testing that the code does what it intends. I don’t think we should confuse that with testing. Martin Fowler’s writing suffers from the same problem.
I would recommend these resources to understand testing:
kaner.com, satisfice.com, developsense.com, geraldmweinberg.com
lets-test.com, associationforsoftwaretesting.org
Lessons learned in software testing.