Test delle app mobili: casi di test di esempio e scenari di test
Una domanda frequente dei nostri studenti è: Come testare le app mobili? In questo tutorial forniamo scenari di test/casi di test di esempio per testare un'applicazione mobile.
Puoi eseguire alcuni o tutti i casi di test in base ai tuoi requisiti di test mobile. I casi di test sono organizzati in base ai tipi di test mobili.
Test funzionale dell'applicazione mobile
Le Test funzionale dell'applicazione mobile è un processo di test delle funzionalità delle applicazioni mobili come le interazioni degli utenti, nonché di test delle transazioni che gli utenti potrebbero eseguire. Lo scopo principale del test funzionale delle applicazioni mobili è garantire la qualità, soddisfare le aspettative specificate, ridurre il rischio o gli errori e la soddisfazione del cliente.
I vari fattori rilevanti nei test funzionali sono
- Tipo di applicazione in base all'utilizzo delle funzionalità aziendali (banche, giochi, social o aziendali)
- Target tipo di pubblico (consumatore, impresa, istruzione)
- Canale di distribuzione utilizzato per diffondere l'applicazione (ad esempio Apple App Store, Google Play, distribuzione diretta)
Gli scenari di test più fondamentali nel test funzionale possono essere considerati come:
- Per verificare se tutti i campi obbligatori richiesti funzionano come richiesto.
- Per verificare che i campi obbligatori siano visualizzati sullo schermo in modo distintivo rispetto ai campi non obbligatori.
- Per verificare se l'applicazione funziona secondo i requisiti ogni volta che l'applicazione viene avviata/arrestata.
- Per verificare se l'applicazione entra in modalità ridotta a icona ogni volta che c'è una telefonata in arrivo. Per poter validare la stessa è necessario utilizzare un secondo telefono, per chiamare il dispositivo.
- Per verificare se il telefono è in grado di archiviare, elaborare e ricevere SMS ogni volta che l'app è in esecuzione. Per validare lo stesso è necessario utilizzare un secondo telefono per inviare sms al dispositivo che si sta testando e su cui è attualmente in esecuzione l'applicazione in prova.
- Per verificare che il dispositivo sia in grado di eseguire i requisiti multitasking richiesti ogni volta che è necessario farlo.
- Per verificare che l'applicazione consenta le opzioni di social network necessarie come condivisione, pubblicazione, navigazione, ecc.
- Per verificare che l'applicazione supporti qualsiasi transazione tramite gateway di pagamento come Visa, Mastercard, Paypal ecc., come richiesto dall'applicazione.
- Per verificare che gli scenari di scorrimento della pagina siano abilitati nell'applicazione secondo necessità.
- Convalidare che la navigazione tra i moduli pertinenti nell'applicazione sia conforme ai requisiti.
- Per verificare che gli errori di troncamento siano assolutamente entro un limite accettabile.
- Per verificare che l'utente riceva un messaggio di errore appropriato come "Errore di rete. Riprovare più tardi” ogni volta che si verifica un errore di rete.
- Per verificare che l'applicazione installata consenta ad altre applicazioni di funzionare in modo soddisfacente e non consumi la memoria delle altre applicazioni.
- Per verificare che l'applicazione riprenda dall'ultima operazione in caso di riavvio forzato o arresto anomalo del sistema.
- Per verificare se l'installazione dell'applicazione può essere eseguita senza problemi a condizione che l'utente disponga delle risorse necessarie e non comporti errori significativi.
- Per verificare che l'applicazione esegua la funzione di avvio automatico in base ai requisiti.
- Per verificare se l'applicazione funziona secondo i requisiti in tutte le versioni di Mobile ovvero 2g, 3g e 4g.
- Per eseguire Test di regressione per scoprire nuovi bug del software in aree esistenti di un sistema dopo che sono state apportate modifiche ad esse. Eseguire nuovamente i test eseguiti in precedenza per determinare che il comportamento del programma non sia cambiato a causa delle modifiche.
- Per verificare se l'applicazione fornisce una guida utente disponibile per coloro che non hanno familiarità con l'app
Casi di test di test delle prestazioni
L'obiettivo fondamentale di questo tipo di test è garantire che l'applicazione funzioni in modo accettabile con determinati requisiti di prestazione come l'accesso da parte di un numero enorme di utenti o la rimozione di una parte chiave dell'infrastruttura come un server di database.
Gli scenari di test generali per il test delle prestazioni in un'applicazione mobile sono:
- Per determinare se l'applicazione funziona secondo i requisiti in diverse condizioni di carico.
- Determinare se l'attuale copertura di rete è in grado di supportare l'applicazione ai livelli di utente di picco, medio e minimo.
- Per determinare se la configurazione esistente del client-server fornisce il livello di prestazioni ottimale richiesto.
- Identificare i vari colli di bottiglia dell'applicazione e dell'infrastruttura che impediscono all'applicazione di funzionare ai livelli di accettabilità richiesti.
- Per verificare se il tempo di risposta della domanda è conforme ai requisiti.
- Valutare il prodotto e/o l'hardware per determinare se è in grado di gestire i volumi di carico previsti.
- Valutare se la durata della batteria può supportare il funzionamento dell'applicazione con i volumi di carico previsti.
- Per convalidare le prestazioni dell'applicazione quando la rete passa a Wi-Fi da 2G/3G o viceversa.
- Per convalidare ciascuno dei requisiti richiesti, il ciclo della CPU è l'ottimizzazione
- Per verificare che il consumo della batteria, le perdite di memoria, le risorse come il GPS e le prestazioni della fotocamera rientrino nelle linee guida richieste.
- Per convalidare la longevità dell'applicazione ogni volta che il carico dell'utente è rigoroso.
- Per convalidare le prestazioni della rete mentre ci si sposta con il dispositivo.
- Per convalidare le prestazioni dell'applicazione quando sono richieste solo fasi intermittenti di connettività.
Casi di test di test di sicurezza
L'obiettivo fondamentale dei test di sicurezza è garantire che i requisiti di sicurezza dei dati e della rete dell'applicazione siano soddisfatti secondo le linee guida.
Di seguito sono elencati gli aspetti più importanti per verificare la sicurezza delle applicazioni mobili.
- Per verificare che l'applicazione sia in grado di resistere a qualsiasi attacco di forza bruta, ovvero un processo automatizzato di tentativi ed errori utilizzato per indovinare il nome utente, la password o il numero di carta di credito di una persona.
- Per verificare se un'applicazione non consente a un utente malintenzionato di accedere a contenuti o funzionalità sensibili senza un'adeguata autenticazione.
- Per verificare che l'applicazione disponga di un sistema di protezione tramite password efficace e non consenta a un utente malintenzionato di ottenere, modificare o recuperare la password di un altro utente.
- Per verificare che l'applicazione non soffra di una scadenza della sessione insufficiente.
- Identificare le dipendenze dinamiche e adottare misure per impedire a qualsiasi utente malintenzionato di accedere a queste vulnerabilità.
- Per prevenire da SQL attacchi legati all'iniezione.
- Per identificare e ripristinare eventuali scenari di codice non gestito.
- Per garantire se i certificati vengono convalidati, l'applicazione implementa o meno il blocco dei certificati.
- Per proteggere l'applicazione e la rete dagli attacchi di negazione del servizio.
- Analizzare i requisiti di archiviazione e convalida dei dati.
- Abilitare la gestione della sessione per impedire a utenti non autorizzati di accedere a informazioni non richieste.
- Per verificare se qualche codice di crittografia è rotto e assicurarsi che venga riparato.
- Per verificare se l'implementazione della logica aziendale è protetta e non vulnerabile a qualsiasi attacco esterno.
- Per analizzare le interazioni del file system, determinare eventuali vulnerabilità e correggere questi problemi.
- Per convalidare i gestori di protocollo, ad esempio tentando di riconfigurare la pagina di destinazione predefinita per l'applicazione utilizzando un iframe dannoso.
- Per proteggersi da iniezioni lato client dannose.
- Per proteggersi da iniezioni di runtime dannose.
- Per indagare sulla memorizzazione nella cache dei file e prevenire eventuali possibilità dannose dallo stesso.
- Per evitare l'archiviazione non sicura dei dati nella cache della tastiera delle applicazioni.
- Per indagare sui cookie e prevenire eventuali azioni dannose da parte dei cookie.
- Fornire controlli regolari per l’analisi della protezione dei dati.
- Esamina i file creati su misura e previene eventuali azioni dannose da parte dei file creati su misura.
- Per prevenire casi di buffer overflow e danneggiamento della memoria.
- Analizzare diversi flussi di dati e prevenire eventuali vulnerabilità da questi.
Casi di test di test di usabilità
Il processo di test di usabilità dell'applicazione mobile viene eseguito per avere un'applicazione rapida e semplice con meno funzionalità rispetto a un'applicazione lenta e difficile con molte funzionalità. L'obiettivo principale è quello di garantire che si otterrà un'interfaccia facile da usare, intuitiva e simile alle interfacce accettate dal settore e ampiamente utilizzate.
- Per garantire che i pulsanti abbiano la dimensione richiesta e siano adatti alle dita grandi.
- Per garantire che i pulsanti siano posizionati nella stessa sezione dello schermo per evitare confusione agli utenti finali.
- Per garantire che le icone siano naturali e coerenti con l'applicazione.
- Per garantire che i pulsanti che hanno la stessa funzione abbiano anche lo stesso colore.
- Per garantire che la convalida per le funzioni di zoom avanti e zoom indietro mediante tocco sia abilitata.
- Per garantire che l'input da tastiera possa essere ridotto al minimo in modo appropriato.
- Per garantire che l'applicazione fornisca un metodo per tornare indietro o annullare un'azione, toccando l'elemento sbagliato, entro una durata accettabile.
- Per garantire che i menu contestuali non siano sovraccarichi perché devono essere utilizzati rapidamente.
- Garantire che il testo sia mantenuto semplice e chiaro per essere visibile agli utenti.
- Per garantire che le frasi e i paragrafi brevi siano leggibili per gli utenti finali.
- Per garantire che la dimensione del carattere sia abbastanza grande da essere leggibile e non troppo grande o troppo piccola.
- Per convalidare l'applicazione viene richiesto all'utente ogni volta che l'utente inizia a scaricare una grande quantità di dati che potrebbero non essere favorevoli alle prestazioni dell'applicazione.
- Per verificare che la chiusura dell'applicazione venga eseguita da stati diversi e verificare se si riapre nello stesso stato.
- Per garantire che tutte le stringhe vengano convertite nelle lingue appropriate ogni volta che è disponibile una funzione di traduzione linguistica.
- Per garantire che gli elementi dell'applicazione siano sempre sincronizzati in base alle azioni dell'utente.
- Per garantire che all'utente finale venga fornito un manuale utente che aiuti l'utente finale a comprendere e utilizzare l'applicazione che potrebbe non avere familiarità con le procedure dell'applicazione
I test di usabilità vengono normalmente eseguiti da utenti manuali poiché solo gli esseri umani possono comprendere la sensibilità e la capacità di comfort degli altri utenti.
Casi di test per test di compatibilità
I test di compatibilità sui dispositivi mobili vengono eseguiti per garantire che, poiché i dispositivi mobili hanno dimensioni, risoluzione, schermo, versione e hardware diversi, l'applicazione dovrebbe essere testata su tutti i dispositivi per garantire che funzioni come desiderato.
Di seguito sono elencate le aree più importanti per i test di compatibilità.
- Per verificare che l'interfaccia utente dell'applicazione corrisponda alle dimensioni dello schermo del dispositivo, nessun testo/controllo è parzialmente invisibile o inaccessibile.
- Per garantire che il testo sia leggibile per tutti gli utenti dell'applicazione.
- Per garantire che la funzionalità di chiamata/allarme sia abilitata ogni volta che l'applicazione è in esecuzione. L'applicazione viene ridotta a icona o sospesa in caso di chiamata e poi ogni volta che la chiamata si interrompe l'applicazione viene ripresa.
Casi di test per test di recuperabilità
- Ripristino da crash e interruzioni delle transazioni
- Convalida dell'effettiva situazione di ripristino dell'applicazione dopo scenari di interruzione/arresto anomalo imprevisti.
- Verifica di come l'applicazione gestisce una transazione durante un'interruzione di corrente (ad esempio la batteria si scarica o un improvviso spegnimento manuale del dispositivo)
- Dopo la convalida del processo in cui la connessione è sospesa, il sistema deve ristabilirsi per recuperare i dati direttamente interessati dalla connessione sospesa. Utilizzando il diritto strumenti di test mobili può aiutare a garantire un processo di recupero senza interruzioni.
Lista di controllo importante
- Test di installazione (se l'applicazione può essere installata in un tempo ragionevole e con il criterio richiesto)
- Test di disinstallazione (se l'applicazione può essere disinstallata in un tempo ragionevole e con i criteri richiesti)
- Casi di test di rete (convalida se la rete funziona sotto il carico richiesto o meno, se la rete è in grado di supportare tutte le applicazioni necessarie durante le procedure di test)
- Controlla Chiavi non mappate
- Controllare la schermata iniziale dell'applicazione
- Immissione continua sulla tastiera durante le interruzioni e in altri momenti come problemi di rete
- Metodi che riguardano l'uscita dall'applicazione
- Effetto caricatore mentre un'applicazione è in esecuzione in background
- Batteria scarica e richiesta di prestazioni elevate
- Rimozione della batteria durante l'esecuzione di un'applicazione
- Consumo della batteria per applicazione
- Controlla gli effetti collaterali dell'applicazione