Attualmente sto provando a testare l'unità di un comportamento che, in alcuni casi molto particolari, restituisce B anziché A. Può dipendere dal valore di 3 diversi attributi, per esempio.
Come posso testarlo?
- Verifica solo il caso specifico in cui il comportamento è true
- Prova il caso specifico e un'altra combinazione casuale di valori per i quali il comportamento non è vero
- Verifica il caso specifico e tutte le possibili combinazioni
L'ultima opzione sembra un incubo di manutenzione in quanto qualsiasi nuovo attributo o valore per un attributo richiederebbe massicci aggiornamenti in tutti i test sui comportamenti che li utilizzano, ma almeno avresti una copertura del 100% del comportamento.
Per fare un esempio, potremmo voler sapere se una persona ha diritto ai solletici gratuiti. Per essere idonei, è necessario appartenere alla categoria A, D e F, avere più di 20 anni, essere mancini e avere i capelli rossi.
Devo solo provare che "le categorie A o D o F + > 20yo + mancino + capelli rossi" danno l'idoneità? Devo testare anche alcune combinazioni casuali come "E, 25yo, mancino, biondo" non contrassegnate come idonee? Devo testare assolutamente ogni possibile combinazione o categoria, sotto / sopra 20anni, mano e capelli, uno è vero, tutti gli altri sono falsi?