Online course Testing of Scientific software

Online course "Testing of Scientific software" now available

This course was held online on October 17, 2022. The recording is now available on our website.

So you can review the content or learn at your own pace. The course lasts 1 hour and 48 minutes.

Content of the course

High quality software is often a prerequisite for successful and sustainable research. Testing software is one of the most important steps to ensure good and correct software.

In this course, the basics of testing scientific software will be taught, such as unit testing or regression testing. Established software testing methods will be introduced and seen how they apply to scientific software. Problems specific to testing scientific software will be covered, as well as strategies to work around them.

Since scientific software is exploratory software, it can be difficult to find reasonable test cases. This course also looks at how testing can still be used in such cases to gain more confidence in the software.
Hands-on exercises will allow participants to write some tests in Python code to learn how to use testing frameworks in practice.

Requirements

General prerequisites:

  • Programming experience

Prerequisites for hands-on sessions:

  • Basic knowledge of Python
  • Basic knowledge of linear algebra

Participants are expected to have a computer at their disposal to be able to set up a a working Python environment (we suggest using the Anaconda distribution) to follow the hands on session.

Below you can find the instructions for setting up isolated Python environments that contain all packages needed to work on the course material.

If you have your own environment please note that we assume you to use Python >= 3.9.x 

Python Anaconda distribution

  • For a UNIX-like operating system open a command line; for Windows open a Anaconda Prompt.

  • Create the environment and install packages (this may take a while):
    $ conda create --name software_testing python numpy pytest hypothesis
    $ conda info --envs # check if environment is available
    
  • Activate the environment:
    $ source activate software_testing 
    

Python virtual environments

  • Follow the instructions for setting up a virtual environment for your operating system and activate your environment: https://docs.python.org/3/library/venv.html
  • Activate the environment:
     $ source /path/to/your/environment/bin/activate
  • Install packages (this may take a while):
    $ pip install numpy pytest hypothesis