Agile Thursday Quiz: TDD

Last week I started  ATQ. Instead of me inventing all questions I asked some agile friends. This week JB Rainsberger gave me questions for TDD. (Which is cool as today we have XPDays Benelux and JB is here…)

(If you too have one or more ideas for another ATQ, please contact me)


1) What kind of technique is TDD?

A) It is a testing technique

B) It is a design technique

C) It is a learning technique

D) It is an overall feature delivery technique

E) More than one of the above applies

F) None of the above


2. Which of these is necessary to do TDD?

A) Write tests before production code

B) Decide all the tests you plan to write before writing them

C) Make all design decisions after you start writing code

D) Write failing tests, then pass them, one by one

E) Refactoring

F) Apply Design Patterns


3. Which of the following activities does TDD replace?

A) Design sessions, such as whiteboarding, CRC, architecture debates

B) Manual testing by skilled testers

C) Manual test plan execution

D) Debugging

E) Automated system testing

F) Documenting APIs we intend to publish


4. If we do TDD well, which of these statements is true about our code base?

A) We have 100% code coverage

B) We have no duplicate code

C) Our code is crystal clear

D) The cost of adding new behavior is relatively very low

E) We have no defects

F) We feel confident in maintaining it indefinitely