Le nuove frontiere del crowdtesting - Il blog di Appquality

Best Practices sul processo di testing Android

Scritto da Luca Manara | 16-ago-2017 11.02.02

I device Android sono diventati sempre più popolari anche grazie al fatto che gli utenti possono scegliere il device giusto per loro al prezzo che ritengono più corretto.

Abbiamo device che vanno da poche decine di euro (per esempio, cercando su Amazon, possiamo trovare lo sconosciuto BLU Studio X8 HD a €49.99) fino a device che superano anche i 1,000 euro (per esempio, sempre da Amazon, il PIXEL XL Phone by Google - 128GB a €1,199.00).

Certo questo è un gran valore per il cliente e ha permesso al mercato di espandersi come lo conosciamo oggi dando la possibilità a tutti di possedere uno smartphone e accedere all'immenso mondo delle App e dei servizi mobile connessi. Ma, l'altro lato della medaglia per chi costruisce applicazioni e servizi digitali, rende molto complicate le fasi di test e la verifica del corretto funzionamento del software. Non è da dimenticare che le App maggiormente testate sono quelle che ottengono le review migliori e, in definitiva, perfomano meglio sugli store anche in termini economici.

Per questo, anche Google mette a disposizione diversi strumenti per implementare strategie di test più efficaci e con le coperture maggiori.

Per esempio, il report prelancio nella console di Google Play riassume le issue rilevate sulla tua App alfa o beta. Questo report viene realizzato tramite lo strumento Firebase Test Lab che permette di avere un primo shake in termini di test su device reali.

Perché funziona?

Perché "device reali"? E perché Google e il suo supporto allo sviluppo (developer.android.com) mettono a disposizione questo tool?

Funziona perché permette di identificare le issue prima che l'App venga rilasciata e pubblicata sugli store e quindi prima che le problematiche rilevanti arrivino sui tuoi utenti finali. Permette inoltre di capire se ci sono particolari device su cui è necessario focalizzarsi per migliorare l'App e per i quali, eventualmente, è necessario escludere dalla release.

Ecco quindi l'elenco delle Best Practices:

  • Abilita il report pre-lancio dalla console the Play
  • Usa lo strumento di diagnostica pre-lancio per aiutarti a fissare qualsiasi crash rilevato nel report pre-lancio. Inoltre aiuta a identificare problemi di layout e vulnerabilità di sicurezza
  • Testa e ottimizza la tua App su emulatori e, successivamente, su device fisici. I  tuoi utenti avranno in mano differenti tipi di device e quindi è fondamentale gestire bene il mix di device in test (qua un richiamo alla frammentazione Android: opensignal.com/android-fragmentation/)
  • Prioritizza i device da testare. Non devi testare necessariamente su ogni device sul mercato. Anche perché dipende molto da dove la tua App (geograficamente) verrà pubblicata. Focalizzati sui produttori di device con più quota di mercato e assicurati una diversità di dimensione schermo, processore e memoria (qua trovi una classificazione dei device più venduti per paese che aggiorniamo spesso: www.app-quality.com/programmazione-rilasci-smartphones-oss/)
  • Test nelle condizioni reali. Assicurati che la tua App anche in diverse condizoni di rete, localizzazioni e utilizzi del device
  • Crea un Test Plan ragionato. Pensa ai percorsi critici nella tua App e nel tuo servizio digitale e assicurati che quei percorsi siano funzionanti ad ogni build. Puoi anche utilizzare Firebase Test Lab per sfruttare il Robo Test, un crawler pseudo-intelligente che naviga la tua App automaticamente con l'obiettivo di generare crash
  • Scrivi test automatici, dove possibile. Prioritizza gli script per le funzionalità core e per le parti della tua App che non cambiano spesso
  • Integra device fisici nel tuo processo di continuous integration, idealmente fermando lo sviluppo di una build se falliscono i percorsi critici
  • Fai una review continua dei dati che ricevi dai test e guarda oltre al mero funzionamento dell'App. Stabilità, ottime performance in termini di velocità e rete sono elementi critici per il successo della tua App

Se hai difficoltà ad attuare alcune di queste Best Practices chiedi come possiamo aiutarti e dove il Crowd Testing può essere molto utile (come per esempio il test di device reali, il test in condizioni reali, realizzazione di un test plan adeguato, identificazione dei crash, supporto ai test automatici, etc.) scrivendomi una mail a luca.manara@app-quality.com.