Test-Driven Development (TDD) is a small-scale process for software development which embraces design, programming and unit testing in a unified approach. TDD is one of the key practices of Agile development. This seminar teaches FAU students and personnel basic and advanced techniques for practicing TDD and discusses the usefulness of TDD in different contexts. Friends of the Open Source Research Group are also invited. Teaching language is German unless requested otherwise.
Topics covered are:
- Why TDD is useful and where it fits into other development and testing approaches
- xUnit as a basic tool for developers’ test automation
- The Test-Code-Refactor cycle
- Isolated testing with mock objects and other test doubles
- Testing as design and architecture technique
- Refactoring for keeping up structural quality
- TDD and Legacy Code
- Advanced Tools
- TDD in various technical domains like graphical user interfaces, concurrency, data bases etc.
- How to teach TDD to software developers
The seminar has two main components, TDD-INTRO and TDD-ADVANCED.
- The TDD-INTRO class is conducted in workshop style changing between blocks of teaching and practical programming exercises.
- TDD-ADVANCED is for students who have some practical experience with TDD and will consist of a little theory but lots of exercises and discussions about various topics.
- Java will be used in both components and students must be familiar with Java to be able to participate.
You will learn to…
- Understand key concepts of TDD and its theoretical foundations
- Be able to practice TDD for small-size problems
- Have an understanding of how TDD can be scaled to real-world software
- Understand the context in which TDD can be useful
- TDD-INTRO takes place Feb 8 + 9 from 9am to 5pm and Feb 10 from 9am to noon in Rm 05.150 (Blaues Hochhaus).
- TDD-ADVANCED takes place Feb 13 from 12pm (noon) to 5pm and Feb 14 + 15 from 9am to 5pm in Rm 04.150 (Blaues Hochhaus).
- If you are a student or FAU, to be guaranteed a seat, you need to register through StudOn: http://www.studon.uni-erlangen.de/crs408340.html
- If you are from industry, please send an email to Margit Zenk and tell us whether you would like to participate in TDD-INTRO, TDD-ADVANCED, or both.
- Please bring a laptop with Eclipse >= 3.6 installed. No other preparation is necessary.
- You should participate out of curiosity. An ungraded certificate of successful participation can be provided.
About the Lecturer
Johannes Link is one of Germany’s foremost experts on TDD. He authored Softwaretests with JUnit (http://www.amazon.de/Softwaretests-mit-JUnit-Johannes-Link/dp/3898643255) and many other books and e-books. This class is usually provided by Johannes as a workshop to paying industry participants, and he is providing the class one-time-only for free to FAU students and personnel. Today, Johannes Link is a founding member of the FAU student startup Mydosis, the 2010 AMOS project, see http://mydosis.de