Your testing strategy should be an onion.
Unit tests won't catch all your bugs.
Integration tests won't catch all your bugs.
Acceptance tests won't catch all your bugs.
Field testing won't catch all your bugs.
They all catch a portion and make it harder for bugs to make it all the way through.
@ted meanwhile, formal verification, or even type checking (which is a partial form of formal verification) makes entire classes of bugs impossible to happen.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!