- Day 4: Identify the behavior under test and rewrite the tests.
- Focus tests on behaviors (not data)
- Tests List
- Avoid duplication (Clean Code applied on tests)
- Day 6: Parameterize your tests.
- Parameterized tests
- Day 13: Find a way to eliminate the irrelevant, and amplify the essentials of those tests.
- Test Data Builder
DSL
for our tests
- Day 15: Put a code under tests.
- Approval testing
- Combination testing
- Work effectively with legacy code
- Day 17: Design one test that has the impact of thousands.
- Property-Based Testing
- From
Parameterized tests
toProperty-Based tests
- Day 21: Refactor the tests and production code to Output-Based tests.
- Styles of Tests
- State-Based
- Output-Based
- Communication-Based
- Refactor to Output-Based tests
- Functional Core, Imperative Shell
- Styles of Tests
- Day 23: Refactor the code after putting it under test.
- Code coverage
- Mutation Testing