This lesson is being piloted (Beta version)


This lesson provides an introduction to testing in the context of developing scientific software.


Working knowledge of Python


Setup Download files required for the lesson
00:00 1. Introduction Why do we test software?
00:10 2. Working with Legacy Code What is legacy code?
Why should you test legacy code before changing it?
00:45 3. Test framework What is a test framework?
How to write test cases using a test frmework?
01:15 4. Test Driven Development Why should you write tests first?
What are the 3 phases of TDD?
01:45 5. Refactoring for Testing Why are long methods hard to test?
02:45 6. Testing Big Changes What does it mean if you have to change a lot of tests while adding features?
What are the advantages of testing an interface?
03:45 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.