Introduzione alle tecniche di progettazione dei casi di test

La fase più significativa e cruciale nello sviluppo del software è la fase di test. Non solo i test aiutano a determinare la qualità di un prodotto, ma consentono anche di modificare e aggiornare il prodotto in termini di facilità d'uso e usabilità per l'utente finale. In questo articolo, affronteremo la nozione fondamentale di tecniche di progettazione di casi di test di vario genere.

I casi di test sono i mattoni fondamentali che, messi insieme, formano la fase di test.

Che cos'è un caso di prova?

  • Sono spesso un insieme predefinito di istruzioni che affrontano i passi da compiere al fine di determinare se il prodotto finale presenta o meno il risultato desiderato. Queste istruzioni possono includere set predefiniti di input, condizioni insieme ai rispettivi risultati finali.
  • Tuttavia, al fine di superare i propri test, spesso si potrebbero finire con troppi casi di test. Per evitare tali scenari, si dovrebbe trovare la migliore tecnica di progettazione dei casi di test secondo i propri requisiti in modo da ridurre un numero significativo di casi di test.
  • Queste tecniche di progettazione dei casi di test aiutano a creare casi di test efficaci che coprono le varie caratteristiche che determinano la qualità e il valore di un prodotto.

I design dei casi di test sono prevalentemente classificati in base alla loro natura dei test in tre tipi:

  1. Tecnica di progettazione basata su specifiche.
  2. Tecnica di progettazione basata sulla struttura.
  3. Tecnica di progettazione basata sull'esperienza.

1. Tecnica di progettazione basata su specifiche

Questo è anche popolarmente noto come la tecnica di progettazione della scatola nera. In questa tecnica di progettazione, i casi di test sono scritti tenendo conto dei requisiti funzionali e delle specifiche del cliente. I meccanismi interni del prodotto sono irrilevanti. Pertanto, in questo caso viene utilizzato il nome test black-box. È ulteriormente suddiviso in sottotipi:

  • Tecnica di partizionamento di equivalenza:

I dati utilizzati come input per i casi di test sono divisi in gruppi in base a una determinata logica. Il processo di selezione di un singolo input per rappresentare il gruppo a cui appartiene e l'esecuzione del test case con questo input è noto come partizionamento di equivalenza .

Ad esempio, considera un'applicazione che convaliderà la tua password. Il requisito per la validità della password è che deve contenere almeno otto caratteri, deve essere alfanumerico e contenere almeno un carattere speciale. In questo caso, gli input possono trovarsi in diverse partizioni equivalenti come input validi che soddisfano i criteri specifici e input non validi in cui una categoria contiene otto caratteri tutti gli alfabeti, un'altra categoria di input contiene otto caratteri, tutti numerici, mentre un'altra partizione contiene otto caratteri contenenti solo personaggi speciali e così via.

  • Tecnica di analisi del valore limite:

In questo caso, vengono considerati i valori dal limite inferiore e dal limite superiore.

Ad esempio, un'applicazione accetta solo valori numerici a quattro cifre. Qui l'intervallo va da 1000 a 9999. Qui un caso conterrà gli ingressi 999 e 9998, un altro caso conterrà gli ingressi 1000 e 9999 e un altro avrà gli ingressi 0001 e 10000.

  • Tecnica della tabella decisionale:

Le tabelle delle decisioni semplificano la combinazione di tutti i possibili scenari che possono sorgere per un determinato prodotto o applicazione in questione. Pertanto, scrivere i propri casi di test con le tabelle delle decisioni come punto di riferimento fornisce uno con casi di test efficaci che forniscono un'eccellente copertura del test.

  • Tecnica di test di transizione di stato:

In questa tecnica, l'applicazione viene testata utilizzando la rappresentazione grafica dei diversi stati di transizione di un'applicazione che sono ulteriormente dipendenti da varie caratteristiche e funzionalità di tale applicazione. Si basa principalmente sul modello di macchina a stati.

  • Utilizzare la tecnica di test dei casi:

I diversi scenari che un utente finale incontrerà durante l'utilizzo o l'interazione con l'applicazione sono testati in questa tecnica.

2. Test basati sulla struttura

  • I test basati sulla struttura riguardano una struttura e un'architettura interne delle applicazioni. Qui viene testato il codice sorgente utilizzato per sviluppare l'applicazione. Pertanto, nel caso di test basati sulla struttura, è necessaria una buona comprensione del codice e del suo flusso interno per poter progettare i casi di test. I test basati sulla struttura sono anche chiamati test a scatola bianca e test su scatola di vetro.
  • La qualità del codice viene analizzata in base a diversi fattori come copertura del codice, leggibilità, manutenibilità, vulnerabilità di sicurezza o bug, riusabilità, ecc.

Diversi tipi di test basati sulla struttura sono:

  • Tecnica di test di dichiarazione:

Nel caso di test di istruzione, il codice sorgente viene eseguito durante il test per misurare la copertura del codice.

  • Tecnica di test decisionale:

Qui vengono considerati i punti di decisione del codice. I punti decisionali sono condizione "while", condizione "if-else", ecc. Calcola la percentuale di punti decisionali in esecuzione e determina se ci sono o meno dichiarazioni irraggiungibili all'interno del codice.

  • Tecnica di prova delle condizioni:

Controlla le dichiarazioni delle condizioni booleane che sono, le dichiarazioni in cui le condizioni risultano TRUE o FALSE. Per assicurarsi che le condizioni vengano eseguite quando soddisfatte, il test viene eseguito utilizzando entrambi i parametri TRUE e FALSE su ogni istruzione di condizione.

  1. Tecnica di test per condizioni multiple : è simile al test delle condizioni, ma può richiedere un numero di casi di test rispetto al test delle condizioni a causa del coinvolgimento di più condizioni. Tuttavia, scrivere questi casi di test potrebbe essere un compito noioso a causa della sua complessità.
  2. Tecnica di verifica del percorso : include il test di ogni istruzione eseguibile indipendente all'interno dell'applicazione per individuare l'eventuale codice difettoso.

3. Test basati sull'esperienza

Come afferma il nome, questa tecnica di test si basa sull'esperienza e la competenza di un tester in applicazioni e tecnologie simili. Questi sono ulteriormente suddivisi in:

  • Indovina errore:

I tester prevedono la possibilità che si verifichino errori sulla base della loro precedente esperienza e conoscenza dell'applicazione. Ciò si basa interamente sulla capacità del tester di elaborare casi di test efficaci in grado di sradicare le cause che possono causare errori.

  • Test esplorativi:

In questo, i casi di test sono scritti ed eseguiti in parallelo. Questa tecnica aiuta a identificare i bug critici che potrebbero essere stati persi nei test tradizionali.

Conclusione - Tecniche di progettazione di casi di test

La selezione del miglior design del case di prova in base alle proprie esigenze porterà a test efficaci e alla consegna senza errori dell'applicazione. Ciò si tradurrà in un prodotto di migliore qualità e quindi migliorerà l'esperienza dell'utente finale.

Articoli consigliati

Questa è stata una guida alle tecniche di progettazione dei casi di test. Qui discutiamo concetti di base, cos'è il caso di test e diversi tipi di tecniche di progettazione di casi di test. Puoi anche leggere il seguente articolo per saperne di più -

  1. Test del fumo vs test di integrità
  2. Test del selenio
  3. Test su scatola bianca
  4. Test su scatola grigia
  5. Che cos'è il test di integrità e come funziona?
  6. I 6 migliori strumenti di copertura del codice
  7. Cos'è Test Case? | Importanza | Suggerimenti e trucchi utili

Categoria: