Vai al contenuto
SDETRole
SDETRole

Glossario · Progettazione dei test

Pairwise testing

Detto anche: all-pairs testing, test a coppie, test pairwise, pairwise

Definizione

Tecnica combinatoria che sceglie un piccolo insieme di test case in cui ogni coppia di valori dei parametri compare insieme almeno una volta.

Il pairwise testing (all-pairs testing, test a coppie) riduce il numero di combinazioni necessarie quando una funzionalità ha diversi parametri. Invece di testare ogni combinazione possibile, sceglie un insieme di test in cui ogni valore di ciascun parametro viene abbinato almeno una volta a ogni valore di ogni altro parametro. L’idea si basa su un’osservazione pratica: la maggior parte dei difetti legati alla configurazione è causata da un singolo parametro o dall’interazione tra due, mentre molti meno richiedono tre o più valori specifici contemporaneamente.

Esempio

Un’app web deve funzionare con queste opzioni:

  • Browser: Chrome, Firefox, Safari
  • Sistema operativo: Windows, macOS, Linux
  • Lingua: inglese, tedesco, giapponese

Tutte le combinazioni sono 3 x 3 x 3 = 27 test. Un insieme pairwise ne richiede solo 9:

# Browser Sistema operativo Lingua
1 Chrome Windows Inglese
2 Chrome macOS Tedesco
3 Chrome Linux Giapponese
4 Firefox Windows Tedesco
5 Firefox macOS Giapponese
6 Firefox Linux Inglese
7 Safari Windows Giapponese
8 Safari macOS Inglese
9 Safari Linux Tedesco

Prendi due colonne qualsiasi: ogni coppia compare. Chrome con Linux è la riga 3, macOS con giapponese è la riga 5, Safari con tedesco è la riga 9. Con più parametri il risparmio cresce rapidamente. Dieci parametri con tre valori ciascuno danno 59.049 combinazioni, mentre un insieme pairwise può coprire tutte le coppie con circa 15-20 test, a seconda del generatore.

Vincoli

I sistemi reali hanno combinazioni impossibili. Safari non è disponibile su Linux, quindi la riga 9 va sostituita; i buoni generatori ti permettono di dichiarare vincoli di questo tipo e poi ricostruiscono l’insieme in modo che ogni coppia valida resti coperta. Tra gli strumenti che generano insiemi pairwise ci sono PICT di Microsoft e la famiglia di script AllPairs.

Quando non affidarsi al pairwise

  • Combinazioni notoriamente rischiose. Se conta una specifica combinazione di tre valori (metodo di pagamento, valuta e paese), aggiungila esplicitamente.
  • Regole che dipendono da più input insieme. Usa una tabella decisionale per catturare la logica di business; il pairwise serve a coprire configurazioni e opzioni indipendenti.
  • Singoli parametri critici. Il pairwise non sostituisce la partizione in classi di equivalenza e l’analisi dei valori limite sui valori di ciascun parametro.

Le varianti di ordine superiore (3-wise, o t-wise in generale) coprono ogni tripla o tupla più grande, al costo di un numero maggiore di test.

Scrivi per cercare in tutto SDETRole.

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