Overview
Explore the concept of layered testing in software development through this 45-minute EuroPython 2017 conference talk. Delve into the importance of automated testing in modern DevOps practices and learn why traditional approaches to unit and integration testing may fall short. Discover how to design modular and layered testing components that bridge the gap between thorough end-to-end tests and fast, pinpointed unit tests. Gain insights on using layered testing to validate software refactoring, identify optimizations, and support continuous integration. Examine topics such as semantic constraints, mocks vs. fakes, testing machine learning algorithms, and the relationship between tests and logging. Apply these principles to create more efficient and effective testing suites for your software projects.
Syllabus
Intro
A typical SW system
Why test software?
How do we test it?
Best way: Layers
What's a semantic constraint?
Body of tests
Mocks aren't Fakes
Mocks vs Fakes
Testing MLA
How to test MLA
How to test HLB
An Example HLB test
Use mock, fake, or actual module?
Check complexity
Load-test in layers
Test refactorings
Tests & logging
Taught by
EuroPython Conference