Test-driven development is a software development process that is very useful to know, and that is also very suited for work during the master thesis. Participating on this is recommended for all students that are going to have some focus on programming during the task.
The plan is that you self-organize and distribute the following four topics between (some of) you (you could write some notes on what you will present, and link to a page containing these notes from below):
- [Jakob] What is a good unit test? (which aspects does it test)
- [Student X or x&Y] How do test driven development typically influence the structure of the main code? (in what way does the main code typically become different when TDD is used)
- [Student X or x&Y] In what settings do you think it will be particularly useful to apply TDD? (for what kind of functionality are unit tests most useful and requiring least effort)
- [Student X or x&Y] How can one do unit testing in practice in Python, using doctest or unittest? (although we are using Python as a concrete case, it will be useful regardless of the language you’re using, since most of it is essentially the same across languages)