Testing

Dagster believes that data engineering should feel like software engineering. And anyone who has been involved in software engineering knows the importance of testing.

With proper testing, you can discover issues much earlier in the development process. This helps to minimize risk as you are building out your platform and gives developers more confidence iterating. For those primarily responsible for building pipelines you can spend less time on maintenance and more time on new features. Tests enable easier changes for both team members who have forgotten parts of the codebase and people new to the team and still learning about the edge cases and business logic.

Types of testing

There are many different types of testing. Each focuses on a specific aspect of engineering and requires its own unique approach.

TypeDescription
Unit testingTests individual components or functions in isolation
Integration testingEnsures that different modules or services work together as expected
Data quality testingValidate data and checks that it meets predefined criteria

These are the types of tests we will cover in this module but there are many other testing disciplines. Depending on your role within an organization you may be more concerned with different aspects of testing. It is usually not the responsibility of one person to manage the entire testing stack but every role has a hand in testing.