PyCon CZ

PyCon CZ 23
15–17 September
Prague

Test Driven Development For Everyone a workshop with Daniel Raniz Raneland

Sunday 17 September 10:00 (3 hours)
Room 346

“There is never enough time to do it right, but there is always enough time to do it over.”
~John W. Bergman

Test Driven Development (TDD) is a powerful approach that yields better, bug-free code. So why isn’t everyone doing it?

In this hands-on workshop, I’ll explain what TDD is and why I think it’s so good. We’ll also try it out for ourselves, using some real-life examples. You’ll get to see how TDD makes writing great code simpler and gives you a safety net for when you have to make big changes to your code.

Bring your laptop and a programming language you’re comfortable testing in. If you’re new to testing, we’ve got you covered with starter projects available in multiple languages like C, C++, C#, Java, JavaScript, Kotlin, Python, Rust, and TypeScript.

We’ll explore how to plan tests, the role of refactoring in TDD, and the benefits of designing code a bit at a time. Plus, you’ll learn how TDD can make your code easier to read and keep up to date, and how it can help make your software more reliable.

Collaborative learning will be a key element of our session – coding in pairs is not just welcomed, it’s actively encouraged! Let’s embark on this exciting journey of creating better, cleaner, and more reliable code through Test Driven Development together.

Requirements

Attendees need a laptop and can prepare by setting up a project ready to start writing tests in.

A comprehensive starter project is available for Python.

Starter projects for other languages are also available.

Prerequisities

Basic knowledge of Python or another programming language.

What do you need to know to enjoy this workshop

Python level

You can write basic scripts.

About the topic

No previous knowledge of the topic is required, basic concepts will be explained.

Daniel Raniz Raneland

I am a programmer, architect, speaker and coach at factor10, helping companies achieve software excellence with a business focus.

As a problem solver at heart, I jump at complicated problems and believe that as much as possible should be automated, reproducible and stored as code.