Home >>> Courses >>> Special Topics >>> Testing

What customers say ...

The standard Python for programmers and the customized "Python for Experts" course where a great success. ..

Bart Hillaert, Alcatel-Lucent, Belgium more...

Good course. Very fast progress without any prior Python knowledge.

Daniel Fuchs, GIGATRONIK Ingolstadt GmbH, about the German version of the course "Python for Programmers" more...

The Python Summer Course was a very good opportunity to know almost all about Python. ... Highly recommended!!

Dr. Fabio Lamanna, Complex Transportation Networks, Trieste, Italy more...

Mike is an outstanding teacher ... I will look for his classes in the future.

Jennifer Trasti, Software/Systems Engineer, Sandia National Laboratories, Albuquerque, NM, USA more...

Very nice course, got many useful suggestions.

Dr.-Ing. Ralf Wieland, Institut für Landschaftssystemanalyse, Leibniz-Zentrum für Agrarlandschaftsforschung e.V. about the German version of the course "Python for Scientists and Engineers" more...

Professional Testing with Python

Dates for Open Courses

Course available as open and in-house training. Currently no dates for open courses. Please ask us at info@python-academy.de

What Participants Say About This Course

I think overall the course was held excellently. I learnt a lot and learnt how to use the different techniques and ideas.

—Vinay Mathew, course participant

Great opportunity to learn directly from the author of py.test.

—a course participant

Impressive & abundant, clear information. It's been a privilege!

—a course participant

Target Audience

People with a Python programming background, interested in best practices of testing Python libraries and applications.


Testing is essential for code quality. Tests need to be automated and regularly run to benefit from them. Frameworks such as pytest are based on many years of exercise and help you apply best practices to your tests. Apart from integrating with existing unittest/nose test suites, pytest offers some unique features for writing and organizing your test code.

Testing and releasing your code for many different Python versions and implementations can be hard. The new library tox is an effect tool to integrate testing and deployment. It works with and connects to established tools including those for Continuous Integration.

Applying the Python philosophy that simple things should be simple and complex task should be possible, pytest and tox make it easy to get started but at the same time provide powerful features for professional software development.

Course Content

In 30 steps we introduce terms and tools for testing in Python. Each step consists of an input, discussion and self-practice phase. The main topics of the course are:

  • Testing terms: functional, unit, integration, acceptance
  • Test driven development, "after it work" and legacy-code testing
  • pytest basic usage: command line options, test discovery, capturing stdout, assert, expecting exceptions, interactive debugger, simple fixtures
  • Integrating nose, twisted, django and unittest/2 style tests
  • Load balancing across multiple CPUs or machines
  • Configuring and using test coverage analysis
  • Special test outcomes: skip, xfail and when to use them
  • Using fixture functions for managing test state in a modular, scalable and parametrizable manner.
  • Using builtin fixture functions and fixtures from plugins
  • When and how to use mocking to avoid expensive setups
  • Understanding plugin hooks and writing your own plugins
  • Using tox to run tests against installed libraries and applications
  • Using tox to build and test sphinx documentation
  • Using tox to integrate with Jenkins CI or travis-ci.org

Each bullet point will be covered with two to three short units with exercises.

Course Style

This is a hands-on course with lots of student activities. The presentation parts are usually short and include real-life examples. Students will create their own tests from the very beginning. Exercises are an important part of the training. Students are encouraged to bring their own problems to be discussed during the course.

Course Duration

3 days


The participants can follow all steps directly on their computers. There are exercises at the end of each unit providing ample opportunity to apply the freshly learned knowledge.

Course Material

Every participant receives comprehensive printed materials that cover the whole course content as well as all source codes used in the course in electronic form.

The Trainer

Holger Krekel is the author of pytest and tox. He is a very experienced Python programmer and one of the founders of the famous pypy project. He is a creator or a contributor of many, often widely used, Open Source libraries. Over the last few years, he's has been working intensively in the fields of testing and test-driven development. Holger is currently living in Freiburg, Germany.

The Python Academy is sponsor of PyCon Montréal 2015.

[PyCon Montréal 2015]

The Python Academy is sponsor of Django Girls Wroclaw 2015.

[Django Girls Wroclaw 2015]

The Python Academy is sponsor of PyCon Ireland 2014.

[PyCon Ireland 2014]

The Python Academy is sponsor of EuroSciPy 2014.

[EuroSciPy 2014]

The Python Academy is sponsor of PyData London 2014.

[PyData London 2014]

The Python Academy is sponsor of EuroPython 2014.

[EuroPython 2014]

The Python Academy is sponsor of PyCon 2014 Montréal.

[PyCon 2014 Montréal]

The Python Academy is sponsor of Python BarCamp Köln 2014.

[Python BarCamp 2014]

The Python Academy is sponsor of PyConDE 2013.

[PyCon DE 2013]

The Python Academy is sponsor of EuroPython 2013.

[EuroPython 2013]

The Python Academy is sponsor of PyCon US 2013.

[PyCon US 2013]

The Python Academy is sponsor of EuroSciPy 2013.

[EuroSciPy 2013]

The Python Academy is sponsor of PyConPL 2012.

[PyCon PL 2012]


The next open cousers
details ...

Python Academy sponsors EuroPython conference 2013
details ...

Python Academy sponsors EuroSciPy conference 2013
details ...

Python Academy sponsors Python BarCamp in Cologne
details ...

Next Meeting of Leipzig Python User Group, November 12, 2013
details ...

Introduction to Django, November 11 - 13, 2013
details ...

Professional Testing with Python, November 25 - 27, 2013
details ...

Advanced Django, January 13 - 15, 2014
details ...

Python Academy sponsors PyCon US conference 2013
details ...

Python Academy founder receives PSF Community Service Award
details ...