Test app: cosa è e chi lo fa?

Riccardo Tribbia | 6 minuti di lettura

Foto di Riccardo Tribbia

Scritto da Riccardo Tribbia

CEO - perché qualcuno doveva pur farlo - ma nello spirito è più uno skipper: dato che la vita lo tiene lontano dal mare si barcamena tra le tecnologie più interessanti alla ricerca dei tesori nascosti

Cos'è il test app e perché è importante

L'app testing è l'attività di valutazione e verifica del corretto funzionamento di un'app rispetto alle specifiche iniziali e alle aspettative del cliente.


Ma chi se ne occupa? Se non se ne parla in fase contrattuale si rischia di dare per scontato un'attività molto importante. E se infine manca rischia di diventare una criticità quando si solleveranno problemi a seguito del rilascio delle app.


La necessità del controllo della qualità nello sviluppo delle app è ben percepita dalle aziende che hanno già avuto esperienza in merito, mentre chi si approccia per la prima volta rischia di sottovalutare questo aspetto trovandosi a sostenere dei costi non previsti dopo che le app sono sullo store.


I difetti del software possono danneggiare la reputazione di un marchio, creando frustrazione nei clienti e determinando il loro abbandono.

Dal blog di IBM leggiamo questi esempi di costi che il non rilevamento di bug critici ha portato:

La Nissan, ad esempio, ha dovuto richiamare oltre 1 milione di auto a causa di un difetto di software nei rilevatori dei sensori degli airbag. O un bug del software che ha causato il fallimento del lancio di un satellite militare da 1,2 miliardi di dollari (fonte). I numeri parlano chiaro. I malfunzionamenti del software negli Stati Uniti sono costati all'economia 1,1 trilioni di dollari in risorse nel 2016. Inoltre, hanno avuto un impatto su 4,4 miliardi di clienti (fonte).


test app


Le tipologie dell'app testing

Il test delle app può essere svolto in molti modi - equivalenti a quelli di molti sviluppi software -, quelli più noti ed usati sono:


  • Test funzionale: verifica le funzioni emulando gli scenari dell'azienda, in base ai requisiti funzionali.
  • Test di integrazione: garantisce che i componenti o le funzioni del software funzionino insieme.
  • Test di regressione: verifica se le nuove funzioni interrompono o peggiorano la funzionalità.
  • Test di sforzo: verifica lo sforzo che può sostenere il sistema prima di riportare un errore.
  • Test di fruibilità: valuta la facilità di utilizzo, da parte di un cliente, dell'app per completare un'attività.
  • Test di unità: conferma che ogni unità software funzioni come previsto. Un'unità è il componente testabile più piccolo di un'applicazione. Solitamente questo test viene fatto a livello di codice e automatizzato e non come processo di verifica da parte di un team di persone.


Questo elenco non vuol dire che ad ogni progetto ha senso fare tutti questi test (sarebbe anti-economico) ma che ci sono tante metodologie che si possono applicare in base allo scenario.


Il tipo di test più utilizzato è il test funzionale soprattutto in fase di primo rilascio, seguito dal test di integrazione e regressione nei rilasci successivi delle app.

Il test di sforzo è considerato quando lo scenario applicativo prevede un flusso di utenti e/o di dati che richieda tale evidenza.

Il test di fruibilità è quello che a tutti piacerebbe fare: richiede la creazione di un gruppo di utenti che effettuino questo tipo di test e che poi restituiscano i propri feedback; è un'attività che necessita di tempo e di più persone e vien quindi tenuto in considerazione quando le condizioni al contorno lo permettono. Questo tipo di test è quello più indicato nel beta testing o nel crowd testing di cui parliamo tra poco.


Unicità dell'app testing rispetto ad altri ambiti software

Come già detto in altri articoli su questo blog (ad esempio nell'articolo in cui abbiamo parlato dei costi delle app) le app sono software con caratteristiche uniche e questo si ripercuote anche nella fase di testing.


Fare i test di un'app significa controllare un elenco di casi d'uso per ciascun sistema operativo target (solitamente iOS e Android) per varie versioni degli stessi (solitamente il sottoinsieme di versioni che sono maggiormente adottate in quel momento) per varie dimensioni e risoluzioni di schermi.

test app


Le terminologie del test app in base a chi li svolge

Nelle offerte economiche e negli incontri con noi o con aziende simili alla nostra i termini che spesso vengono usati sono i seguenti e determinano più la responsabilità di chi li svolge rispetto alla metodologia.


Alpha testing

Chiamiamo alpha il test app fatto dall'azienda stessa che realizza l'app. Questo è importante e per noi fondamentale che l'azienda stessa si preoccupi di effettuare tutti i casi di test che permettono di toccare tutti gli aspetti funzionali di progetto e, se gradito, di fornire un report dei test fatti.


Questa attività è importante per scremare tutti i bug più evidenti al termine della fase di sviluppo e rendere i primi rilasci già un'app di qualità.

Il difetto dell'alpha testing è che è effettuato dallo stesso team che ha sviluppato l'app in un ambiente "controllato" che può differire per nulla, poco o molto dallo scenario effettivo in cui verrà utilizzata l'app.


Facciamo un esempio: una Connective App che comunica con un prodotto IoT - ad esempio un termostato smart - viene testata in alpha testing nel laboratorio del nostro ufficio o del nostro cliente; lo scenario riproduce il più possibile lo scenario reale, ma non è come fare il testing nell'impianto casalingo degli utenti. E' per questo che è importante il beta testing che descriviamo ora.


Beta testing o Field testing (test sul campo)

Viene chiamato beta testing il test app fatto da un gruppo di utenti conosciuti che possono provare l'app in anteprima nell'effettivo scenario applicativo.

Questi utenti provano le funzionalità dell'app, segnalano crash, bug o imprecisioni che in fase di sviluppo o alpha testing non è stato possibile rilevare.


È anche detto "field testing" (o test sul campo) proprio per il fatto che viene svolto nello stesso ambiente in cui ci si aspetta verrà utilizzata l'app una volta rilasciata al pubblico.


Crowd testing

Nel crowd testing chi svolge i test è "la folla", ovvero un insieme di utenti che non conoscono le specifiche di progetto e magari neanche le funzionalità stesse dell'app ma la provano come farebbero gli utenti finali e restituiscono feedback su cosa si sarebbero aspettati, cosa gli è piaciuto e cosa non hanno capito.

Questa tipologia di testing è utile, come dicevamo in precedenza, per i test di fruizione e per verificare se l'app è chiara o se ha dei difetti di usabilità o di contenuto.


Test automatizzati

Un altra modalità di testing è quella automatizzata: è la definizione a livello di codice di alcune casistiche di test (solitamente le più critiche) che possono essere verificate in automatico ad ogni rilascio, così da essere confidenti che l'introduzione di nuove funzionalità non vada ad inficiare quelle già presenti (test di regressione).


Solitamente i test automatizzati vengono introdotti in un'app dai team composti da un numero importante di sviluppatori e fortemente incentrati sul prodotto che hanno evoluzioni rapide.

test app


Esistono anche delle soluzioni di test funzionali robotizzati 🤖 Ti sembrerà strano, ma la tecnologia per farlo esiste e l'abbiamo provata con risultati molto interessanti! Se ti incuriosisce, dai un'occhiata a mobot.io.

Il workflow dei test app funzionali in Tiknil

test app


Quanto vale il test app rispetto all'intero progetto?

Una nostra stima per esperienza è che la fase di alpha testing può essere stimata, in termini di tempi e costi, tra il 15 e il 30% delle attività di sviluppo, in base alla complessità dei test e dello scenario.


Pensiamo che questa informazione possa essere utile al lettore in fase di valutazione di un progetto app per capire quanto impatta se è compresa in un'offerta o quanto è il "costo nascosto" del testing se è un'attività che non viene proposta.


La tua azienda ha già svolto un progetto app e ti sei accorto che la fase di testing non è stata considerata adeguatamente?




IL NOSTRO KNOW-HOW

iPhone outline iPhone outline

CONNECTIVE APP:
IL FUTURO NEL TUO SMARTPHONE

Mettere a disposizione dei tuoi clienti un'app che accompagna i tuoi prodotti permette di renderne più fruibili le informazioni, migliora l'esperienza d'uso e la percezione del digitale dei prodotti stessi, permettendoti di essere presente in nuovi segmenti di mercato e superare i tuoi competitor Affidati a noi, siamo specializzati nel realizzare app per aziende come la tua!

Scopri come

METODO O INCANTESIMI?

Le app e le connessioni spesso sembra che
funzionino per magia.

In realtà dietro c'è un metodo di lavoro e un processo ingegneristico chiaro e ben definito.

IL NOSTRO METODO

Iscriviti ad APProfondiamo

Rimani aggiornato sulle novità del mondo
delle Connective App e di Tiknil, ti garantiamo:
  • Solamente 1 email al mese, non vogliamo appesantire ulteriormente la tua casella email
  • Contenuti creati da noi, nessuna 🤖 Intelligenza Artificiale potrà batterci 💪🏼
  • Valore, esperienza e un pizzico di magia

Contattaci

Compila il form sottostante per entrare in contatto con noi!
Ciao, mi chiamo
di

e vorrei fare due chiacchiere con voi riguardo a

La mia mail è

Vi lascio qualche informazione in più: