Testing
From ym2149.org
- manual testing is a terrible use of resource, invest in automated testing whenever possible
- unit tests are supposed to be fast so developers can run them frequently without getting bored
- your 'test doubles' are dysfunctional if they involve writing things twice, use lightweight mocks
- unit tests are for verifying behaviour and enforcing it
- an integration test can be used to check the parts unit tests can't reach, in particular that the service can communicate with its immediately adjacent services
Analogy
- a dishwasher gets dishes clean by splashing them gently. if you tried that you'd get nowhere, but the machine is relentless and thorough - that's the difference between manual and automated testing