Creating Testable Software
- Create Clean Code -- code for which you can:
- describe exactly what it does
- describe exactly how it interacts with other entities
- Minimize Threads
- Minimize Global Variables -- these create implicit inputs to any software in the same module.
- Reduce references and pointers.
- Maximize Assertions