Mobile testing: come migliorare la tua app

Mobile testing: come migliorare la tua app
20 ottobre 2016 Martina Manuello

Negli ultimi anni si è assistito ad una crescita esponenziale di applicazioni, spesso con le stesse funzionalità e gli stessi servizi.

A questo punto la domanda è: perché scegliere un’applicazione piuttosto che un’altra?

Sarà capitato a tutti di aver scaricato un’applicazione sullo Smartphone e di averla eliminata dopo un paio di minuti. Gli utenti hanno ormai aspettative altissime sulla qualità e velocità delle app. Una brutta GUI, troppa confusione nell’UX o una serie di chiamate API interminabili sono i principali motivi di frustrazione che portano l’utente a rimuoverla rapidamente dal proprio dispositivo, impedendole di conseguenza la possibilità di progredire sul mercato. Il successo o l’insuccesso di un’app è misurata non solo dal numero di download e dai commenti (positivi o negativi), ma soprattutto dal “passaparola”. Una cattiva opinione dell’app, infatti, può divulgarsi molto velocemente diminuendo la possibilità di competizione con altri prodotti simili.

Ma come è possibile garantire il successo di un’app?

L’attività di testing è un ottimo strumento che permette di migliorare il software. È finalizzata a garantire il massimo raggiungimento degli obiettivi per cui le app sono state create e di conseguenza la piena soddisfazione dell’utente al suo utilizzo.

I test vengono effettuati per valutare carenze di correttezza, completezza e affidabilità delle componenti.

Esistono diverse tipologie di test, ma ci concentreremo solamente su alcuni: quelli riguardanti la funzionalità, l’usabilità e le prestazioni.

Il test funzionale assicura che l’applicazione funzioni secondo le esigenze e verifica se sia stata disegnata e implementata secondo ciò che l’utente si aspetta, eliminando tutti i possibili bug e difetti. Si preoccupa di cosa fa il software piuttosto di come lo fa.

Il test sull’usabilità valuta la facilità di reperire contenuti e funzionalità all’interno dell’applicazione. Obiettivo dell’usabilità è quello di rendere la tecnologia sottostante trasparente all’utente, il quale deve potersi concentrare esclusivamente sul compito, anziché sull’interfaccia. Un’app può contenere tante funzionalità, servizi e risorse utili, ma se queste non sono organizzate secondo le aspettative e i bisogni dei destinatari, possono addirittura essere introvabili, e di conseguenza inutilizzate. È un tipo di test che non deve essere messo in atto solo dopo il completamento dell’applicazione, ma già dalle prime fasi della progettazione.

Il test sulle prestazioni controlla il comportamento dell’applicazione in determinate condizioni, come ad esempio la batteria scarica, la scarsa copertura di rete o la poca memoria disponibile. Le prestazioni possono essere influenzate sia da lato server (nel caso in cui l’applicazione abbia anche questa componente) che da lato client; per tale motivo è necessario che la verifica venga effettuata per controllare entrambi.

I test si distinguono ulteriormente tra quelli manuali e quelli automatici. Il test manuale è realizzato da una persona fisica che analizza attentamente il funzionamento dell’applicazione, provando differenti combinazioni di utilizzo e confrontando il risultato con il comportamento atteso. Il test automatico, tramite l’assistenza di particolari software, intercetta i bug automatizzando circa l’80% del test. È un approccio molto più veloce ed efficiente rispetto a quello manuale, utile soprattutto se si sta testando un’applicazione di grandi dimensioni.

L’operazione di test nelle applicazioni mobile può essere talvolta complessa, soprattutto per la grande varietà di dispositivi che dovranno accoglierla. L’incremento di produzione di nuovi device sta portando ad una crescente frammentazione del sistema: ci si trova a far fronte a dispositivi che possiedono periodicamente caratteristiche hardware, prestazioni e OS differenti. Attualmente infatti esistono più di 24.000 modelli solo sulla piattaforma Android. È quindi fondamentale testare l’app sul più alto numero possibile di device concentrandosi sui modelli più popolari.

Solitamente prima di rendere pubblica l’app si realizzano dei piccoli prototipi durante la fase di sviluppo in modo fa avere rapidamente dei riscontri e individuare eventuali anomalie e correggerle subito, in quanto sarebbe troppo dispendioso farlo solo alla fine dell’implementazione.

È impossibile dunque ignorare l’importanza della fase di test ed è bene considerarlo come elemento chiave per il successo di un’app mobile.