I realize there are scenarios in theory where it's easier to verify output than create it, but in practical terms (e.g. A web application) what would the difference be between a testthat validates all possible inputs/outputs and the actual program you're writing?