Operazione: Implementazione del test dello sviluppatore
Questo compito illustra come creare una serie di test per confermare che un componente stia lavorando in modo corretto prima di effettuare dei test più formali.
Scopo
  • Implementazione di uno o più test che permettano la convalida dei singoli componenti software tramite esecuzioni fisiche.
  • Sviluppo di test che possono essere eseguiti in combinazione con altri come parte di una grande infrastruttura di test
Relazioni
RuoliPrincipale: Aggiuntivo: Assistenza:
InputObbligatorio: Facoltativo: Esterno:
  • Nessuno
Output
Passi
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.


Proprietà
Ricorrenze multiple
Attivato da evento
In corso
Facoltativo
Pianificato
Ripetibile
Ulteriori informazioni