Nell’ultimo decennio, c’è stata una proliferazione di utenti di smartphone. Oggi, i cittadini statunitensi passano più tempo sui dispositivi mobili che in televisione.
Fonte – eMarketer.com
Predominantemente, gli utenti di smartphone trascorrono il tempo sulle applicazioni mobili. Quindi sviluppare una grande esperienza di app mobile è essenziale. Per assicurarsi che le loro applicazioni funzionino perfettamente su Android e iOS, un test adeguato prima di rilasciarle nei rispettivi app store è fondamentale.
In questo articolo, discuteremo le migliori pratiche per il test delle applicazioni mobili. Parleremo dei framework di test più popolari e vedremo come utilizzare alcuni di essi come Appium, Selendroid.
Automated Mobile Application Testing Frameworks
Ci sono molti frameworks e strumenti utilizzati per i test delle applicazioni mobili. Alcuni dei più popolari sono:
Appium
Appium è un popolare strumento open-source utilizzato per il test automatico delle applicazioni mobili. Uno sviluppatore può testare le sue applicazioni native o ibride iOS e Android utilizzando Appium. Appium non funziona da solo. Esegue i casi di test utilizzando l’interfaccia WebDriver. Poiché supporta più piattaforme, i tester possono anche riutilizzare il loro codice sorgente per i test su iOS e Android.
Esegui i tuoi test Appium su veri dispositivi Android & iOS
Testa 100 minuti al giorno gratuitamente.
Calabash
Calabash è un framework di test per applicazioni mobili che funziona con più lingue. Supporta Ruby, Java, Flex e .NET. I tester possono utilizzare le API per abilitare le applicazioni native che girano su dispositivi touch screen. Questo framework ha delle librerie che permettono agli script di test di interagire programmaticamente con applicazioni native e ibride.
Selendroid
Selendroid è anche conosciuto come Selenium per applicazioni mobili per Android. I tester possono fare test di applicazioni mobili native e ibride usando Selendroid. Selendroid può eseguire casi di test paralleli su più dispositivi, in modo simile a Selenium per i test cross browser.
Espresso
Espresso è un framework di test utile per automatizzare i test dell’interfaccia utente (UI) di un’applicazione mobile. Dato che testare l’interfaccia utente di un’applicazione è essenziale prima di distribuirla, gli sviluppatori di app e i tester di app utilizzano ampiamente Espresso. Gli sviluppatori possono creare uno scenario e registrare come interagiscono con un dispositivo. Successivamente, possono aggiungere asserzioni che verificano il comportamento degli elementi UI dell’app catturando le istantanee. Lo strumento salva la registrazione e genera casi di test UI che possono usare per testare la loro applicazione.
Robotium
Robotium è un popolare strumento open-source dedicato solo al test di applicazioni Android. I casi di test sono scritti in Java. Robotium è popolare per la sua capacità di scrivere casi di test black-box automatizzati. Automatizza molteplici attività che un tester può eseguire sulla sua applicazione Android e richiede un tempo minimo per scrivere i casi di test.
Oltre a questi, ci sono altri strumenti popolari come Monkeytalk, Testdroid, Frank, UIAutomator.
Consigli e migliori pratiche per i test automatizzati delle applicazioni mobili
Di seguito ci sono alcune buone pratiche che i team di ingegneri dovrebbero seguire mentre pensano ai test automatizzati delle applicazioni mobili :
- Rendere l’applicazione testabile
Nell’attuale era agile, gli sviluppatori devono costruire applicazioni che sono pronte per i test. Gli sviluppatori dovrebbero discutere attivamente con i team di test per stabilire delle linee guida. Per esempio, gli sviluppatori dovrebbero dare agli elementi un ID unico per renderli testabili.
- Non usare troppo XPath
XPath è un linguaggio di query che può selezionare i nodi in un file XML. Può essere usato per navigare tra gli elementi durante i test. Google o Apple non forniscono nativamente query di tipo XPath. Quindi, se i tester li usano molto, Appium è costretto a fare alcune chiamate. Queste chiamate sotto il cofano trovano elementi che supportano XPath ma hanno un impatto negativo sulle prestazioni.
- Arrange Selectors nel giusto ordine
XPath è basato sulla localizzazione. È lento se paragonato agli altri localizzatori di Selenium come ID, Link Text o Name. Ordinate i selettori in modo che l’ID venga prima e XPath per ultimo, per identificare gli elementi più velocemente.
- Utilizzate gli ID di accessibilità
Invece di un uso eccessivo di XPath, i tester possono utilizzare i localizzatori di ID di accessibilità. Se gli utenti impostano gli ID di accessibilità sui loro elementi, questo li rende più testabili e aumenta l’ambito di test della loro applicazione.
- Considera gli stati di visualizzazione dell’applicazione
Lo stato di visualizzazione è una tecnica usata per memorizzare il valore della pagina quando l’applicazione invia o riceve informazioni dal server. Supponiamo che ci siano 15 casi di test per funzionalità specifiche dell’applicazione. Tra questi, 10 casi di test ripetono la stessa funzionalità di accedere e andare alla pagina. Questa duplicazione è un’enorme perdita di tempo. Durante lo sviluppo, impostate lo stato della vista dell’applicazione in modo che i test inizino proprio dove è necessario.
- Non scendere a compromessi con emulatori e simulatori
Emulatori e simulatori imitano parzialmente i dispositivi reali. Tuttavia, le prestazioni di un’applicazione variano in base alla configurazione software e hardware dei dispositivi reali degli utenti. Quindi, testare le applicazioni mobili su dispositivi reali è un must. Anche Google e Apple raccomandano di farlo prima di presentare le applicazioni su Google Play e App store.
Un modo ottimale per ottenere la massima copertura è quello di utilizzare un prodotto di test basato sul cloud come BrowserStack, che fornisce l’accesso a più di 2000 dispositivi reali tra iOS e Android.
Iniziare i test basati sul cloud gratuitamente
Riassumendo
Con l’aumento della penetrazione degli smartphone e del tempo trascorso sui dispositivi mobili, garantire un’esperienza senza problemi per le applicazioni mobili è fondamentale. Per raggiungere questo obiettivo, i team devono adottare il giusto framework di test. I framework di automazione dei test più popolari includono Appium, Calabash, Selendroid. I team di sviluppo devono anche tenere a mente le migliori pratiche e dovrebbero lavorare attivamente con i team di test per assicurarsi di costruire applicazioni che siano più facili da testare. I test devono anche essere fatti su dispositivi reali invece che su emulatori e simulatori. Tutto questo aiuterà i team a spedire le applicazioni più velocemente e a dare agli utenti un’esperienza senza bug.