Sì, test unitari (almeno scritti in modo decente).
Modifica
Per essere meno disinvolto : Ci sono molte diverse configurazioni di test di unità, ma si riducono efficacemente a quanto segue, il codice base sotto test è trattato come una libreria e i test di unità sono essenzialmente uno grande programma che quando viene eseguito stampa qualcosa di simile a
Test foo passed
Test bar passed
Test baz failed
...Details...
Test quux passed
Se i tuoi test unitari sono deterministici (che generalmente dovrebbero essere il debug dei test non deterministici è il peggiore), questa sarà solo una stringa costante.
Ora, una volta entrati nel mondo reale, il confine è davvero confuso qui, ma penso che il punto generale che un programma senza input sia un buon modo per imparare qualche altro set di codice sorgente.