views:

197

answers:

3

I'm looking for an online introduction to unit testing and TDD. I have virtually no experience with TDD, unit testing, or any other agile methodology. My development environment is C++ on Linux. If there's a quality introduction to unit testing and TDD that uses C++ as the example language, that'd be great. If not then a general introduction in any old language and a more advanced tutorial using C++ would suffice.

+1  A: 

The wikipedia page is pretty good and has several useful links to both online and non-online resources of reasonably high quality, including an online tutorial. Once you have the basics, for C++ specific issues you could start with this presentation (PDF).

Alex Martelli
That is a link to a powerpoint presentation and not a paper.
Bribles
Right -- let me edit the answer to fix the term in question.
Alex Martelli
+1  A: 

For the introduction to TDD, the bowling game episode is very nice, as it demonstrate how the tests drive the design. Then, here are tutorials focusing on C++ frameworks for CppUnit, Boot::Test and CppCheck.

To help choosing a framework, Noel LLopis explored this jungle, albeit a long time ago, especially it dosen't mention GoogleTest or you can refer to this question.

Oh, and BTW, [automated] unit testing and TDD can be applied even in non agile environment.

philippe
A: 

I wrote a series of blog postings several years ago about how I took some of my 'legacy' code without tests and first added tests to it and then reimplemented it from scratch in a TDD style. The idea was to show TDD and unit testing being used with a non trivial piece of code under test as I'd grown tired of seeing examples of testing simple code.

The code is C++ but it's for Windows so might not interest you, anyway, the articles kick off here: http://www.lenholgate.com/archives/000306.html

Len Holgate