Chapter 1, Getting Started with Software Testing, provides an introduction to the core concepts of automated testing and to the unittest Python module.
Chapter 2, Test Doubles with a Chat Application, presents the most common kinds of test doubles while building a real-time chat application.
Chapter 3, Test-Driven Development while Creating a TODO List, covers writing a todo list application adhering to the test-driven development best practices.
Chapter 4, Scaling the Test Suite, explores the complexities of maintaining a test suite as the software and the suite grow in size and complexity.
Chapter 5, Introduction to PyTest, presents the pytest framework and explores how it differs from the unittest module.
Chapter 6, Dynamic and Parametric Tests and Fixtures, dives into more advanced features of pytest, such as parametric tests and dynamic fixtures.
Chapter 7, Fitness Function with a Contact Book Application, dives into more advanced concepts related to acceptance tests and Acceptance Test Driven Development (ATDD) building a real application.
Chapter 8, PyTest Essential Plugins, showcases the most widespread pytest plugins that can be helpful in most projects.
Chapter 9, Managing Test Environments with Tox, presents how to manage test suites across different Python environments.
Chapter 10, Test Documentation and Property-Based Testing, introduces the concept of testing documentation and auto-generating tests based on the properties of the system under test.
Chapter 11, Testing for the Web: WSGI versus HTTP, covers how to test client-server applications based on the HTTP and WSGI protocols.
Chapter 12, End-to-End Testing with the Robot Framework, covers how to write tests that drive a real browser acting on a web application.