HeFDI Code School 2026 - Introduction to Test driven development
HeFDI Code School Advanced Track IV
- Veranstaltungsformat:
- Online-Veranstaltung
- Veranstaltungsort:
-
- Online
- Veranstalter:
-
- Universitätsbibliothek
- Forschungsdaten-Service
- HeFDI
- Suresoft
- NFDI4Ing
- Kategorie:
-
- Training
Advanced Track IV: Test driven development
Scientific software is in many disciplines crucial for understanding and reusing research data and a cornerstone for reproducibility of research results. Although many researchers require programming skills, systematic training outside of computer science courses rarely takes place.
Together with the colleagues from Suresoft project and NFDI4Ing we offer a series of four online workshops.
Scientific software is often hard to maintain and reuse. A major reason for the instability of software is that it is subject to continuous change. This is especially true for software in the scientific context, since the scientific discourse is open-ended. Change has caused difficulties for scientific software developers from the very beginning, and it continues to do so. In parallel, the software engineering community has produced numerous developments that we as research software developers can take advantage of to significantly support our work.
Continuously changing requirements lead to rapidly evolving software. While adapting the source code to fit the requirements, we have to ensure that code changes work as intended and don’t break existing features. At the same time the source code needs to stay maintainable and extensible to allow changes for new features in the future.
This is where the development approach of Test-Driven Development comes in. It emphasizes writing automated tests before writing the code. The developer writes a failing test, then writes the code to make the test pass, and finally refactors the code to improve its quality. This cycle is repeated for each new feature or change to the code and therefore ensures that every new or existing feature is always tested and working as intended. In this workshop we will collaboratively work through a TDD example.
Your Benefits
This HeFDI Code School series adresses the need of especially early career researchers on learning how to create good scientific software and increase the quality of their code for better reusability and sustainability.
Participants of these workshops will learn about
- methods and techniques to increase the quality of their code,
- how to produce understandable and therefore reusable code,
- and to increase the sustainability of scientific software.
Especially in this workshop you will get
- an introduction to Test-Driven Development,
- to see an example application called collaborative TDD Kata (example application).
Instructors
The instructors are Jan Linxweiler and Sven Marcus.
Language
The workshops will be held in English.
Prerequisites
These workshops are intended for researchers who already have experience with developing scientific software, and therefore require general knowledge of a programming language and a merely basic understanding of object-oriented programming and versioning.
We therefore assume some basic knowledge of the python programming language and the version management system git. At least, you should be able to read and understand python. In general, the concepts we address are programming language agnostic. Hence, you should be able to easily use them with your favorite programming language.
During these workshops, we will work collaboratively using Visual Studio Code, which can be used in the browser without any further installation. However, we recommend that you install the following software in order to be able to code yourself and/or to reproduce later:
- Visual Studio Code
- free and open source powerful editor
- available for Windows, macOS and Linux
- Download
- further introductions on VS Code
- Please install the following extensions within Visual Studio Code
- Note: To join a collaborative session within Visual Studio Code using Live Share, you need to have a GitHub (or Microsoft) account. You can register for a GitHub account on github.com. (See how to join a collaboration session)
- We will use uv to manage Python installations and package dependencies. As we will use a collaborative session in VS Code you don’t necessarily need to have uv and Python installed on your local machine. But, in order to work on your own machine, you can download and install uv from https://docs.astral.sh/uv/getting-started/installation/. Follow the instructions in the uv documentation to install Python on your system and manage projects.
Registration
You can register for this workshop and the other workshops of this Advanced Track under the following link: https://redcap.kks.uni-marburg.de/surveys/?s=XFP7K4A9M39FXRNF.
Publications
Code examples and the slides can be found on Zenodo.
Weitere Informationen zu dieser Veranstaltung
Veranstaltungsort:
Online
Veranstalter:
Universitätsbibliothek, Forschungsdaten-Service, HeFDI, Suresoft, NFDI4Ing
Kontaktperson:
Dr. Sabrina Jordan
Universitätsbibliothek
Abt. III, Forschungsnahe Dienstleistungen
Referentin im Forschungsdaten-Service
804-4371
s Bitte fügen Sie an dieser Stelle einen Punkt ein jordan Bitte fügen Sie an dieser Stelle ein @ ein bibliothek Bitte fügen Sie an dieser Stelle einen Punkt ein uni-kassel Bitte fügen Sie an dieser Stelle einen Punkt ein de