Una guida completa per testare le applicazioni mobili con tutorial approfonditi:

La tecnologia mobile e i dispositivi intelligenti sono la tendenza attuale e cambieranno il futuro del mondo come lo conosciamo. Tutti noi possiamo garantirlo, vero? Ora, sarebbe da dilettanti se elencassi per cosa usiamo questi dispositivi mobili. Lo sapete tutti – forse meglio di noi.

Andiamo dritti al tema di questo tutorial.

L’elenco completo delle 30+ esercitazioni di Mobile Testing:

Introduzione al Mobile Testing:

Tutorial #1: Introduzione al Mobile Testing
Tutorial #2: iOS App Testing
Tutorial #3: Android App Testing
Tutorial #4: Mobile Testing Challenges and Solutions
Tutorial #5: Perché il Mobile Testing è difficile?

Test dei dispositivi mobili:

Tutorial #6: Testare una versione Android quando viene tolta dal mercato
Tutorial #7: Come testare le applicazioni mobili su dispositivi di fascia bassa
Tutorial #8: Test sul campo per applicazioni mobili
Tutorial #9: Modello di telefono e versione del sistema operativo: Quale dovrebbe essere testato prima?

Test UI mobile:

Tutorial #10: Test UI di applicazioni mobili
Tutorial #11: Mobile Responsive Test

Servizi di Mobile Testing:

Tutorial #12: Cloud-Based Mobile Application Testing
Tutorial #13: Servizi di test per cellulari
Tutorial #14: Servizi di beta testing per applicazioni mobili
Tutorial #15: Società di sviluppo di applicazioni mobili
Tutorial #16: Fornitori di servizi di test per applicazioni mobili basati sul cloud

Test di prestazioni e sicurezza per applicazioni mobili:

Tutorial #17: Test delle prestazioni delle applicazioni mobili con BlazeMeter
Tutorial #18: Linee guida per i test di sicurezza delle applicazioni mobili

Strumenti di test per cellulari:

Tutorial #19: Strumenti di test per app Android
Tutorial #20: I migliori strumenti di test di sicurezza per app mobili
Tutorial #21: 58 migliori strumenti di test per app mobili

Test di automazione mobile:

Tutorial #22: Appium Mobile Automation Tool tutorial
Tutorial #23: Appium Studio tutorial
Tutorial #24: Automatizzare applicazioni Android usando lo strumento TestComplete
Tutorial #25: Tutorial Robotium – Strumento di test UI per applicazioni Android
Tutorial #26: Tutorial Selendroid: Mobile Automation Framework
Tutorial #27: Tutorial pCloudy: Mobile App Testing su dispositivi reali
Tutorial #28: Katalon Studio &Tutorial Kobiton’s Cloud-Based Device Farm

Carriera Mobile Testing:

Tutorial #29: Come ottenere un lavoro di Mobile Testing velocemente
Tutorial #30: Domande per l’intervista di test mobile e curriculum
Tutorial #31: Domande per l’intervista di test mobile parte 2

*************************************************************

Iniziamo con il primo tutorial della serie.

Tutorial #1: Introduzione al Mobile Application Testing

Sono finiti i giorni in cui il telefono era un apparecchio che stava in un angolo e doveva suonare per attirare la nostra attenzione o un computer era una macchina che solo poche persone usavano – ora sono un’estensione del nostro essere – una finestra sul mondo e servi virtuali che fanno quello che gli viene detto.

I computer erano una furia e hanno cambiato il modo in cui noi umani pensavamo, ci comportavamo, apprendevamo ed esistevamo.

Oggi le soluzioni di mobilità hanno preso il sopravvento sul mercato. Le persone non vogliono accendere i loro computer portatili/PC per tutto, piuttosto vogliono che i loro dispositivi portatili eseguano tutto velocemente.

Pertanto le soluzioni mobili che forniamo ai nostri clienti dovrebbero essere testate molto bene. Questo tutorial è destinato a quelle persone che sono già nel settore dei test mobili o a quelle che sono passate ad esso negli ultimi tempi. Dato che abbiamo già molti tutorial sulle definizioni delle terminologie relative al mobile testing, ci occuperemo direttamente dello scopo di questo tutorial.

Questo tutorial sarà sia un’introduzione che la vostra guida al Mobile Testing. Quindi, leggete!

Tipi di Mobile Testing

Ci sono a grandi linee 2 tipi di test che hanno luogo sui dispositivi mobili:

#1. Test hardware:

Il dispositivo include i processori interni, hardware interno, dimensioni dello schermo, risoluzione, spazio o memoria, fotocamera, radio, Bluetooth, WIFI ecc. A volte ci si riferisce a questo come al semplice “Mobile Testing”.

#2. Software o Application testing:

Si testano le applicazioni che funzionano su dispositivi mobili e la loro funzionalità. Si chiama “Mobile Application Testing” per differenziarlo dal metodo precedente. Anche nelle applicazioni mobili, ci sono alcune differenze di base che sono importanti da capire:

a) Applicazioni native: Un’applicazione nativa è creata per l’uso su una piattaforma come cellulari e tablet.
b) Le applicazioni web mobili sono applicazioni lato server per accedere a siti web sul cellulare utilizzando diversi browser come Chrome, Firefox collegandosi a una rete mobile o wireless come WIFI.
c) Le applicazioni ibride sono combinazioni di app native e web app. Vengono eseguite su dispositivi o offline e sono scritte utilizzando tecnologie web come HTML5 e CSS.

Ci sono alcune differenze di base che le distinguono:

  • Le app native hanno affinità con una sola piattaforma, mentre le app web mobili hanno l’affinità multipiattaforma.
  • Le app native sono scritte in piattaforme come SDK mentre le app web mobili sono scritte con tecnologie web come HTML, CSS, asp.net, Java, PHP.
  • Per un’app nativa, è richiesta l’installazione ma per le app web mobili, non è richiesta alcuna installazione.
  • Un’app nativa può essere aggiornata dal play store o dall’app store mentre le app web mobili sono aggiornamenti centralizzati.
  • Molte app native non richiedono una connessione a Internet ma per le app web mobili, è un must.
  • L’app nativa funziona più velocemente rispetto alle app web mobili.
  • Le app native sono installate da app store come Google play store o app store dove le web mobile sono siti web e sono accessibili solo attraverso Internet.

Il resto dell’articolo riguarderà il Mobile Application Testing.

Il significato del Mobile Application Testing

Il testing delle applicazioni sui dispositivi mobili è più impegnativo del testing delle applicazioni web sul desktop a causa della

  • diversa gamma di dispositivi mobili con diverse dimensioni dello schermo e configurazioni hardware come una tastiera rigida, una tastiera virtuale (touch screen) e trackball ecc.
  • Ampia varietà di dispositivi mobili come HTC, Samsung, Apple e Nokia.
  • Diversi sistemi operativi mobili come Android, Symbian, Windows, Blackberry e IOS.
  • Diverse versioni del sistema operativo come iOS 5.x, iOS 6.x, BB5.x, BB6.x ecc.
  • Diversi operatori di rete mobile come GSM e CDMA.
  • Frequenti aggiornamenti – (come Android- 4.2, 4.3, 4.4, iOS-5.x, 6.x) – con ogni aggiornamento si raccomanda un nuovo ciclo di test per assicurarsi che nessuna funzionalità dell’applicazione sia impattata.

Come per qualsiasi applicazione, anche il test delle applicazioni mobili è molto importante, poiché la clientela di solito è in milioni per un certo prodotto – e un prodotto con bug non è mai apprezzato. Si traduce spesso in perdite monetarie, problemi legali e danni irreparabili all’immagine del marchio.

Differenza di base tra i test di applicazioni mobili e desktop:

Pochi aspetti evidenti che distinguono i test delle applicazioni mobili dai test desktop

  • Sul desktop, l’applicazione viene testata su un’unità di elaborazione centrale. Su un dispositivo mobile, l’applicazione viene testata su portatili come Samsung, Nokia, Apple e HTC.
  • Le dimensioni dello schermo dei dispositivi mobili sono più piccole di quelle di un desktop.
  • I dispositivi mobili hanno meno memoria di un desktop.
  • I dispositivi mobili usano connessioni di rete come 2G, 3G, 4G o WIFI mentre i desktop usano connessioni a banda larga o dial-up.
  • Lo strumento di automazione utilizzato per i test delle applicazioni desktop potrebbe non funzionare sulle applicazioni mobili.

Tipi di test delle applicazioni mobili:

Per affrontare tutti gli aspetti tecnici di cui sopra, vengono eseguiti i seguenti tipi di test sulle applicazioni mobili.

  • Test di usabilità – Per assicurarsi che l’applicazione mobile sia facile da usare e fornisca un’esperienza utente soddisfacente ai clienti
  • Test di compatibilità – Test dell’applicazione in diversi dispositivi mobili, browser, dimensioni dello schermo e versioni del sistema operativo secondo i requisiti.
  • Test dell’interfaccia – Test delle opzioni di menu, pulsanti, segnalibri, cronologia, impostazioni e flusso di navigazione dell’applicazione.
  • Test dei servizi – Test dei servizi dell’applicazione online e offline.
  • Test delle risorse di basso livello: Test dell’utilizzo della memoria, cancellazione automatica dei file temporanei, problemi di crescita del database locale noti come test delle risorse di basso livello.
  • Test delle prestazioni – Test delle prestazioni dell’applicazione cambiando la connessione da 2G, 3G a WIFI, condivisione dei documenti, consumo della batteria, ecc.
  • Test operativi – Test dei backup e del piano di recupero se una batteria va giù, o perdita di dati durante l’aggiornamento dell’applicazione da un negozio.
  • Test di installazione – Convalida dell’applicazione installandola / disinstallandola sui dispositivi.
  • Test di sicurezza – Test di un’applicazione per convalidare se il sistema informativo protegge i dati o no.

Strategia di test delle applicazioni mobili

La strategia di test dovrebbe assicurarsi che tutte le linee guida di qualità e prestazioni siano soddisfatte. Alcune indicazioni in quest’area:

1) Selezione dei dispositivi – Analizzare il mercato e scegliere i dispositivi che sono ampiamente usati. (Questa decisione dipende principalmente dai clienti. Il cliente o i costruttori di app considerano il fattore di popolarità di certi dispositivi così come le esigenze di marketing per l’applicazione per decidere quali telefoni usare per i test.)

2) Emulatori – L’uso di questi è estremamente utile nelle fasi iniziali dello sviluppo, in quanto consentono un controllo rapido ed efficiente dell’app. L’emulatore è un sistema che fa girare il software da un ambiente all’altro senza cambiare il software stesso. Duplica le caratteristiche e funziona sul sistema reale.

Tipi di emulatori mobili

  • Emulatore di dispositivi- fornito dai produttori di dispositivi
  • Emulatore di browser- simula ambienti di browser mobili.
  • Emulatore di sistemi operativi- Apple fornisce emulatori per iPhone, Microsoft per telefoni Windows e Google Android

Strumento consigliato

#1) Kobiton

Kobiton è una piattaforma di esperienza mobile accessibile e altamente flessibile basata su cloud che accelera il test e la consegna di applicazioni native, web e ibride su Android e iOS utilizzando dispositivi reali. La loro nuova automazione di test senza script aiuta i team senza esperienza di codifica a generare script Appium standard aperti con facilità.

=> Visita il sito Kobiton

Lista di alcuni emulatori di dispositivi mobili gratuiti e facili da usare

i. Mobile Phone Emulator – Usato per testare telefoni come iPhone, Blackberry, HTC, Samsung ecc.

ii. MobiReady – Con questo, non solo possiamo testare la web app, possiamo anche controllare il codice.

iii. Responsivepx – Controlla le risposte delle pagine web, l’aspetto e la funzionalità dei siti web.

iv. Screenfly – È uno strumento personalizzabile e utilizzato per testare i siti web sotto diverse categorie.

3) Dopo che un livello soddisfacente di sviluppo è completo per l’applicazione mobile, si potrebbe passare al test sui dispositivi fisici per un test più basato su scenari reali.

4) Considerare il test basato sul cloud computing: Il cloud computing è fondamentalmente l’esecuzione di dispositivi su più sistemi o reti tramite Internet dove le applicazioni possono essere testate, aggiornate e gestite. Per scopi di test, crea l’ambiente mobile basato sul web su un simulatore per accedere all’applicazione mobile.

Pros:

  • Backup e recupero- Il cloud computing prende automaticamente il backup dei vostri dati da una posizione remota rendendo il recupero e il ripristino dei dati facilmente. Inoltre, la capacità di archiviazione è illimitata.
  • Si può accedere al cloud da diversi dispositivi e ovunque.
  • Il cloud computing è efficiente in termini di costi, facile da usare, mantenere e aggiornare.
  • Distribuzione rapida e veloce.
  • Interfaccia web-based.
  • Può eseguire lo stesso script su diversi dispositivi in parallelo.

Cons

  • Meno controllo- Poiché l’applicazione viene eseguita sull’ambiente remoto o di terze parti, l’utente ha un controllo limitato e l’accesso alle funzioni.
  • Problemi di connettività Internet- la configurazione è su Internet. I problemi di rete influenzano la disponibilità e il funzionamento.
  • Problemi di sicurezza e privacy- Il cloud computing è un computing su Internet e niente su Internet è completo e sicuro, quindi le possibilità di hacking dei dati sono maggiori.

5) Automazione vs. test manuale Test manuale

  • Se l’applicazione contiene nuove funzionalità, testatela manualmente.
  • Se l’applicazione richiede un test una o due volte, fatelo manualmente.
  • Automatizzate gli script per i test di regressione. Se i test di regressione vengono ripetuti, i test automatizzati sono perfetti per questo.
  • Automatizzare gli script per scenari complessi che richiedono molto tempo se eseguiti manualmente.

Sono disponibili due tipi di strumenti di automazione per testare le applicazioni mobili:

Strumenti di test mobili basati sugli oggetti- automazione attraverso la mappatura degli elementi sullo schermo del dispositivo in oggetti. Questo approccio è indipendente dalle dimensioni dello schermo e principalmente usato per i dispositivi Android.

  • Eg:- Ranorex, jamo solution

Strumenti di test mobile basati sulle immagini- creano script di automazione basati sulle coordinate dello schermo degli elementi.

  • Eg:- Sikuli, Egg Plant, RoutineBot

6) La configurazione della rete è anche la parte necessaria del test mobile. È importante convalidare l’applicazione su diverse reti come 2G, 3G, 4G o WIFI.

Casi di test per testare un’applicazione mobile

Oltre ai casi di test basati sulla funzionalità, il test delle applicazioni mobili richiede casi di test speciali che dovrebbero coprire i seguenti scenari.

  • Utilizzo della batteria – è importante tenere traccia del consumo della batteria durante l’esecuzione dell’applicazione sui dispositivi mobili.
  • La velocità dell’applicazione – il tempo di risposta su diversi dispositivi, con diversi parametri di memoria, con diversi tipi di rete ecc.
  • Requisiti di dati – per l’installazione e per verificare se l’utente con un piano dati limitato sarà in grado di scaricarlo.
  • Richiesta di memoria- ancora una volta, per scaricare, installare ed eseguire
  • La funzionalità dell’applicazione- assicurarsi che l’applicazione non vada in crash a causa di guasti di rete o altro.

Scaricare alcuni casi di prova campione per testare applicazioni mobili:

=> Scarica esempi di test per applicazioni mobili

Attività e procedimenti tipici del test di applicazioni mobili

Lo scopo del test dipende dal numero di requisiti da controllare o dall’entità delle modifiche apportate all’applicazione. Se i cambiamenti sono pochi, basterà un giro di sanity testing. In caso di cambiamenti importanti e/o complessi, si raccomanda una regressione completa.

Un esempio di progetto di test dell’applicazione: ILL (International Learn Lab) è un’applicazione progettata per aiutare amministratori, editori a creare siti web in collaborazione. Utilizzando un browser web, gli istruttori scelgono tra una serie di caratteristiche per creare una classe che soddisfi i loro requisiti.

Processo di test del mobile:

Passo #1. Identificare i tipi di test: Poiché un’applicazione ILL è applicabile ai browser, è obbligatorio testare questa applicazione su tutti i browser supportati utilizzando diversi dispositivi mobili. Abbiamo bisogno di fare test di usabilità, funzionali e di compatibilità su diversi browser con le combinazioni di casi di test manuali e di automazione.

Step #2. Test manuali e automatizzati: La metodologia seguita per questo progetto è Agile con l’iterazione di due settimane. Ogni due settimane il team di sviluppo rilascia una nuova build per il team di test e il team di test eseguirà i suoi casi di test nell’ambiente QA. Il team di automazione crea degli script per il set di funzionalità di base ed esegue gli script che aiutano a determinare se la nuova build è abbastanza stabile per il test. Il team di test manuale testerà la nuova funzionalità.

JIRA è usato per la scrittura dei criteri di accettazione; il mantenimento dei casi di test e la registrazione/riverifica dei difetti. Una volta che l’iterazione è finita, la riunione di pianificazione dell’iterazione si tiene dove dev. Il team, il proprietario del prodotto, il business analyst e il team QA discutono su cosa è andato bene e cosa deve migliorare.

Step #3. Test beta: Una volta che il test di regressione è completato dal team QA, la build si sposta in UAT. Il test di accettazione dell’utente è fatto dal cliente. Essi verificano nuovamente tutti i bug per assicurarsi che ogni bug sia stato risolto e che l’applicazione funzioni come previsto su ogni browser approvato.

Step #4. Test delle prestazioni: Il team di test delle prestazioni testa le prestazioni dell’applicazione web usando gli script JMeter e con diversi carichi sull’applicazione.

Step #5. Test del browser: La web app viene testata su più browser, sia utilizzando diversi strumenti di simulazione che fisicamente utilizzando dispositivi mobili reali.

Step #6. Piano di lancio: Dopo ogni 4 settimane, i test si spostano in staging, dove viene eseguito un ultimo giro di test end to end su questi dispositivi per assicurarsi che il prodotto sia pronto per la produzione. E poi, si va in diretta!

*****************************************

Come testare le applicazioni mobili sulle piattaforme Android e iOS

È molto importante per i tester che testano le loro applicazioni sulle piattaforme iOS e Android conoscere la differenza tra le due. iOS e Android hanno un sacco di differenze per quanto riguarda il look and feel, le viste delle applicazioni, gli standard di codifica, le prestazioni, ecc.

Differenza di base tra i test di Android e iOS

Potresti essere passato attraverso tutti i tutorial, ho messo qui alcune differenze principali, che a loro volta ti aiuteranno come parte dei tuoi test:

#1) Poiché abbiamo un sacco di dispositivi Android disponibili sul mercato e tutti loro vengono con diverse risoluzioni e dimensioni dello schermo, quindi questa è una delle principali differenze.

Per esempio, la dimensione del Samsung S2 è troppo piccola rispetto al Nexus 6. Ci sono alte possibilità che il layout e il design della vostra app vengano distorti su uno dei dispositivi. La probabilità è bassa in iOS in quanto ci sono solo dispositivi contati disponibili sul mercato e tra questi molti telefoni hanno risoluzioni simili.

Per esempio, prima che l’iPhone 6 e oltre venisse in esistenza tutte le versioni precedenti avevano solo dimensioni simili.

#2) Esempio per affermare il punto precedente è che in Android gli sviluppatori devono usare immagini 1x,2x,3x,4x e 5x per supportare le risoluzioni delle immagini per tutti i dispositivi mentre iOS usa solo 1x,2x e 3x. Tuttavia, diventa responsabilità del tester assicurarsi che le immagini e gli altri elementi dell’UI siano visualizzati correttamente su tutti i dispositivi.

Puoi fare riferimento al seguente diagramma per capire il concetto di risoluzione delle immagini:

#3) Poiché abbiamo il mercato inondato di dispositivi Android, il codice deve essere scritto in modo tale che la performance rimanga costante. Quindi, è molto probabile che la vostra applicazione possa comportarsi lentamente su dispositivi di fascia bassa.

#4) Un altro problema di Android è che gli aggiornamenti software non sono disponibili per tutti i dispositivi in un colpo solo. I produttori di dispositivi decidono quando aggiornare i loro dispositivi. Diventa un compito molto difficile testare tutto sia con il nuovo che con il vecchio sistema operativo.

Inoltre, diventa un compito ingombrante per gli sviluppatori modificare il loro codice per supportare entrambe le versioni.

Per esempio, quando è arrivato Android 6.0, c’è stato un grande cambiamento in quanto questo sistema operativo ha iniziato a supportare le autorizzazioni a livello di app. Per chiarire ulteriormente, l’utente poteva cambiare i permessi (posizione, contatti) anche a livello di app.

Ora il team di test ha la responsabilità di assicurarsi che mostrare la schermata dei permessi sul lancio dell’app su Android 6.0 e superiori e non mostrare la schermata dei permessi sulle versioni inferiori.

#5) Dalla prospettiva del test, il test della build di pre-produzione (cioè la versione beta) è diverso su entrambe le piattaforme. In Android, se un utente viene aggiunto alla lista degli utenti beta, allora può vedere la build beta aggiornata sul Play Store solo se ha effettuato l’accesso al Play Store con lo stesso ID e-mail che è stato aggiunto come utente beta.

Fattori chiave nel Mobile Testing

Ho lavorato nel Mobile Testing per gli ultimi 2 anni su entrambe le piattaforme iOS e Android e tutti i punti chiave menzionati di seguito in questo tutorial provengono dalla mia esperienza personale e alcuni sono derivati dai problemi incontrati nel progetto.

Definire il proprio scopo del Testing

Ognuno ha il proprio stile di testing. Alcuni tester si concentrano solo su ciò che vedono dai loro occhi e gli altri sono appassionati di tutto ciò che funziona dietro le scene di qualsiasi applicazione mobile.

Se sei un tester iOS/Android, ti suggerirei di familiarizzare almeno con alcune limitazioni comuni/funzionalità di base di Android o iOS perché aggiunge sempre valore al nostro stile di test. So che le cose sono difficili da capire senza citare esempi.

Di seguito sono riportati alcuni esempi:

  • Non possiamo cambiare i permessi come la fotocamera, lo stoccaggio ecc. a livello di app nei dispositivi Android che sono sotto la versione 6.0.1.
  • Per iOS sotto la versione 10.0, il kit di chiamata non era presente. Solo per riassumere in parole semplici, il kit di chiamata è utilizzato da un’app chiamante e visualizza la visualizzazione a schermo intero quando un utente sta ricevendo una chiamata dalle app chiamanti come WhatsApp, Skype ecc. Mentre per le versioni iOS inferiori alla 10.0 vediamo quelle chiamate come un banner di notifica.
  • Molti di voi potrebbero essersi imbattuti in problemi in Paytm dove la vostra app non vi sta reindirizzando alla pagina di pagamento della banca nel caso in cui vogliate aggiungere denaro al vostro portafoglio. Pensiamo che quanto sopra sia un problema con la nostra banca o il server Paytm, ma è solo che il nostro AndroidSystemWebView non è aggiornato. Un po’ di conoscenza della programmazione è sempre utile per te e da condividere con il tuo team.
  • In parole semplici, ogni volta che un’app apre una qualsiasi pagina web in essa, allora AndroidSystemWebView dovrebbe essere aggiornato.

Non limitare i tuoi test

I test non dovrebbero essere limitati solo all’esplorazione dell’app mobile e alla registrazione dei bug. Noi, come QA dovremmo essere consapevoli di tutte le richieste che colpiscono il nostro server e la risposta che ne ricaviamo.

Configura Putty per visualizzare i log o verificare la logica sumo per i log a seconda di ciò che viene utilizzato nel tuo progetto. Non solo ti aiuta a conoscere il flusso End-to-End dell’applicazione, ma ti rende anche un tester migliore, perché ora hai più idee e scenari.

La ragione: Niente viene al mondo senza una ragione. Qualsiasi affermazione dovrebbe avere una ragione valida dietro. La ragione dietro l’analisi dei log è che molte eccezioni sono osservate nei log, ma non mostrano alcun impatto sull’UI, quindi non lo notiamo.

Quindi, dovremmo ignorarlo?

No, non dovremmo. Non ha alcun impatto sull’interfaccia utente, ma può essere una preoccupazione futuristica. Potremmo potenzialmente vedere la nostra app andare in crash se questo tipo di eccezioni continuano ad insinuarsi. Come abbiamo accennato a App Crash nell’ultima frase, questo porta il QA ad avere accesso a crashlytics del progetto.

Crashlytics è uno strumento in cui i crash sono registrati insieme al tempo e al modello del dispositivo.

Ora la domanda qui è che se il tester ha visto crash di app allora perché ha bisogno di preoccuparsi di crashlytics?

La risposta a questo è abbastanza interessante. Ci sono alcuni crash che potrebbero non essere visibili sull’interfaccia utente ma sono registrati su crashlytics. Potrebbe essere un crash per mancanza di memoria o alcune eccezioni fatali che possono avere un impatto sulle prestazioni in seguito.

Test di interazione tra piattaforme

Il test di interazione tra piattaforme è molto importante.

Citando un semplice esempio, diciamo che stai lavorando su un’applicazione di chat come WhatsApp che supporta l’invio di immagini e video e l’applicazione è costruita su entrambe le piattaforme iOS e Android (lo sviluppo può o non può andare in sincronia)

Assicurati di testare la comunicazione di Android e iOS, la ragione è che iOS utilizza “Objective C” mentre la programmazione Android è basata su Java e a causa di entrambi essendo costruito su piattaforme diverse a volte correzioni extra devono essere fatte sul lato app per riconoscere le stringhe provenienti da piattaforme di lingua diversa.

Tenete d’occhio la dimensione della vostra app mobile

Un altro importante consiglio per i mobile tester – Continuate a controllare la dimensione della vostra app dopo ogni rilascio.

Dovremmo assicurarci che la dimensione dell’app non raggiunga un punto in cui anche noi, come utente finale, non desideriamo scaricare l’app a causa delle sue grandi dimensioni.

Testare gli scenari di aggiornamento delle app

Per i tester mobili, il test di aggiornamento delle app è molto importante. Assicurati che la tua app non vada in crash durante l’aggiornamento perché il team di sviluppo potrebbe aver fatto un errore di corrispondenza del numero di versione.

La conservazione dei dati è altrettanto importante in quanto qualsiasi preferenza che l’utente ha salvato nella versione precedente dovrebbe essere conservata quando aggiorna l’app.

Per esempio, un utente potrebbe aver salvato i dettagli della sua carta di credito in applicazioni come PayTm, ecc.

Il sistema operativo del dispositivo potrebbe non supportare l’app

Suona interessante?

Sì, molti dispositivi potrebbero non supportare la tua app. Molti di voi devono sapere che i venditori scrivono i propri wrapper sopra gli USA e potrebbe essere possibile che qualsiasi query SQL della vostra app non sia compatibile con il dispositivo e quindi lancia un’eccezione e potrebbe risultare nel non lanciare nemmeno l’app su quel telefono.

Il punto qui è – Provate a usare la vostra app sui vostri dispositivi tranne quelli che usate in ufficio. È abbastanza possibile che tu veda alcuni problemi con la tua app.

App Permission Testing

Successivo nella lista è il Permission Testing delle app mobili. Quasi un’app su due chiede ai suoi utenti l’accesso ai contatti del telefono, alla fotocamera, alla galleria, alla posizione ecc. Ho visto alcuni tester che commettono un errore non testando le combinazioni appropriate di questi permessi.

Ricordo un esempio in tempo reale quando stavamo testando un’app di chat che aveva tutte le caratteristiche di condivisione di immagini e file audio. L’autorizzazione per l’archiviazione era impostata su NO.

Ora, quando un utente cliccava sull’opzione Camera non si apriva mai finché l’autorizzazione per l’archiviazione non era impostata su YES. Lo scenario è stato ignorato in quanto Android Marshmallow aveva questa funzionalità che se il permesso di archiviazione è impostato su NO, la fotocamera non può essere utilizzata per quell’app.

Il campo di applicazione si estende oltre a quello che abbiamo discusso nel paragrafo precedente. Dovremmo assicurarci che l’app non chieda permessi che non vengono utilizzati.

Qualunque utente finale che abbia familiarità con l’industria del software potrebbe non scaricare l’app in cui vengono chiesti troppi permessi. Se hai rimosso qualsiasi funzione dalla tua app, allora assicurati di rimuovere la schermata dei permessi per la stessa.

Compara con le app simili e popolari nel mercato

Morale della storia – Se mai sei in dubbio, allora non concludere da solo. Il confronto con le altre applicazioni simili sulla stessa piattaforma può rafforzare la tua argomentazione sul fatto che la funzionalità sotto test funzionerà o meno.

Avere una visione d’insieme del criterio di rifiuto delle build di Apple

Infine, la maggior parte di voi potrebbe essersi imbattuta in situazioni in cui le vostre build sono state respinte da Apple. So che questo argomento non interesserà la maggior parte dei lettori, ma è sempre bene conoscere le politiche di rifiuto di Apple.

Come tester, diventa difficile per noi soddisfare gli aspetti tecnici, ma c’è ancora qualche criterio di rifiuto di cui i tester possono occuparsi.

Per maggiori informazioni su questo, clicca qui.

Stare sempre in prima linea

Essendo un tester, non lasciare che le cose passino alla tua corte dal Dev Team/ Manager. Se siete appassionati di test, allora “siate sempre in prima linea”. Cercate di impegnarvi in attività che si svolgono ben prima che il codice arrivi al vostro secchio per essere testato.

Più importante, continuate a guardare JIRA, QC, MTM o qualsiasi cosa sia usata nel vostro progetto per tutti gli ultimi aggiornamenti sui ticket dai clienti e dal Business Analyst. Inoltre, sii pronto a condividere le tue opinioni se hai bisogno di modifiche. Questo vale per tutti i tester che lavorano su vari domini e piattaforme.

Fino a quando e a meno che non sentiamo il prodotto come nostro, non dovremmo mai dare suggerimenti per nuovi miglioramenti o modifiche alla funzionalità esistente.

Mantieni la tua app in background per molto tempo (12-24 ore)

So che sembra strano ma c’è molta logica dietro le quinte che tutti noi non capiamo.

Lo condivido perché ho visto l’app andare in crash dopo il lancio, diciamo dopo circa 14 ore dallo stato di background. La ragione potrebbe essere qualsiasi cosa a seconda di come gli sviluppatori l’hanno codificata.

Lasciatemi condividere un esempio in tempo reale:

Nel mio caso la scadenza del token era la causa dietro. Una delle applicazioni di chat, se lanciata dopo 12-14 ore, si bloccava sul banner di connessione e non si connetteva mai finché non veniva chiusa e rilanciata. Questo tipo di cose sono molto difficili da catturare e, in un certo senso, rendono i test sui dispositivi mobili più impegnativi e creativi.

Test delle prestazioni della tua app

Nel mondo mobile, le prestazioni della tua app hanno un impatto sulla misura in cui la tua applicazione viene riconosciuta a livello mondiale. Come team di test, diventa troppo importante controllare la risposta della tua app e soprattutto come funziona quando un gran numero di utenti la utilizza tutti insieme.

Esempio:

Parliamo di PayTm.

Tutti voi dovete aver cliccato sull’opzione ADD MONEY nell’app PayTm, che poi visualizza il saldo che avete nel vostro portafoglio. Se consideriamo cosa sta succedendo dietro le quinte, allora si tratta di una richiesta che va al server con l’ID utente PayTm e il server rimanda indietro la risposta con il saldo nel vostro conto.

Il caso sopra è solo quando un utente ha colpito il server. Dobbiamo assicurarci che anche quando 1000 utenti colpiscono il server, essi dovrebbero ricevere indietro la risposta in tempo, perché l’usabilità dell’utente finale è il nostro obiettivo principale.

Conclusione

Vorrei concludere questo tutorial ribadendo che il test dei dispositivi mobili sembra essere molto facile all’inizio, ma man mano che si continua a scavare si capisce che non è facile garantire che qualsiasi cosa sviluppata funzioni senza problemi su migliaia di dispositivi in tutto il mondo.

Si vedono per lo più le applicazioni che sono supportate solo sulle ultime versioni del sistema operativo. Tuttavia, diventa dovere dei tester assicurarsi di non perdere alcuno scenario. Ci sono molti altri punti che devono essere presi in considerazione, ma non ho menzionato quelli già iterati negli altri tutorial.

Scenari come il consumo della batteria, test di interruzione, test su diverse reti (3G, Wi-Fi), test durante il cambio di rete, test di scimmie di applicazioni mobili, ecc sono tutti utili quando si tratta di test mobili.

L’atteggiamento dei tester conta molto quando si tratta del vero ambiente di test. Finché e a meno che non amiate il vostro lavoro non vi preoccuperete di fare le cose che sono menzionate nel tutorial.

Sono in questo campo da circa 6 anni e sono ben consapevole che i compiti diventano monotoni a volte, ma ci sono molte altre cose che possiamo fare da soli per rendere quei compiti monotoni un po’ interessanti.

Progettare la giusta strategia di test, scegliere i giusti simulatori mobili, i dispositivi e gli strumenti di test mobili può assicurarci di avere una copertura di test del 100% e aiutarci a includere test di sicurezza, usabilità, prestazioni, funzionalità e compatibilità nelle nostre suite di test.

Ebbene, questo è stato il nostro sforzo per soddisfare le molteplici richieste dei nostri lettori su una guida al test delle applicazioni mobili.

Autori: Grazie a Swapna, Hasnet, e molti altri esperti di testing mobile per averci aiutato a compilare questa serie!

Nel nostro prossimo articolo, discuteremo di più sul testing delle applicazioni iOS.

Ultimo aggiornamento: 18 Febbraio 2021

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.