Vai al contenuto
SDETRole
SDETRole

Glossario · Progettazione dei test

Tabelle decisionali (decision table testing)

In inglese: Decision table testing

Detto anche: tabella decisionale, tabelle di decisione, decision table, tabella causa-effetto

Definizione

Una tecnica di progettazione dei test che elenca le combinazioni di condizioni e l'azione che ciascuna deve attivare, così che ogni regola di business abbia un test.

Il decision table testing (test con tabelle decisionali) modella la logica di business che dipende da una combinazione di condizioni. Elenchi le condizioni come righe, ogni combinazione rilevante dei loro valori come colonne (regole) e l’azione attesa per ogni regola. Ogni colonna diventa almeno un caso di test. È il modo più affidabile per assicurarsi che nessuna combinazione di una regola complessa venga dimenticata.

Esempio: approvazione di un prestito

Regole: un richiedente viene approvato se ha un credit score di almeno 700 e un reddito di almeno 40.000 $. Uno score di almeno 700 con un reddito inferiore viene inviato a revisione manuale. Anche i clienti esistenti con uno score sotto 700 vengono inviati a revisione. Tutti gli altri vengono rifiutati.

Tre condizioni sì/no danno 2 x 2 x 2 = 8 regole:

Condizione / Azione R1 R2 R3 R4 R5 R6 R7 R8
Credit score >= 700 S S S S N N N N
Reddito >= 40.000 $ S S N N S S N N
Cliente esistente S N S N S N S N
Approva X X
Revisione X X X X
Rifiuta X X

Scriverla per esteso fa emergere domande a cui il requisito non rispondeva chiaramente. Per esempio, R5 e R7 vanno entrambe in revisione, quindi per un cliente esistente con uno score basso il reddito non fa alcuna differenza. Era voluto, oppure uno score basso con un reddito basso andrebbe rifiutato anche per i clienti esistenti? La tabella rende visibile la domanda, così da poterla chiarire con il product owner prima di testare.

Compattare la tabella

Quando una condizione non influisce sul risultato, le regole si possono unire usando “-” per “indifferente”. R1 e R2 approvano entrambe indipendentemente dallo stato del cliente, quindi si compattano in un’unica regola: score S, reddito S, cliente -. Compattare riduce i test, ma mantieni almeno un test per ogni percorso di azione distinto.

Combinarla con altre tecniche

Ogni condizione ha comunque i suoi valori limite. “Score >= 700” va testato con 699 e 700, e “reddito >= 40.000 $” con 39.999 $ e 40.000 $. Usa la tabella decisionale per coprire le combinazioni e l’analisi dei valori limite per scegliere i valori concreti.

Quando usarla

Le tabelle decisionali sono adatte a regole con più condizioni che interagiscono: prezzi e sconti, requisiti di idoneità, permessi, preventivi assicurativi, tasse. Con molte condizioni la tabella cresce come 2^n: raggruppa le condizioni, compatta quelle irrilevanti o passa al pairwise testing per opzioni di configurazione indipendenti.

Scrivi per cercare in tutto SDETRole.

Ricerca full-text con Pagefind · funziona nel tuo browser Apri la pagina di ricerca →