Untitled.Bat |
Developer, dad & dangerously dopey.....Also awesome at alliteration and assonance . Visit my main website @ http://www.xerxesb.com if you're tech-inclined |
T1: Insufficient Tests - A test suite should test everything that could possibly break. The tests are insufficient so long as there are conditions that have not been explored by the tests.
T2: Use a Coverage Tool - Coverage tools report gaps in your testing strategy
T3: Don’t Skip Trivial Tests - They are easy to write and their documentary value is higher than the cost to produce them
T4: An Ignored Test Is A Question About an Ambiguity - Sometimes we are uncertain about a behavioural detail because the requirements are unclear. We express this questioning as a test which is commented out or marked as [Ignore].
T5: Test Boundary Conditions - Take special care to test boundary conditions. We often get the middle of an algorithm right, but misjudge teh boundaries
T6: Exhaustively Test Near Bugs - Bugs tend to congregate. When a bug is found, it is best to comprehensively write tests to cover the function - bugs don’t hang around alone!
T7: Patterns Of Failure Are Revealing - Sometimes you can diagnose a problem by finding patterns in the way the test cases fail. This is another argument for making the test cases as complete as possible. It will help to lead to an “aha!” moment when analysing test failures.
T8: Test Coverage Patterns Are Revealing - Looking at code that is or is not executed by the passing tests gives clues as to why the failing tests fail.
T9: Tests Should Be Fast - A slow test is a test that won’t get run. When things get tight, the slow tests will be the first to drop. Do everything you can to keep the tests small and fast
Clean Code: Chapter 17