1. The value of any practice depends on its context.
2. There are good practices in context, but there are no best
3. People, working together, are the most important part of any
4. Projects unfold over time in ways that are often not predictable.
5. The product is a solution. If the problem isn’t solved, the product
6. Good software testing is a challenging intellectual process.
7. Only through judgment and skill, exercised cooperatively
throughout the entire project, are we able to do the right things at
the right times to effectively test our products.
Developer unit testing
• Automated regression unit tests
• Test Driven Development:
– You are not allowed to write any production code
unless it is to make a failing unit test pass.
– You are not allowed to write any more of a unit
test than is sufficient to fail; and compilation
failures are failures.
– You are not allowed to write any more production
code than is sufficient to pass the one failing unit
Specification by Example
“Each pattern is a three-part rule, which
expresses a relation between a certain
context, a problem, and a solution.”