Guida al tool: Implementazione dei test degli sviluppatori utilizzando Rational Test RealTime
Questa guida al tool descrive il modo in cui migliorare i test utilizzando RationalTest RealTime.
Strumento: Rational Test RealTime
Relazioni
Descrizione principale

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:

  1. Esecuzione della procedura guidata di verifica dei componenti
  2. Immissione dei dati del test e i risultati previsti
  3. Modifica del comportamento dello stub

1. Esecuzione della procedura guidata di verifica dei componenti

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).

icona della guida 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.

2. Immissione dei dati del test e i risultati previsti

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.

icona della guida Per informazioni dettagliate relative a C e Ada, fare riferimento al seguente capitolo nella guida per l'utente di Rational Test RealTime:

  • Verifica automatica>Verifica dei componenti per C e Ada->Script di test C e Ada>Panoramica->Struttura degli script di test
  • Verifica automatica->Verifica dei componenti per C e Ada->Script di test C e Ada>Ada

    icona della guida e consultare i seguenti capitoli nella guida di riferimento di Rational Test RealTime

  • Linguaggi di scrittura per la verifica dei componenti>Linguaggio degli script di test>Parole chiave del linguaggio degli script di test->ELEMENT...END ELEMENT
  • Linguaggi di scrittura per la verifica dei componenti->Linguaggio degli script di test C->Parole chiave del linguaggio degli script di test C->ENVIRONMENT...END ENVIRONMENT
  • Linguaggio di scrittura per la verifica dei componenti->Linguaggio degli script di test Ada->Parole chiave degli script di test Ada->ELEMENT...END ELEMENT
  • Linguaggi di scrittura per la verifica dei componenti->Linguaggio degli script di test Ada->Parole chiave del linguaggio degli script di test Ada->ENVIRONMENT...END ENVIRONMENT

icona della guida Per informazioni dettagliate relative a C++, consultare i seguenti capitoli nella guida per l'utente di Rational Test RealTime:

  • Verifica automatica->Verifica dei componenti per C++->Panoramica della verifica C++

    icona della guida e consultare i seguenti capitoli nella guida di riferimento di Rational Test RealTime

  • Linguaggi di scrittura per la verifica dei componenti>Linguaggio degli script di test C++> Script del driver test C++

icona della guida 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->Informazioni su JUnit

    icona della guida e consultare i seguenti capitoli nella guida di riferimento di Rational Test RealTime

  • Linguaggi di scrittura per la verifica dei componenti->Primitivi dei test Java

3. Modifica del comportamento dello stub

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:

icona della guida Per informazioni dettagliate relative a C e Ada, fare riferimento al seguente capitolo nella guida per l'utente di Rational Test RealTime:

  • Verifica automatica->Verifica dei componenti per C e Ada->Script di test C e Ada->Simulazioni->Panoramica sulla simulazione stub

    icona della guida e consultare i seguenti capitoli nella guida di riferimento di Rational Test RealTime

  • Linguaggi di scrittura per la verifica dei componenti>Linguaggio degli script di test C>Parole chiave del linguaggio degli script di test C->STUB
  • Linguaggi di scrittura per la verifica dei componenti->Linguaggio degli script di test Ada->Parole chiave del linguaggio degli script di test Ada->STUB

icona della guida Per informazioni dettagliate relative a C++, consultare i seguenti capitoli nella guida per l'utente di Rational Test RealTime:

  • Verifica automatica->Verifica dei componenti per C++->Panoramica della verifica C++->Script del driver test C++

    icona della guida e consultare i seguenti capitoli nella guida di riferimento di Rational Test RealTime

  • Linguaggi di scrittura per la verifica dei componenti>Linguaggio degli script di test C++>Parole chiave degli script di test C++->STUB

icona della guida 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.