Supponendo di avere una funzione pura, IE che non si basa su nessuno stato interno tra una chiamata e l'altra, si vorrebbe generare qualcosa come tabella di verità . Come @KilianFoth osserva nella sua risposta, questo è generalmente poco pratico per qualcosa di interessante. Dal momento in cui passi in qualcosa come un intero hai un enorme set di input, e con una stringa diventa effettivamente infinito.
In queste situazioni l'obiettivo è trovare casi utili che implichino che l'intera gamma funzioni senza verificarla esaustivamente. Ad esempio, non conoscendo il contenuto della funzione che potresti provare, il valore minimo, -100.000.000, -1, 0, 1, 100.000.000 e il valore massimo impostato come input per vedere cosa succede. Per un argomento di stringa arbitrario proverai un input come null, "", "a", "La volpe marrone veloce salta sul cane pigro", "! @ # $% ^ & ** () {} |: "< > [] \; ',. /?' ~" e "dz שࣚ" (unicode per quelli di voi che guardano solo i blocchi).
Questo sarebbe tutto considerato test della scatola nera in cui non guardi la funzione. Nella maggior parte delle situazioni software è possibile guardare il software e provare a progettare un input da guidare in tutti i casi scritti all'interno della funzione. Se c'è un caso speciale che accade solo se l'argomento intero è 3, assicurati che 3 renda l'elenco degli input testati.