Testing and Continuous Integration

Date
9 March 2026 - 13:00-16:30
Location
Information Commons - Computer Room 3 (3.02)
Speaker
Sylvia Whittle/RSE team

All of our events may be recorded and shared via the University of Sheffield Kaltura platform so those who cannot attend may still benefit. We will consider your attendance implicit consent to this.

This course equips researchers with the skills to write effective tests and ensure the quality and reliability of their research software. No prior testing experience is required! We’ll guide you through the fundamentals of software testing using Python’s Pytest framework, a powerful and beginner-friendly tool. You’ll also learn how to integrate automated testing into your development workflow using continuous integration (CI). CI streamlines your process by automatically running tests with every code change, catching bugs early and saving you time. By the end of the course, you’ll be able to write clear tests, leverage CI for efficient development, and ultimately strengthen the foundation of your scientific findings.

Target Audience: This course is aimed at people who know the basics of Python programming and who write code or software for research, from writing a couple of scripts to automate data collection to writing entire data analysis software. The course is particularly relevant to people who would like to follow best practices and increase the reliability & integrity of their research.

Prerequisite skills: Attendees should have basic computer literacy (knowledge of files and folders), to be familiar with use of GitHub at a basic level (committing, pushing, repos). They should also be comfortable with the very basics of Python programming / scripting. Knowing how to write functions and do basic operations should be all that is required with respect to Python.

This event is for University of Sheffield researchers and research students only.

Learning Objectives

After completing this course, participants should be able to:

  • Understand how testing can be used to improve code & research reliability
  • Be comfortable with writing basic tests & running them
  • Be able to construct a simple Python project that incorporates tests
  • Be familiar with testing best practices such as unit testing & the AAA pattern
  • Be aware of more advanced testing features such as fixtures & parametrization
  • Understand what Continuous Integration is and why it is useful
  • Be able to add testing to a GitHub repository with simple Continuous Integration

This course will be run in-person.


We are delighted to be able to make free at point of use training available to the research community, to enable better software and more open, reproducible research. However, free at point of use training is not free. The cost of a course can easily run to thousands of pounds, if preparation costs are taken into account.

If you sign up for a course, please make sure you either attend or cancel your booking. Bookings can usually be managed using myDevelopment or, failing that, by emailing rse@sheffield.ac.uk.

Running courses that are not fully attended wastes our funding (which is provided by taxpayers, charities and students, amongst others) and reduces our collective capacity to improve research outputs and researcher experiences.

Persistent failure to attend booked courses might result in you being excluded from future training opportunities.


More details and registration via myDevelopment.

Course material: https://fair2-for-research-software.github.io/python-testing-for-research/

Contact Us

For queries relating to collaborating with the RSE team on projects: rse@sheffield.ac.uk

Information and access to Bede.

Join our mailing list so as to be notified when we advertise talks and workshops by subscribing to this Google Group.

Queries regarding free research computing support/guidance should be raised via our Code clinic or directed to the University IT helpdesk.

List of archived pages: Archive.