Introduction: Testing and documentation 🕵️

Last (substantive) module of the course! Well except for that pesky exam. No heavy lifting in this module, just two non-programming software development topics.

The first is a way to document our OOP designs using diagrams: Unified Modeling Language (UML).

The second is a way to embed tests of our methods in our Python code which makes them easy to run when we "improve" that code, and makes our programs more self-documenting since it shows the exact behaviour we are expecting of our code.

  1. UML and Testing with doctest
  2. Unified Modelling Language (UML)
  3. Aside: is-a versus has-a
  4. UML class diagram visual syntax
  5. Example: Playing card classes
  6. Testing with doctest