Software Carpentry
Quality Assurance


Introduction


You Can Skip This Lecture If...


Limits to Testing


Terminology


Test Results and Specifications


Structuring Tests


A Simple Example


Catching Errors


Simple Exception Example


Exception Objects


Exception Hierarchy


Functions and Exceptions


Raising Exceptions


Exceptional Style


Handling Errors in Tests


Test-Driven Design


TDD Example


Design by Contract


Assertions


Defensive Programming


Summary