The document discusses lessons learned from testing code. It notes that test code should be simpler with lower complexity than the code being tested. Duplication in tests often indicates a missing abstraction, and repetition can suggest the same. Both the code and tests evolve together through iterations. Writing tests first aids specification, while testing later often serves debugging.
91. Summary
Burning calories - a metaphor for understandability
Tests should be simple, linear, low complexity
Tests should be specific
Long_specific_test_names_is_ok
Duplication usually means a missing abstraction
Repetition can indicate a missing abstraction too
Do your diagnostics diagnose? custom assertions
Don't cheat on test data - "String1" vs "red"
Overuse Mockist style and you will regret it
Code and tests co-evolve
Test at the end is often debugging
Test at the beginning as specification
91