Che cos’è un test esaustivo?

Il test esaustivo, noto anche come test completo, si verifica quando tutti i tester del tuo team sono esauriti e quando tutti i test pianificati sono stati eseguiti. È una tecnica di test di garanzia della qualità in cui tutti gli scenari o i dati vengono testati per il test. In modo più comprensibile, test esaustivi significa garantire che non ci siano difetti non scoperti al termine della fase di prova. Testare tutto (tutte le combinazioni di input e precondizioni) non è fattibile tranne che per casi banali. Come tester, spesso diciamo “beh, non ho mai abbastanza tempo per i test”. Anche se avessi tutto il tempo in questo mondo, non avresti ancora abbastanza tempo per testare tutte le possibili combinazioni di input e combinazioni di output.

Perché un test esaustivo è impraticabile e impossibile?

Non è possibile eseguire test completi o test esaustivi. Per la maggior parte dei sistemi, è quasi impossibile a causa dei seguenti motivi:

  • Il dominio dei possibili input di un programma è troppo grande per essere completamente utilizzato nel test di un sistema. Ci sono sia input validi che input non validi.
  • Il programma può avere un gran numero di stati. Ci possono essere vincoli di temporizzazione sugli input, cioè un input può essere valido in un determinato momento e non valido in altri momenti. Un valore di input valido ma non temporizzato correttamente è chiamato input inopportuno.
  • Il dominio di input di un sistema può essere molto grande per essere completamente utilizzato nel test di un programma.
  • I problemi di progettazione potrebbero essere troppo complessi per essere completamente testati. Il progetto potrebbe aver incluso decisioni e ipotesi di progettazione implicite. Ad esempio, un programmatore può utilizzare una variabile globale o una variabile statica per controllare l’esecuzione del programma.
  • Potrebbe non essere possibile creare tutti i possibili ambienti di esecuzione del sistema. Questo diventa più significativo quando il comportamento del sistema software dipende dal mondo reale, esterno, come il tempo, la temperatura, l’altitudine, la pressione e così via.

Esempi di test esaustivi

Esempio 1:

test approfonditi IE Opzioni di Esempio
Gli Strumenti di IE > Opzioni Avanzate finestra

53 binario condizioni
1 condizione con 3 opzioni
1 condizione con 4 opzioni
2^53 = 9,007,199,254,740,992
x 12
= 108,086,391,056,891,904 possibili combinazioni di condizioni

In un secondo per l’esecuzione di test di:

108,086,391,056,891,904 / 360 = 300,239,975,158,033.067 ore (12,509,998,964,918.04 giorni o 34,273,969,766.9 anni) per testare tutte le possibili combinazioni.

Esempio 2:

Prendiamo un sito di e-commerce che ha le seguenti funzionalità:

  • Login
  • Scegli un prodotto
    • Filtra il prodotto con il colore
    • Filtra un prodotto con il prezzo.
  • Acquista il prodotto (portale di pagamento)

Sulla base dei parametri di identificazione del rischio, gli utenti possono creare una matrice da includere nel piano di test. Ogni parametro può essere dato punteggi in modo che possiamo avere un modo corretto per identificare le aree ad alto rischio.

  • Impatto sul business: 1-10
  • Probabilità di fallimento: 1-10
  • Regressione: 1-5
  • Recupero: 1-5

Creiamo una matrice per l’esempio precedente:

Funzionalità Impatto sul Business Probabilità di Guasto Regressione Recupero
Login 10 3 1 1=15
Scegliere un prodotto con filtro di colore 5 5 2 2=14
Scegliere un prodotto con prezzo filtro 8 5 2 2=17
Aggiungi al Carrello 10 8 3 4=25
Comprare prodotto 10 7 2 2=21

Quindi, secondo il punteggio, abbiamo la funzionalità ” Aggiungi al carrello “come il principale concorrente per la” zona a rischio più alto”, quindi ora possiamo dare la priorità al test. Possiamo anche determinare per quali funzionalità il team QA deve eseguire un test quasi esaustivo.
Team QA può semplificare il piano di mitigazione del rischio, guardando i loro punteggi

  • Punteggi 1-5:- Unit test e recensioni.
  • Punteggi 5-10:- Unit testing + test black-box (regressione e aree ad alto impatto aziendale)
  • Punteggi 10-15: – Tipi di test tipici con profondità limitata.
  • Punteggi 15-25: – Tipi di test tipici con profondità in alcuni tipi di test.
  • Punteggi 25-30:-Aree ad alto rischio. Copertura completa e test approfonditi per tutti i tipi di test.

Secondo il metodo sopra menzionato, le aree con il punteggio superiore a 25 dovrebbero essere considerate un’area estremamente ad alto rischio e deve essere eseguito un test quasi esaustivo.Quindi, per l’esempio precedente “Aggiungi al carrello” dovrebbe implementare test approfonditi per tutti i tipi di test e dovrebbero essere eseguiti test esaustivi.