Panoramica
Test RealTime integra i seguenti tre tool di verifica:
-
La verifica unità automatizza la verifica di componenti software in C e Ada.
-
La verifica oggetti è un approccio, orientato agli oggetti, verso il comportamento di verifica di codice C++.
-
La verifica di sistema è un ambiente efficace per la verifica di applicazioni basate su messaggi.
La scelta di quale tool di verifica utilizzare con l'applicazione dipende dall'ambiente di sviluppo e la natura
dell'applicazione. Per ciascun tool di verifica, occorre sviluppare uno script di test dedicato.
Prima di scrivere i test effettivi per l'applicazione, per Test RealTime è necessario che si crei il progetto di test e
si colleghi il progetto all'applicazione sottoposta a test.
Modalità d'uso del tool
Per creare uno script di test in Test RealTime, procedere con le seguenti operazioni:
-
Esecuzione della procedura guidata di verifica dei componenti
-
Immissione dei dati del test e i risultati previsti
-
Modifica del comportamento dello stub
Test RealTime fornisce una procedura guidata di verifica dei componenti che, quando eseguita, analizza il codice
sorgente specificato e genera test harness completamente eseguibili. Tutto ciò che deve fare lo sviluppatore è di
assicurarsi che il codice di destinazione sia verificato come previsto, di definire il comportamento dello stub (vedere
il secondo passo) e di immettere i dati del test e i risultati previsti (vedere terzo passo).
NOTA: non occorre che venga utilizzata la procedura guidata di verifica dei componenti - tutti i file e il codice
necessari a supportare un test possono essere generati manualmente. La procedura guidata, tuttavia, può far risparmiare
molti sforzi. Entrambi i modi, l'esecuzione e la creazione di report dei test sono automatizzate.
Si può accedere alla procedura guidata di verifica dei componenti in due modi: per entrambi i metodi si presuppone che
sia stato già aperto un progetto Test RealTime
-
Selezionare il collegamento Attività che si trova sul lato sinistro della pagina di avvio di Test RealTime. La
selezione di questo collegamento visualizza un elenco delle tre attività primarie che può scegliere lo
sviluppatore. Per eseguire la verifica dei componenti, lo sviluppatore deve selezionare a questo punto il
collegamento Verifica dei componenti.
-
Fare clic con il tasto destro del mouse su qualsiasi file di origine/classe/metodo/funzione/procedura nel browser
delle risorse della finestra dei progetti, posta sul lato destro di Test RealTime. L'opzione Selezione del test...
nel menu a comparsa apre la procedura guidata per la verifica dei componenti.
La differenza principale tra questi due metodi di avvio della procedura guidata per la verifica dei componenti è che la
prima opzione richiede all'utente di selezionare i file di origine che contengono funzioni/metodi/procedure da
verificare - la seconda opzione già conosce quale file di origine verrà utilizzato e, pertanto, evita i passi iniziali
della procedura guidata per la verifica dei componenti.
In entrambi i casi, allo sviluppatore verrà richiesto di selezionare un modo di test - tipico o avanzato. La differenza
è dovuta al comportamento dello stub desiderato. Come promemoria, uno stub è "un componente che contiene funzionalità
per scopi di verifica" - cioè un componente progettato per agire in un modo predefinito allo scopo di facilitare la
verifica di altri componenti del sistema. Nel modo tipico, Test RealTime genererà automaticamente un modello di stub
per qualsiasi funzione/metodo/procedura a cui si fa riferimento in modo esplicito nel file di origine selezionato. Il
modo avanzato consente di selezionare componenti a cui non si fa riferimento in modo esplicito nel file di origine
selezionato. In ogni caso, la funzionalità effettiva di questi stub viene definita in seguito (vedere il secondo passo
qui di seguito).
Una volta eseguita la procedura guidata fino al completamento, Test RealTime crea un nodo all'interno di un progetto
attivo. Questo nodo contiene un riferimento al file di origine selezionato così come ai file necessari alla creazione
di test harness. Tali file aggiuntivi devono essere modificati per:
-
Definire un comportamento dello stub
-
Specificare la data utilizzata per sottoporre a test funzioni/metodi/procedure.
-
Specificare i risultati previsti per ciascun insieme di dati di immissione.
Per C, C++ e Ada, il linguaggio dei test harness, degli stub di test e degli script di test è stata generata da
Rational Software per adattarsi alla specifica complessità di questi linguaggi. Per Java, Test RealTime utilizza Java
come linguaggio dello script di test e basa i framework dei test harness e dello stub di test sul framework JUnit
(http://www.junit.org).
Per informazioni
dettagliate consultare la guida per l'utente di Rational Test RealTime, il capitolo relativo alla GUI (Graphical
User Interface)->Procedure guidate per le attività>Procedura guidata per la verifica dei componenti.
Gli script di test generati dalla procedura guidata per la verifica dei componenti possono essere eseguiti
immediatamente. Tuttavia, finché lo sviluppatore non specifica la data effettiva in cui sottoporre il componente a
test, così come i valori di output previsti, il test non sarà né molto utile né molto informativo.
Ciascun linguaggio supportato da Test RealTime agevola la creazione di test in un modo diverso; ciascun approccio è
stato ottimizzato per caratteristiche univoche di ogni linguaggio. C++ è ancora più unico poiché non solo possono
essere generati ed eseguiti test standard, ma anche perché possono essere effettuate verifiche contrattuali opzionali.
Le verifiche contrattuali agiscono come asserzioni; vengono utilizzate per verificare elementi, quali
pre/post-condizioni ed elementi non variabili.
Per informazioni
dettagliate relative a C e Ada, fare riferimento al seguente capitolo nella guida per l'utente di Rational Test
RealTime:
Per informazioni
dettagliate relative a C++, consultare i seguenti capitoli nella guida per l'utente di Rational Test RealTime:
Per informazioni
dettagliate relative a Java, consultare i seguenti capitoli nella guida per l'utente di Rational Test RealTime:
I componenti sono progettati per agire in un modo particolare. Tali componenti, indipendentemente dal livello di
granularità, devono rispondere ad un insieme dato di input con un particolare e predefinibile insieme di output.
"Predefinibile" significa che i risultati possono essere specificati sia in modo esplicito o in modo algoritmico, prima
dell'esecuzione dei test.
Molto spesso, ai componenti occorre l'assistenza di altri componenti all'interno del sistema per eseguire la loro
funzionalità. Questi altri componenti possono essere semplici come una funzione aggiuntiva o complicati come un intero
sottosistema ubicato da qualche parte nel sistema. In ogni caso, non è raro per uno sviluppatore scoprire che i suoi
sforzi, durante la verifica dei componenti, sono ostacolati dal fatto che i componenti, da cui dipende il codice, non
esistano ancora oppure non funzionino ancora in modo affidabile. Lo stub compensa tale difficoltà. Infatti, lo stub può
essere utilizzato per garantire l'appropriato funzionamento mediante l'eliminazione di tutte le dipendenze dal codice
di terze parti.
Lo sviluppatore è responsabile della simulazione in modo appropriato dei componenti da cui dipende il componente
sottoposto a test. Simulazione appropriata significa che la funzionalità degli stub deve essere sufficientemente
precisa per assicurare che la riuscita o meno del componente, sottoposto a test, possa essere sempre tracciata al
componente stesso, piuttosto che alle informazioni imprecise prodotte dagli stub.
Rational Test RealTime agevola la creazione di stub mediante i linguaggi di script di test. In particolare, per
informazioni sugli stub di test, consultare:
Per informazioni
dettagliate relative a C e Ada, fare riferimento al seguente capitolo nella guida per l'utente di Rational Test
RealTime:
Per informazioni
dettagliate relative a C++, consultare i seguenti capitoli nella guida per l'utente di Rational Test RealTime:
Per informazioni
dettagliate relative a Java, consultare i seguenti capitoli nella guida per l'utente di Rational Test RealTime:
-
Verifica automatica->Verifica dei componenti per Java->Panoramica della verifica Java->Java Stub
Harness
Per ulteriori informazioni
Per informazioni dettagliate su come eseguire le campagne di test, consultare la guida al tool Esecuzione di test utilizzando Rational Test RealTime.
|