Wilson et al, "Best Practices for Scientific Computing", highly recommended!
Merali, "Computational science: ... Error" in Nature. "As a general rule, researchers do not test or document their programs rigorously, and they rarely release their codes, making it almost impossible to reproduce and verity published results generated by scientific software, say computer scientists."
Good books for unit testing, TDD, and higher-level tests
Freeman and Pryce, Growing Object-Oriented Software, Guided by Tests
Fowler, Mocks Aren't Stubs - Martin Fowler on the terminology and usage of mocks, stubs, test doubles - all those "fake collaborators"
A couple of Bob Martin's books are particularly noteworthy for covering lots and lots of desirable attributes for code
Some test frameworks
JUnit - the original (Java)
Snowden, Cynefin: Wikipedia on Cynefin, David Snowden introducing Cynefin (video) - applicable to knowledge management, cultural change, and community dynamics, and has also involved issues of organizational strategy.
Snowden, Boone, 2007 "A Leader's Framework for Decision Making" (must pay for access from Harvard Business Review, though perhaps available elsewhere)