Perfezionamento dell'ambito ed identificazione dei test
Scopo:
|
Identificazione dei componenti da verificare e definizione di una serie di test che più si adattano alla
iterazione corrente
|
In un ambiente formale i componenti ed i test da sviluppare sono specificati nell'artefatto di progettazione del test,
rendendo così questa fase facoltativa. Vi sono inoltre le situazioni in cui i test dello sviluppatore sono basati su
richieste di modifica CR, correzione di errori, decisioni di implementazione che devono essere convalidate, test del
sottosistema con il modello di progettazione come input. Per ciascuno di questi casi:
-
definire l'obiettivo: convalida dell'interfaccia del sottosistema/componente, convalida di un'implementazione,
riproduzione di un errore
-
definire l'ambito: sottosistema, componente, gruppi di componenti
-
definire il tipo di test ed i dettagli: scatola nera, scatola bianca, condizioni precedenti e successive, elemento
non variabile, condizioni di input/output e di esecuzione, punti di osservazione/controllo, operazioni di
ripulitura
-
decidere la durata del test; ad esempio un test creato per la correzione di un determinato errore può essere di
quelli che si utilizzano un'unica volta, mentre un test che verifica un'interfaccia esterna avrà lo stesso ciclo di
vita del componente che controlla
|
Selezione delle tecniche di implementazione appropriate
Scopo:
|
Definizione delle tecniche di implementazione del test adeguate
|
vi sono diverse tecniche di implementazione di un test, ma possono essere separate in due categorie generali: test
manuali ed automatici. La maggior parte dei test dello sviluppatore sono implementati utilizzando le tecniche
automatiche:
-
test con programmi, utilizzando le stesse tecniche di programmazione software e lo stesso ambiente del componente
da verificare, oppure tool e linguaggi di programmazione meno complessi ( ad esempio linguaggi script: tcl, shell
based, e così via)
-
test registrati o catturati, che vengono creati utilizzando tool di automazione del test che catturano le
iterazioni tra il componente da verificare ed il resto del sistema, producendo un test di base
-
test generati: alcuni aspetti del test, procedurali oppure i dati del test, possono essere generati in modo
automatico utilizzando tool di automazione più complessi
Per quanto il "test con programmi" sia quello più diffuso, vi sono casi, i test della GUI ad esempio, in cui il metodo
più efficace per condurre un test è quello manuale, seguendo una serie di istruzioni registrate in modo descrittivo. |
Implementazione del test
Scopo:
|
Implementazione dei test identificati nella fase di definizione
|
Implementare tutti gli elementi definiti nel primo passo. Dettagliare e chiarire le condizioni precedenti del test ed i
passi per portare il componente da verificare allo stato in cui è possibile effettuare il test. Identificare la
procedura di ripulitura da seguire per poter ripristinare l'ambiente al suo stato originario. Prestare attenzione
all'implementazione dei punti di osservazione/controllo, poiché questa fase potrebbe richiedere un supporto particolare
che è stato implementato nel componente da verificare.
|
Definizione degli insiemi di dati esterni
Scopo:
|
Creazione e gestione dei dati, archiviati esternamente al test, utilizzati durante la sua esecuzione
|
In molti casi la separazione dei dati del test dal test ne permette una migliore gestione. Se la durata del test è
molto breve, potrebbe convenire codificare i dati all'interno del test, mentre se fossero necessari più cicli che
utilizzano diversi insiemi di dati, la strada più semplice è quella dell'archiviazione esterna. Vi sono altri vantaggi
nella separazione dei dati del test dal test:
-
l'insieme dei dati è utilizzabile da più test
-
semplicità di modifica e moltiplicazione
-
possibilità di utilizzarli per il controllo della logica condizionale del branching interna al test
|
Verifica dell'implementazione del test
Scopo:
|
Verifica del corretto funzionamento del test
|
Verifica del test. Controllare l'impostazione dell'ambiente e le istruzioni di ripulitura. Eseguire il test, osservarne
il comportamento e correggere gli errori. Se il test è di lunga durata, chiedere ad una persona con poca conoscenza del
progetto di eseguirlo e verificare che vi siano informazioni di supporto sufficienti. Revisionarlo con persone del team
di sviluppo ed altre persone interessate.
|
Gestione delle relazioni di tracciabilità
Scopo:
|
Abilitazione dell'esecuzione dell'analisi di impatto e della segnalazione della valutazione sulle voci
tracciate
|
In base al livello di formalità, si potrà necessitare o meno della gestione delle relazioni di tracciabilità. Se lo si
ritiene necessario, utilizzare i requisiti di tracciabilità evidenziati nel piano di test, per aggiornarli come
richiesto.
|
|