A team from Oppenheimer Funds has come to speak at the monthly Software Quality Association of Denver (SQuAD) meetings a couple of times, telling us about some of their early adoption experiences. At the September meeting, we found out both about their incorporation of lean concepts into their software development processes using Kanban, as well as what they are doing with Acceptance test-driven development and [unit] test-driven development.
In both cases, test-driven development involves writing tests before the code. Writing the tests up front (whether at the acceptance level or using code at the unit level) will help in creating the design of the code. Any tests will fail when first written, but once the code has been designed and written, you will know they have been written correctly when the tests pass. This provides a set of automated regression tests then that can be used in your continuous integration process with each build.
Below you’ll find a video clip from Thom Vaught of Oppenheimer Funds explaining the concept. We have plenty of coverage of this popular technique on SSQ, and I have listed a few tips you may want to read to learn more.
Effective test-driven development and continous integration