Concetto: Tool e automazione test
Questa linea guida discute i tipi di strumenti che è possibile utilizzare per migliorare l'efficienza della verifica.
Relazioni
Descrizione principale

I tool di automazione test vengono sempre più portati sul mercato per automatizzare le attività del test. Esistono numerosi tool di automazione, ma è improbabile che un singolo tool sia in grado di automatizzare tutte le attività del test. La maggior parte dei tool sono incentrati su una specifica attività o gruppo di attività, mentre alcuni si rivolgono a un solo aspetto di un'attività.

Durante la valutazione di differenti tool per l'automazione del test, è importante essere consapevoli del tipo di tool che si sta valutando, delle limitazioni dello tool e delle attività a cui il tool si rivolge e che automatizza. I tool del test vengono spesso valutati e acquisiti in base alle seguenti categorie:

Funzione

E' possibile suddividere in categorie i tool dei test in base alle funzioni che eseguono. Le designazioni tipiche di una funzione per i tool includono:

  • Tool di acquisizione dati che acquisisce i dati da utilizzare nelle attività del test. I dati possono essere acquisiti tramite conversione, estrazione, trasformazione o cattura di dati esistenti o tramite la creazione di casi d'uso o di specifiche supplementari.
  • Tool di misurazione statici che analizzano le informazioni contenute nei modelli di progettazione, nel codice sorgente o in altre origini fisse. L'analisi produce informazioni sul flusso logico, sul flusso di dati o sulle metriche di qualità, come ad esempio la complessità, la gestibilità o le righe di codice.
  • Tool di misurazione dinamici che eseguono un'analisi durante l'esecuzione del codice. Le misurazioni includono l'operazione di run-time del codice come la memoria, la rilevazione dell'errore e le prestazioni.
  • Simulatori o driver che eseguono delle attività che, per ragioni di sincronizzazione, costi o sicurezza non sono disponibili per scopi di verifica.
  • Tool di gestione test che sono di supporto nella pianificazione, progettazione, implementazione, esecuzione, valutazione e gestione delle attività di test o dei prodotti di lavoro.

White-box rispetto a Black-box

I tool dei test sono spesso caratterizzati come white-box o black-box in base al modo in cui tali tool vengono utilizzati o alla tecnologia e conoscenza necessarie per utilizzarli.

  • Tool white-box si affidano alla conoscenza del codice, sui modelli di progettazione o su altro materiale di origine per implementare ed eseguire i test.
  • Tool black-box si affidano solo ai casi d'uso o sulla descrizione funzionale dell'obiettivo del test.

Mentre i tool white-box riconoscono il modo in cui l'obiettivo del test elabora la richiesta, i tool black-box si affidano alle condizioni di input e di output per valutare il test.

Specializzazione

Oltre alle ampie classificazioni di tool presentati in precedenza, è possibile classificare i tool in base alla specializzazione.

  • I tool di registrazione e riproduzione combinano l'acquisizione dei dati con la misurazione dinamica. I dati del test vengono acquisiti durante la registrazione di eventi (nota come implementazione del test). In un secondo momento, durante l'esecuzione del test, i dati vengono utilizzati per riprodurre lo script del test, utilizzato per valutare l'esecuzione dell'obiettivo del test.
  • Tool di metrica della qualità sono tool di misurazione statici che eseguono un'analisi statica dei modelli di progettazione o del codice sorgente per stabilire una serie di parametri che descrivono la qualità dell'obiettivo del test. I parametri possono indicare affidabilità, complessità, gestibilità o altre misure di qualità.
  • Tool di monitoraggio completamento indicano la complessità della verifica identificando la percentuale di completamento dell'obiettivo del test, durante la verifica. Le classi tipiche di completamento includono i casi d'uso (basati sui requisiti), il nodo o il ramo logico (basato sul codice), lo stato dei dati e i punti di funzione.
  • Generatori di scenari di test automatizzano la generazione dei dati del test. Tali generatori utilizzano una specifica formale degli input di dati dell'obiettivo del test o i modelli di progettazione e il codice sorgente per produrre dati del test che testano gli input nominali, gli input di errore e i casi limite e boundary.
  • Tool comparatori confrontano i risultati del test con i risultati di riferimento e identificano le differenze. I comparatori variano nella propria specificità per determinati formati di dati. Ad esempio, possono essere basati sui pixel per confrontare immagini bitmap o basati sugli oggetti per confrontare dati o proprietà di un oggetto.
  • Programmi di estrazione dati forniscono input per gli scenari dei test dalle origini esistenti, compresi database, flussi di dati in un sistema di comunicazione, report o modelli di progettazione e codice sorgente.