In this lesson we introduce the concept of testing, how it can help to improve the accuracy of your code and how to implement it efficiently using a Python library called pytest.
Though some of this testing functionality is specific to Python, the approach and principles are general and libraries/frameworks exist in most languages.
Approximate timings for the lesson:
| Time | Episode | Description |
|---|---|---|
| 0:00 | Setup | Setup |
| 0:05 | Introduction | Why test? |
| 0:10 | Basics of Testing | What are tests? |
| 0:15 | Assertive Defensive Programming | How can we compare observed and expected values? |
| 0:30 | Revision of Functions in Scripts | How can we put our new assertions into a scipt that we can run or import? |
| 1:00 | Exceptional Defensive Programming | How do I handle unusual behavior while the code runs? |
| 1:15 | Unit Tests | What is a unit of code? |
| 1:30 | Running Tests with pytest | How do I automate my tests? |
| 1:45 | Edge and Corner Cases | How do I catch all the possible errors? |
| 2:05 | Integration and Regression Tests | How do we test more than a single unit of software? |
| 2:15 | Continuous Integration | How can I automate running the tests on more platforms than my own? |
| 2:40 | Test Driven Development | How do you make testing part of the code writing process? |