Software Testing and Testing Automation with Python

Testing Philosophy

Purpose

Structure of a Test

Goals of Testing

The effectiveness of the safety net is determined by how completely our tests verify the behavior of the system. Missing tests are like holes in the safety net. Incomplete assertions are like broken strands. Each gap in the safety net can let bugs of various sizes through. - Meszaros

Just like code can have smells, tests can have smells. If something stinks, it should be changed and tests are no exception. Stinky test suites can become brittle, untrusted, and expensive to maintain, defeating their purpose!

“Writing good test code is hard, and maintaining obtuse test code is even harder.” - Meszaros

Testing Principles