Test della tabella decisionale (esempio)

โšก Riepilogo intelligente

Il Decision Table Testing รจ una tecnica black-box che cattura le combinazioni di input e i relativi output attesi in forma tabellare. Questo tutorial spiega il concetto di causa-effetto, illustra esempi di login e upload e mostra perchรฉ il metodo offre una copertura elevata per logiche aziendali complesse.

  • ๐Ÿงฎ Idea centrale: Una tabella decisionale mette in relazione le condizioni (cause) con i risultati (effetti) per una copertura sistematica.
  • ๐Ÿ”ข Regola di combinazione: Il numero di regole รจ pari a 2 elevato al numero di condizioni (2^n).
  • ๐Ÿ” Esempi pratici: Le schermate di accesso e di caricamento delle foto mostrano condizioni Vero/Falso associate agli output.
  • โœ… ultimi Utilizzo: Ideale quando il comportamento del sistema varia a seconda della combinazione di input.
  • ๐Ÿค– Abilitazione dell'IA: Gli strumenti di intelligenza artificiale ora generano tabelle decisionali a partire dai requisiti ed eliminano le regole ridondanti.

Test della tabella delle decisioni

Che cos'รจ il test della tabella decisionale?

Il test delle tabelle decisionali รจ una tecnica di test del software utilizzata per testare il comportamento del sistema per diverse combinazioni di input. Si tratta di un approccio sistematico in cui le diverse combinazioni di input e il loro corrispondente comportamento del sistema (output) vengono acquisiti in forma tabellare. Per questo motivo รจ anche chiamato Causa effetto tabella, dove vengono registrate cause ed effetti per una migliore copertura dei test.

A Tabella delle decisioni รจ una rappresentazione tabellare degli input rispetto a regole, casi o condizioni di test. รˆ uno strumento altamente efficace per entrambi i complessi test del software e gestione dei requisiti. Una tabella decisionale aiuta a verificare tutte le possibili combinazioni di condizioni e i tester possono identificare facilmente le condizioni mancanti. Le condizioni sono indicate utilizzando i valori Vero (V) e Falso (F).

Esempio 1: Tabella decisionale per una schermata di accesso

Creiamo una tabella decisionale per la schermata di accesso.

Tabella di base decisionale per la schermata di accesso

La condizione รจ semplice: se l'utente inserisce nome utente e password corretti, viene reindirizzato alla homepage. Se uno qualsiasi dei dati inseriti non รจ corretto, viene visualizzato un messaggio di errore.

Condizioni Regola 1 Regola 2 Regola 3 Regola 4
Nome utente (T/F) F T F T
Password (T/F) F F T T
Uscita (E/H) E E E H

Legenda:

  • T โ€“ Correggere nome utente/password
  • F โ€“ Nome utente/password errati
  • E โ€“ Viene visualizzato il messaggio di errore
  • H โ€“ Viene visualizzata la schermata iniziale

Interpretazione:

  • Caso 1 โ€“ Nome utente e password errati. All'utente viene mostrato un messaggio di errore.
  • Caso 2 โ€“ Nome utente corretto, password errata. All'utente viene mostrato un messaggio di errore.
  • Caso 3 โ€“ Nome utente errato, password corretta. All'utente viene mostrato un messaggio di errore.
  • Caso 4 โ€“ Nome utente e password sono entrambi corretti. L'utente accede alla homepage.

Quando si converte questo in un caso di provaรˆ possibile creare due scenari, poichรฉ tutti e tre i casi di errore testano la stessa regola.

  • Inserisci il nome utente e la password corretti, quindi fai clic su Accedi: l'utente dovrebbe essere reindirizzato alla pagina iniziale.
  • Inserisci un nome utente e/o una password errati, quindi fai clic su Accedi: all'utente dovrebbe apparire un messaggio di errore.

Esempio 2: Tabella decisionale per una schermata di caricamento

Consideriamo ora una finestra di dialogo che chiede all'utente di caricare una foto a determinate condizioni:

  1. รˆ consentito solo il formato โ€œ.jpgโ€.
  2. La dimensione del file deve essere inferiore a 32 KB.
  3. La risoluzione deve essere 137 ร— 177.

Se una qualsiasi delle condizioni non viene soddisfatta, il sistema visualizza un messaggio di errore corrispondente; se tutte le condizioni sono soddisfatte, il caricamento della foto avviene correttamente.

Tabella decisionale per la schermata di caricamento

La tabella decisionale per questo caso รจ riportata di seguito.

Condizioni Caso 1 Caso 2 Caso 3 Caso 4 Caso 5 Caso 6 Caso 7 Caso 8
Formato .jpg .jpg .jpg .jpg Non .jpg Non .jpg Non .jpg Non .jpg
Taglia < 32 KB < 32 KB โ‰ฅ 32 KB โ‰ฅ 32 KB < 32 KB < 32 KB โ‰ฅ 32 KB โ‰ฅ 32 KB
Risoluzione 137 ร— 177 Non 137ร—177 137 ร— 177 Non 137ร—177 137 ร— 177 Non 137ร—177 137 ร— 177 Non 137ร—177
Uscita Foto caricata Risoluzione non corrispondente Dimensioni non corrispondenti Discrepanza tra dimensioni e risoluzione Formato non corrispondente Mancata corrispondenza di formato e risoluzione Mancata corrispondenza di formato e dimensioni Mancata corrispondenza di formato, dimensioni e risoluzione

Da questa tabella รจ possibile creare otto casi di test per una copertura completa:

  1. .jpg, < 32 KB, 137ร—177 โ†’ caricamento foto riuscito.
  2. .jpg, < 32 KB, non 137ร—177 โ†’ errore di mancata corrispondenza della risoluzione.
  3. .jpg, โ‰ฅ 32 KB, 137ร—177 โ†’ errore di dimensione non corrispondente.
  4. .jpg, โ‰ฅ 32 KB, non 137ร—177 โ†’ errore di mancata corrispondenza tra dimensioni e risoluzione.
  5. Non รจ un file .jpg, < 32 KB, 137ร—177 โ†’ errore di formato non corrispondente.
  6. Non รจ un file .jpg, ha una risoluzione inferiore a 32 KB e non รจ 137ร—177 โ†’ errore di incompatibilitร  tra formato e risoluzione.
  7. Non รจ un file .jpg, non รจ 32 KB e non รจ 137ร—177 โ†’ errore di formato e dimensioni non corrispondenti.
  8. Non รจ un file .jpg, non ha dimensioni superiori a 32 KB e non ha una risoluzione di 137ร—177 pixel โ†’ errore di incompatibilitร  tra formato, dimensioni e risoluzione.

Perchรฉ i test basati su tabelle decisionali sono importanti

Il test tramite tabelle decisionali รจ importante perchรฉ permette di verificare numerose combinazioni di condizioni e offre un'elevata copertura per logiche aziendali complesse. Quando il comportamento del sistema varia a seconda del set di input, questa tecnica fornisce una buona copertura in una rappresentazione semplice e di facile lettura.

In Ingegneria del software, l'analisi dei valori limite e la partizione di equivalenza sono tecniche simili, ma sono piรน efficaci quando il sistema mostra il stesso comportamento attraverso un ampio insieme di input. Quando il comportamento รจ diverso Per ogni combinazione di input, queste tecniche non possono garantire una buona copertura, e il test con tabelle decisionali diventa l'opzione migliore.

Questa tabella funge anche da riferimento per lo sviluppo dei requisiti e delle funzionalitร , poichรฉ รจ di facile comprensione e copre tutte le combinazioni. La sua importanza aumenta con l'aumentare degli input: il numero di combinazioni possibili รจ 2^n, dove n รจ il numero di input. Per n = 10, valore comune nei moduli web, si hanno 1,024 combinazioni. Non รจ possibile testarle tutte, ma รจ possibile selezionarne un sottoinsieme completo utilizzando test basati su decisioni.

Vantaggi del test sulle tabelle decisionali

  • Funziona quando il comportamento del sistema varia a seconda degli input, laddove la partizione di equivalenza e l'analisi dei valori limite risultano insufficienti.
  • La rappresentazione รจ semplice, quindi facilmente interpretabile e utile sia per i team di sviluppo che per quelli aziendali.
  • Aiuta a creare combinazioni efficaci e garantisce una migliore copertura dei test.
  • Qualsiasi situazione aziendale complessa puรฒ essere trasformata in una tabella decisionale.
  • Garantisce una copertura del 100% anche in presenza di un numero ridotto di combinazioni di input.

Svantaggi del test della tabella decisionale

Lo svantaggio principale รจ che, all'aumentare del numero di input, la tabella diventa piรน complessa e difficile da gestire.

DOMANDE FREQUENTI

Il test delle tabelle decisionali รจ una tecnica a scatola nera che cattura le combinazioni di condizioni di input e i relativi output attesi in una tabella. Garantisce una copertura sistematica di regole aziendali complesse.

Essa mappa le cause (condizioni di input) agli effetti (output del sistema). Riportando entrambi gli aspetti in un'unica tabella, la relazione diventa esplicita, ed รจ per questo che viene anche chiamata tabella causa-effetto.

Il numero di regole รจ pari a 2^n, dove n รจ il numero di condizioni binarie. Ad esempio, 4 condizioni producono 16 regole e 10 condizioni producono 1,024 combinazioni possibili.

L'analisi dei valori limite รจ adatta a input il cui comportamento รจ uniforme in un determinato intervallo. Le tabelle decisionali sono invece adatte a casi in cui ogni combinazione di input produce un output diverso, offrendo una copertura che le altre tecniche non riescono a garantire.

Utilizzalo quando una funzionalitร  presenta piรน condizioni di input che interagiscono per produrre output diversi, come ad esempio la convalida dell'accesso, il caricamento di moduli o le regole di prezzo e sconto con diverse dipendenze.

Man mano che il numero di condizioni aumenta, la tabella si espande esponenzialmente (2^n) e diventa difficile da gestire. I tester solitamente selezionano un sottoinsieme rappresentativo di regole anzichรฉ testare ogni singola combinazione.

Gli strumenti di intelligenza artificiale leggono i requisiti e generano automaticamente tabelle decisionali, identificano le regole mancanti o ridondanti e raggruppano le regole equivalenti. Ciรฒ riduce il lavoro manuale e migliora la copertura delle combinazioni.

Sรฌ. L'intelligenza artificiale puรฒ convertire ogni regola in una tabella decisionale in un caso di test concreto con input e risultati attesi, quindi assegnare loro una prioritร  in base al rischio, in modo che le combinazioni ad alto impatto vengano testate per prime.

Riassumi questo post con: