Struttura di un programma di test

Il programma di test è l'unità di esecuzione del flusso di chiamata. È qui che vengono eseguiti i test.

Interfacce

I gestori dei test vengono definiti tramite l'interfaccia IRemoteTest, che fornisce un semplice metodo run da implementare che verrà chiamato quando i test devono essere eseguiti.

In questo modo è possibile eseguire la definizione più semplice di un test. Tuttavia, in pratica, gli autori dei test avranno bisogno di più informazioni per scrivere correttamente i test, in genere informazioni sulla build e sul dispositivo. È qui che entrano in gioco le seguenti interfacce.

Base

Queste due interfacce sono le più utilizzate oggi, in quanto rappresentano le esigenze di base della maggior parte dei test.

  • IBuildReceiver consente al test di recuperare l'oggetto IBuildInfo creato nel passaggio build provider contenente tutte le informazioni e gli elementi correlati alla configurazione del test.
  • IDeviceTest consente a TF di ricevere l'oggetto ITestDevice che rappresenta il dispositivo in test e fornisce un'API per interagire con esso.

Avanzate

Esistono interfacce aggiuntive che consentono un'interazione più complessa tra il righello di test e il programma di test:

  • ITestFilterReceiver, che consente al test di ricevere un insieme di filtri per l'esecuzione di determinati test solo. Questo è utile per eseguire un sottoinsieme di test.
  • ITestCollector, che consente a un gestore dei test di eseguire solo la simulazione dei test anziché effettuarne l'esecuzione. Questo è utile per raccogliere l'elenco di tutti i casi di test.

Esecutori di test esistenti

Esistono già diversi runner di test, alcuni per i principali tipi di test:

Oltre a quelli sopra indicati, esistono un gran numero di runner di test personalizzati che hanno scopi specializzati per alcuni test funzionali, ad esempio il test di avvio.

Scrivere un nuovo programma di test

Ulteriori indicazioni per scrivere un nuovo programma di test sono disponibili nella sezione relativa alla scrittura dei test.