Email the Author
You can use this page to email David Nicolette about Unit Testing and Test-Driven Development Self-Check.
About the Book
The self-check is a multiple-choice quiz you can take on your own to check your knowledge of the subjects of software unit testing and test-driven development (TDD). Participants in my training classes on TDD receive email invites to take the quiz on Google Docs. They also receive a document that reviews the answers to the quiz and provides additional information about the topics mentioned in the quiz.
This book comprises the quiz and the review document as a PDF file. These documents do not constitute a complete training course on unit testing and TDD. The material is supplemental to information provided in the training courses. The reader must not expect to learn how to test-drive software just by reading this material.
People who might get value from this material include those who
-
are curious about TDD or automated unit testing, but aren't sure how these techniques might apply to their work context.
-
are not sure what forms of value to expect from unit test automation and/or TDD.
-
do not understand what programmers mean when they say TDD is not a testing
technique.
-
do not understand what testers mean when they say automated testing is not really testing.
-
have attempted to use TDD in the past with poor results or mixed results.
-
hold opinions (or reservations) about TDD based on negative past experiences or negative reports from others.
-
are not sure exactly what constitutes a "unit" or a "unit test."
-
are not sure whether or how TDD and/or automated unit testing can play a role in different work situations, such as greenfield development, enhancement of existing applications, debugging software during a production support event, or remediating accumulated technical debt.
-
are not sure whether or how TDD can be applied to different technologies, such as embedded systems, mobile applications, mainframe systems, or in configuring thirdparty application platforms.
-
are not sure whether or how TDD can be applied with different types of programming languages, such as objectoriented, functional, or procedural.
-
are not sure whether or how TDD and unit testing can be applied to languages with different characteristics, such as strong type systems, static type systems, or dynamic type systems.
About the Author
Dave Nicolette is interested in software development, music, and science fiction.