Concepts and tools for the responsible scientist

User Tools

Site Tools



Well-defined and automatically testable specifications

  • Testing scientific software is highly important,
    as it has direct impact on scientific insight.
  • Most scientific software is not thoroughly tested
    or even not tested at all.
  • Tests can only prove the existence of bugs, not their absence.
  • Testing should be done as early as possible, as often as possible,
    and as automatic as possible.
  • Test automatisation has dramatic impact on the design
    of the code to be tested (e.g., modularity).
  • Test-driven development turns the usual sequence upside down
    and results in high test coverage.
  • High test coverage by automatic tests increases the trust in software.
  • Test-driven development leads to tests
    that document the code and its specifications.

Which tool to use

Note: This section is clearly opinionated. There are definitely other tools available. However, this is the tool the author recommends from own experience.

Python Unittest Module
Unit testing framework originally inspired by JUnit

tools/tests/index.txt · Last modified: 2020/09/27 12:26 by till