Le migliori pratiche per l'esecuzione di ambienti di test personalizzati - AWS Device Farm

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le migliori pratiche per l'esecuzione di ambienti di test personalizzati

Negli argomenti seguenti vengono illustrate le best practice consigliate per l'utilizzo dell'esecuzione di test personalizzati con Device Farm.

Esegui la configurazione
  • Affidati al software gestito da Device Farm e alle funzionalità API per eseguire la configurazione laddove possibile, anziché applicare configurazioni simili tramite comandi shell nel file delle specifiche di test. Ciò include la configurazione dell'host di test e del dispositivo, in quanto sarà più sostenibile e coerente tra host e dispositivi di test.

    Sebbene Device Farm vi incoraggi a personalizzare il file delle specifiche di test nella misura necessaria per eseguire i test, il file delle specifiche di test può diventare difficile da mantenere nel tempo man mano che vi vengono aggiunti comandi più personalizzati. Utilizzando il software gestito da Device Farm (tramite strumenti come devicefarm-cli e gli strumenti predefiniti disponibili in$PATH) e utilizzando funzionalità gestite (come il parametro deviceProxyrequest) per semplificare il file delle specifiche di test spostando la responsabilità della manutenzione su Device Farm stessa.

Specifiche di test e codice del pacchetto di test
  • Non utilizzate percorsi assoluti né fate affidamento su versioni secondarie specifiche nel file delle specifiche di test o nel codice del pacchetto di test. Device Farm applica gli aggiornamenti di routine all'host di test selezionato e alle versioni software incluse. L'utilizzo di percorsi specifici o assoluti (ad esempio « /usr/local/bin/pythoninstead of»python) o la richiesta di versioni secondarie specifiche (ad esempio Node.js 20.3.1 anziché «just» 20) possono impedire ai test di individuare il file eseguibile/richiesto.

    Come parte dell'esecuzione dei test personalizzati, Device Farm imposta diverse variabili di ambiente e la $PATH variabile per garantire che i test abbiano un'esperienza coerente all'interno dei nostri ambienti dinamici. Per ulteriori informazioni, consulta Variabili di ambiente per ambienti di test personalizzati e Software supportato in ambienti di test personalizzati.

  • Salva i file generati o copiati nella directory temp durante l'esecuzione del test. Oggi ci assicuriamo che la directory temporanea (/tmp) sia accessibile all'utente durante l'esecuzione del test (oltre alle directory gestite, come la). $DEVICEFARM_LOG_DIR Le altre directory a cui l'utente ha accesso possono cambiare nel tempo a causa delle esigenze del servizio o del sistema operativo in uso.

  • Salva i registri di esecuzione dei test in. $DEVICEFARM_LOG_DIR Questa è la directory degli artefatti predefinita fornita per l'esecuzione in cui aggiungere i log di esecuzione /gli artefatti. Le specifiche di test di esempio che forniamo utilizzano ciascuna questa directory per gli artefatti per impostazione predefinita.

  • Assicurati che i tuoi comandi restituiscano un codice diverso da zero in caso di errore durante la test fase delle specifiche di test. Determiniamo se l'esecuzione è fallita controllando la presenza di un codice di uscita diverso da zero per ogni comando di shell invocato durante la fase. test È necessario assicurarsi che la logica o il framework di test restituiscano un codice di uscita diverso da zero per tutti gli scenari desiderati, il che potrebbe richiedere una configurazione aggiuntiva.

    Ad esempio, alcuni framework di test (come JUnit5) non considerano l'esecuzione di zero test un errore, il che determinerà la corretta esecuzione dei test anche se non è stato eseguito nulla. Ad esempio, è necessario specificare l'opzione della riga di comando per garantire che questo scenario --fail-if-no-tests venga chiuso con un codice di uscita diverso da zero. JUnit5

  • Verifica la compatibilità del software con la versione del sistema operativo del dispositivo e la versione dell'host di test che utilizzerai per l'esecuzione del test. Ad esempio, alcune funzionalità di test dei framework software (ad esempio: Appium) potrebbero non funzionare come previsto su tutte le versioni del sistema operativo del dispositivo in fase di test.

Sicurezza
  • Evita di archiviare o registrare variabili sensibili (come le chiavi AWS) nel file delle specifiche di test. I file delle specifiche di test, gli script generati dalle specifiche di test e i log dello script delle specifiche di test vengono tutti forniti come elementi scaricabili al termine dell'esecuzione del test. Ciò può portare alla divulgazione involontaria di segreti per gli altri utenti del tuo account con accesso in lettura all'esecuzione del test.