Ciclo di vita del test TF

Il ciclo di vita di un test eseguito utilizzando Trade Federation è composto da quattro fasi separate, progettate attorno a interfacce formalmente definite.

Interfacce definite

  • Provider build : fornisce una build da testare, scaricando i file appropriati se necessario.
  • Target Preparer : prepara l'ambiente di test, possibilmente includendo l'installazione del software e la configurazione del dispositivo.
  • Test : esegue i test e raccoglie i risultati dei test. Può trattarsi di qualsiasi test JUnit, sebbene la nostra interfaccia IRemoteTest sia specificamente progettata per funzionare bene nell'ambiente della Federazione dei Mercanti .
  • Listener di invocazione del test (rapporto sui risultati) : ascolta i risultati del test, solitamente allo scopo di inoltrare i risultati del test a un repository o visualizzarli al Test Runner.

L'entità di test fondamentale in TF è una configurazione (config). Una configurazione è un file XML che dichiara i componenti del ciclo di vita di un test.

Questa separazione del ciclo di vita del test ha lo scopo di consentire il riutilizzo. Utilizzando questo design, lo sviluppatore può creare un test una volta, quindi l'integratore può creare diverse configurazioni per eseguire quel test in ambienti diversi. Ad esempio, potrebbero creare una configurazione che eseguirà un test su una macchina locale e scaricherà il risultato su stdout. Potrebbero quindi creare una seconda configurazione che eseguirà lo stesso test, ma utilizzare un diverso listener di invocazione del test per memorizzare i risultati del test in un database. Una terza configurazione potrebbe essere progettata per eseguire il test continuamente da un laboratorio di test da qualche parte.

È conveniente notare qui che una configurazione insieme ai suoi argomenti della riga di comando (forniti da Test Runner) è nota come comando . Quando TF ITestDevice un comando a un ITestDevice e lo esegue, l'oggetto successivo è noto come Invocazione . In breve, una chiamata comprende un'esecuzione di test TF completa, durante il suo intero ciclo di vita.

Componenti di configurazione aggiuntivi

  • Ripristino del dispositivo : meccanismo per ripristinare la comunicazione del dispositivo in caso di smarrimento.
  • Logger : raccoglie i dati di registrazione scambiati.

Output ed errori dello stage

Ogni fase di un'invocazione viene eseguita in sequenza e ha un obiettivo specifico. Questa sezione descrive gli output e gli errori usuali di ciascuna fase.

Crea provider

Questa fase crea e restituisce un oggetto IBuildInfo che contiene tutti i riferimenti ai file richiesti per impostare ed eseguire i test.

L'errore più comune in questa fase è l'impossibilità di scaricare o trovare i file richiesti.

Un errore in questa fase si traduce nella segnalazione diretta dell'errore e senza l'esecuzione di test.

Preparazione del bersaglio

Questa fase stabilisce gli stati necessari per l'obiettivo da testare. Questa fase può alterare il dispositivo o la configurazione dell'host in base alle necessità per la chiamata di prova specificata.

Gli errori comuni in questa fase di solito comportano la mancata configurazione del dispositivo in un determinato stato (ad esempio, flashing non riuscito) e la mancata ricerca dei file richiesti per l'installazione.

Un errore in questa fase comporta l'esecuzione della pulizia della destinazione, la segnalazione dell'errore e l'assenza di test.

Test

Questa fase esegue i test richiesti sul target precedentemente preparato e riporta tutti i risultati dell'esecuzione del test.

Gli errori comuni in questa fase di solito comportano la mancata disponibilità del target sottoposto a test o alcuni errori che causano l'esecuzione parziale dei test. Questi errori sono problemi di infrastruttura che influenzano l'esecuzione del test stessa rispetto al fallimento di un singolo caso di test.

Un errore in questa fase comporta l'arresto dell'esecuzione del test, l'esecuzione della pulizia del target, la segnalazione dell'errore e l'ottenimento di risultati parziali.

Reportistica dei risultati

Questa fase riporta i risultati e gli errori ai servizi configurati (ad esempio, server e file locali).

Sebbene i singoli reporter dei risultati possano avere errori, sono isolati l'uno dall'altro (un reporter non vede gli errori da un altro). Questi errori influiscono solo sulla segnalazione dei risultati di un singolo giornalista e gli errori possono essere visualizzati nei registri.