3 ms·
> no person can write a test case that would never occur to them Not true. Write a simulator that randomly triggers events against the software you are testing
by mbrodersen 4y ago
> no person can write a test case that would never occur to them
Not true. Write a simulator that randomly triggers events against the software you are testing. Write a separate checker that checks if the software ever gets into an illegal state. Run until failure. Expect the events that lead to the failure. That’s a test case that never occurred to you.
I have used that method to check very hard to get right distributed systems. The simulator found many test cases that broke the software. After fixing them all, I ran the simulator for a simulated 100 years with a simulated 50% failure rate for everything. And it never failed. Good enough for practical software. Not as good as proven correct software of course but probably the next best thing.