A few notes on this guideline

What’s expecting you?

First, we will learn how automated tests work and write our first simple tests. We will look at what makes a good test and which rules we should apply to tests. Since tests usually deal with some dependency, we will learn two techniques (mocks and dependency injection) to deal with dependencies and how to apply them in various cases. The test pyramid will tell us which kinds of tests exist and in which amount they should be applied. The legacy code section will teach us how to deal with existing old code and how tests can improve that. Finally, we take a look at two real world examples to see the concepts we learned in action.

Code examples

This guideline shows many code examples for better demonstration. The code examples are written in Python because it’s widespread in the visual effects industry, and many technical directors know it. Sometimes, some parts of the code are skipped because they are not necessary. These parts are replaced with [...].

My motivation to write this guideline

My name is Jan Honsbrok. I am 23 years old and study Media Informatics at the University of Applied Sciences in Düsseldorf, Germany.

Before I started to study Media Informatics, I worked as a pipeline technical director and continued to work during my studies. I tested my code manually but broke things very often. It’s just not possible to test every edge case manually. Because I studied Media Informatics, at one point, I heard about automated tests and how they could solve my problem of accidentally breaking code. So I wanted to implement automated tests for the pipeline I was working on. I found many resources online on how to write automated tests, but there was not much about how to write tests for visual effects pipelines. So I had to find out how to apply general testing techniques to visual effects pipelines. That’s why I decided to create this guideline as my bachelor’s thesis, so it’s easier for other TDs to get started with automated tests.


Last modified August 24, 2020