This presentation will outline key lessons learnt in developing scientific software in Python. Methods of maintaining and assuring code quality will be discussed.
- designing effective unit tests;
- visualising output data to discover defects; and
- designing characterisation tests to test the actual system behaviour and to
- identify unintended system changes