>completely removing the need for tests
That would be formal verification.
That would be formal verification.
Formal verification only tells you that the application matches its spec, given a set of assumptions. Only testing can tell you whether the spec matches the business case, and whether the spec assumptions hold.
Paraphrasing Knuth, code that has only been proven correct but not actually tested should always be approached with caution.
Edit: Knuth, not Dijkstra
@ Then there is the limitation of verification tech of course.
And one of the things I say to anxious coworkers who are struggling with testing is that it’s a lot harder than you think.