Test mobile - Guida rapida
Prima di iniziare il tutorial vero e proprio, divertiamoci. Dai un'occhiata al seguente elenco. Puoi facilmente metterti in relazione con queste faccende essenziali che inevitabilmente dobbiamo affrontare nello stile di vita frenetico e frenetico di oggi -
Voglio pagare la bolletta della luce.
Devo comunicare con il mio responsabile e inviare urgentemente le mie segnalazioni.
Voglio comprare vestiti nuovi per mio figlio, ma non ho tempo per andare in un negozio.
Oh ... sono le 22:00; Sono in ritardo per il mio volo. Dov'è il mio taxi?
Sono stato in questa città per la prima volta; quale hotel prenotare?
Ora rispondi a te stesso. Di cosa hai bisogno per svolgere queste attività in una frazione di secondo? La risposta sarebbe:
- Uno smartphone,
- Connettività Internet e
- Un'app mobile per fare il lavoro.
Questo ci fa capire l'importanza di un'app mobile nell'era odierna. Tutto viene fatto in modo intelligente tramite il tuo smartphone. Ogni giorno veniamo a conoscenza del lancio di una nuova app o strumento per facilitare la nostra vita.
C'è un'incidenza ben nota su Gowalla. Milioni di persone hanno apprezzato questo social network basato sulla posizione, avviato nel 2007 e chiuso cinque anni dopo. Diversi problemi hanno impedito a Gowalla di raggiungere l'appello di massa. Uno dei motivi principali emersi è stato "Il check-in non è stato così facile da usare".
Per avere un'app mobile di successo, dobbiamo capire che lo sviluppo di una bella app mobile non è l'unico requisito. Un'app mobile deve essere testata a fondo per ottenere la simpatia degli utenti. Dopotutto, è l'esperienza dell'utente a rendere efficace qualsiasi software.
Prima di passare ai test mobili, è consigliabile comprendere le basi delle piattaforme mobili. Include principalmente il sistema operativo del cellulare, il tipo di dispositivo e il tipo di app mobile. Avere una conoscenza sufficiente di ciascuno di questi ci aiuterà a condurre una solida pianificazione dei test a lungo termine.
Sistemi operativi mobili
La tabella seguente offre una panoramica di alcuni dei più diffusi sistemi operativi mobili disponibili sul mercato:
Sistema operativo | Sviluppato da | Popolarità (bassa, media, alta) | Ultima versione disponibile |
---|---|---|---|
Android | Google inc | Alto | Lollipop, Android 5.0-5.1 |
iOS | la società Apple | Alto | iOS 8.X |
Blackberry | Blackberry Ltd | Basso | Blackberry 10.2.1 |
Windows | Microsoft Inc | medio | Windows 10 Mobile |
Symbian | Fondazione Symbian | Basso | Interrotto |
Sulla base di alcuni sondaggi generici, l'utilizzo di diversi sistemi operativi sul mercato può essere rappresentato come mostrato di seguito.
I dispositivi mobili sono in genere computer palmari. Hanno molte varianti in base alle loro caratteristiche come dimensione fisica, capacità hardware e software, a cosa sono destinate, ecc.
Dai un'occhiata alla seguente tabella. Differenzia tablet, lettori di e-book e smartphone in base alle loro caratteristiche.
Dispositivo | Compresse | Lettori di e-book | Smartphone |
---|---|---|---|
Cos'è | I tablet sono dispositivi di computer portatili. A differenza dei computer tradizionali, non hanno tastiere o mouse, tuttavia l'intero schermo è sensibile al tocco. | I lettori di e-book, chiamati anche e-reader, sono simili ai tablet, tranne per il fatto che sono progettati principalmente per la lettura di e-book (libri digitali scaricabili). | Uno smartphone è un potente telefono cellulare progettato per eseguire una varietà di applicazioni oltre a fornire servizi telefonici. |
Usato per | Quasi tutti i lavori che possiamo svolgere con computer o desktop tradizionali. | Leggere e-book | Navigazione sul Web, visione di video, lettura di e-book e giochi |
Esempio | Tablet Samsung | Amazon Kindle, Barnes & Noble Nook. | Smartphone Sony, smartphone Samsung, Apple iPhone. |
Un fattore critico da considerare durante la pianificazione dei test è il controllo del tipo di applicazione mobile. Ti imbatterai principalmente in tre tipi di applicazioni mobili: Web mobile, app nativa e app ibrida. La classificazione si basa sugli sforzi di sviluppo e sulla strategia di ridistribuzione delle app. Comprendiamo ciascuno di essi in dettaglio.
Web mobile
Le app Web non sono applicazioni reali; sono in realtà siti Web che si aprono nel tuo smartphone con l'aiuto di un browser web. I siti web per dispositivi mobili hanno il pubblico più ampio di tutti i principali tipi di applicazioni.
Example- Punto tutorial
Benefits -
Facile accesso.
Sviluppo facile: lo sviluppo di un design reattivo e la ristrutturazione del contenuto in modo che venga visualizzato correttamente su uno schermo / hardware più piccolo renderà qualsiasi sito Web desktop ottimizzato per i dispositivi mobili.
Aggiornamento facile: basta aggiornare in un'unica posizione e tutti gli utenti avranno automaticamente accesso all'ultima versione del sito.
Nessuna installazione richiesta, rispetto all'app nativa o ibrida.
Downside -
I siti web per dispositivi mobili non possono utilizzare alcune delle funzionalità. Ad esempio, l'accesso al file system e alle risorse locali non è disponibile nei siti Web.
Molti siti Web esistenti non supportano le funzionalità offline.
Gli utenti non avranno l'icona dell'app sulla schermata iniziale come promemoria costante. Il sito Web deve essere aperto solo in un browser Web.
Mentre le app native e ibride vengono visualizzate su App Store e Google Play, le app web no. Quindi la ridistribuzione non è così sensata.
App nativa
Un'app nativa è sviluppata specificamente per una piattaforma. Può essere installato tramite un app store (come Google Play Store o App Store di Apple).
Example - Whatsapp, Facebook.
Benefits -
Le app native risiedono sul dispositivo e sono accessibili tramite le icone nella schermata iniziale del dispositivo.
Possono sfruttare appieno tutte le funzionalità del dispositivo: possono utilizzare la fotocamera, il GPS, l'accelerometro, la bussola, l'elenco dei contatti e così via. Possono anche incorporare gesti (gesti standard del sistema operativo o gesti nuovi e definiti dall'app).
Le app native possono utilizzare il sistema di notifica del dispositivo e possono funzionare offline.
Gli editori possono utilizzare le notifiche push, avvisando gli utenti ogni volta che viene pubblicato un nuovo contenuto o quando è richiesta la loro attenzione.
Le app native mantengono il design dell'interfaccia utente di ciascun sistema operativo, quindi offrono la migliore esperienza utente. Ad esempio, un'app nativa può avere un'intestazione allineata a sinistra in Android e un'intestazione allineata al centro in iOS.
La ridistribuzione è semplice, poiché si trova nell'app store.
Downside -
Costo elevato per la creazione dell'app: le app native sviluppate per una piattaforma non verranno eseguite su un'altra piattaforma. Un'app creata per Android non funzionerà su iOS. Dobbiamo creare un'app completamente diversa per iOS. Per questo motivo, dobbiamo mantenere più versioni dell'app.
Anche se potresti pubblicare app native, ti consigliamo di mantenere il sito web per dispositivi mobili ben mantenuto, poiché i dispositivi mobili portano più traffico. Quindi la manutenzione è maggiore.
App ibrida
Le app ibride sono un modo per esporre contenuti da siti Web esistenti in formato app. Possono essere ben descritti come un misto di Web App e Native App.
Example - Instagram, Wikipedia.
Benefits -
Lo sviluppo di un'app ibrida è più economico rispetto allo sviluppo di un'app nativa. Può essere costruito per multipiattaforma, ovvero costi ridotti per lo sviluppo di app.
La manutenzione è semplice, poiché non ci sono molte versioni da mantenere.
Può sfruttare alcune funzionalità disponibili nel dispositivo.
Può essere trovato nell'App Store, il che semplifica la distribuzione.
Ha un browser incorporato solo nell'app.
Downside -
La grafica è meno abituata al sistema operativo rispetto alle app native.
Le app ibride sono più lente delle app native.
Test del dispositivo
Questo tipo di test viene generalmente eseguito per garantire la qualità di un dispositivo mobile. I test includono test hardware e software per un cellulare. Discuteremo qui i diversi tipi di test che vengono generalmente effettuati su dispositivi mobili.
Test unitario
Il test unitario è una fase di test in cui vengono testate parti dello sviluppo di un dispositivo mobile, in genere dallo sviluppatore. Può contenere test hardware, test software e test meccanici.
Test di fabbrica
I test di fabbrica sono una sorta di controllo dell'integrità sui dispositivi mobili. Viene condotto automaticamente per verificare che non vi siano difetti causati dalla fabbricazione o dal montaggio. Include principalmente i seguenti test:
- Test di applicazioni mobili
- Test hardware
- Test della batteria (in carica)
- Ricezione del segnale
- Test di rete
- Test del protocollo
- Test di giochi per cellulari
- Test di compatibilità del software mobile
Test di certificazione
Il test di certificazione è il controllo prima che un dispositivo mobile vada sul mercato.
Test dell'applicazione
Il test delle applicazioni mobili è un processo mediante il quale un'applicazione, un software sviluppato per dispositivi mobili palmari viene testata per la sua funzionalità, usabilità e coerenza. Esistono diversi tipi di test che possono essere eseguiti su un dispositivo mobile. Per esempio,
- Test funzionali
- Test di laboratorio
- Test delle prestazioni
- Test di perdita di memoria
- Interrompere il test
- Test di usabilità
- Test di installazione
- Test di certificazione
- Test di sicurezza
Punti chiave
Il test del dispositivo viene generalmente eseguito per controllare il dispositivo mobile stesso, mentre il test dell'applicazione mobile comporta il test di un'applicazione che verrà eseguita sul dispositivo scelto.
Quando lo chiamiamo test del dispositivo, il test dell'hardware ne diventa una parte. In caso di test dell'applicazione mobile, dipende, cioè, se l'applicazione sottoposta a test richiede l'integrazione dell'hardware, sarà coinvolto il test dell'hardware.
L'automazione è possibile sia per il test dei dispositivi mobili che per il test delle applicazioni mobili.
Una cosa è autoesplicativa in caso di test mobile. Per eseguire test mobili, è necessario un dispositivo mobile. Questo è per accedere al modo in cui il nostro prodotto funzionerà e apparirà su un determinato set mobile.
Supponiamo di sviluppare un'applicazione per il sistema di prenotazione dei biglietti aerei. Una volta che il prodotto è stato completamente sviluppato, come parte del test mobile, dobbiamo verificare se l'applicazione funziona come previsto con tutti i dispositivi maggiormente utilizzati come telefoni Android, iOS, telefoni Blackberry e altri diversi tipi di tablet e iPad.
Per fare questo tipo di controllo, dobbiamo acquisire ciascuno di questi dispositivi e quindi possiamo verificare se l'applicazione si comporta come previsto. Sì, hai pensato bene, in quanto proprietario di un prodotto uno troverà con aria di sfida molto costoso procurarsi un numero così elevato di dispositivi mobili ed eseguire test. Quindi esiste un'alternativa intelligente disponibile?
La soluzione a questo problema è utilizzare simulatori mobili ed emulatori mobili. Si tratta principalmente di programmi software progettati per fornire la simulazione di importanti funzionalità di uno smartphone. Sono di natura molto simile, quindi a volte sono usati in modo intercambiabile.
Confrontiamo come il test su un emulatore / simulatore è diverso dal test su un dispositivo reale -
Dispositivo reale | Emulatore / Simulatore | |
---|---|---|
Prezzo | Ottenere dispositivi reali ti costerà molto. | È quasi gratuito, dobbiamo solo scaricarli e installarli |
Velocità di elaborazione | Ha un'elaborazione più rapida; tuttavia la latenza di rete potrebbe essere normale. | È più lento rispetto ai dispositivi reali. Ha osservato una latenza inferiore rispetto ai dispositivi reali connessi alla rete locale o nel cloud. |
Debug | Il debug non è così facile. | Fornisce il debug passo passo di un'applicazione. Inoltre, fornisce un modo efficiente per acquisire schermate. |
Test delle app Web | Le applicazioni Web possono essere testate in modo normale. | Testare un'applicazione web è molto più semplice. |
Affidabilità | Il test su un dispositivo reale ha il grande vantaggio di fornire sempre risultati accurati. | Non può simulare tutti i tipi di interazioni dell'utente; quindi a volte può portare a risultati falsi. Quindi ottiene un punteggio basso quando si tratta di affidabilità. |
Un simulatore / emulatore non può imitare le seguenti caratteristiche:
- Batteria del dispositivo mobile
- Fotocamera del dispositivo mobile
- Difficile imitare interruzioni come chiamate in arrivo e SMS.
- Non tanto la simulazione realistica per l'utilizzo della memoria del dispositivo mobile.
Vediamo ora di saperne di più sui simulatori di dispositivi mobili e sugli emulatori di dispositivi mobili. Ci sono differenze specifiche tra i due. La tabella seguente elenca la principale differenza tra un simulatore e un emulatore.
Emulatore | Simulatore | |
---|---|---|
Ciò che imita | Software per dispositivi mobili Hardware del dispositivo mobile Sistema operativo mobile |
Comportamento interno del dispositivo. Non imita l'hardware. |
Come ottenerlo | Viene generalmente fornito dal produttore del dispositivo. | Viene generalmente fornito dal produttore del dispositivo o da qualche altra azienda. |
Struttura interna | È scritto in linguaggio assembly a livello di macchina. | È scritto in un linguaggio di alto livello. |
Debug | È più adatto per il debug. | Non è adatto per scopi di debug. |
Prestazione | Gli emulatori sono molto lenti. L'emulazione dell'hardware effettivo di solito rende il software più lento di quanto farebbe in modo nativo. | Più veloce degli emulatori. |
Esempio | SDK Android di Google | Simulatore iOS di Apple |
Allora, qual è la scelta migliore per i test mobili? Le migliori pratiche indicano che, mentre è in corso lo sviluppo effettivo, dovremmo usare un emulatore o un simulatore. Prima di finalizzare il prodotto, ci dovrebbe essere un controllo di integrità con i dispositivi reali scelti. Ad esempio, esiste un numero enorme di utenti di smartphone Android, quindi la scelta intelligente è quella di avere un controllo di integrità per l'ultimo dispositivo Android e la regressione può essere condotta sui simulatori.
Una semplice definizione di test di applicazioni mobili sarebbe questa "Mobile application testing è un processo mediante il quale un file application softwaresviluppato per dispositivi mobili palmari viene testato per la sua funzionalità, usabilità e coerenza. Il test delle applicazioni mobili può essere di tipo automatizzato o manuale. "
Note - Per una migliore comprensione, supporremo che stiamo testando un'applicazione mobile per il sistema di prenotazione di biglietti aerei online.
Test funzionali
Il test funzionale è il test di base per qualsiasi applicazione per garantire che funzioni secondo i requisiti definiti. Analogamente ad altre applicazioni basate sull'interfaccia utente, le applicazioni mobili richiedono una serie di interazioni umane negli scenari utente.
Esempi di scenari di test -
Verificare che la disponibilità del volo sia visualizzata per una destinazione di origine scelta solo in una data selezionata.
Verifica che le date passate non siano incluse nei risultati della ricerca.
Test di compatibilità
I test di compatibilità hanno lo stack più alto quando si tratta di test di applicazioni mobili. Lo scopo di un test di compatibilità delle app mobili, in generale, è garantire che le funzioni chiave di un'app si comportino come previsto su un dispositivo specifico. La compatibilità stessa dovrebbe richiedere solo pochi minuti e può essere pianificata con largo anticipo.
Non sarà un compito facile, decidere su quali test di compatibilità dei dispositivi mobili devono essere eseguiti (poiché testare con tutti i dispositivi disponibili è semplicemente impossibile). Quindi prepara una matrice di test con ogni possibile combinazione e falla dare la priorità al cliente.
Esempi di scenari di test -
- Verifica che la ricerca del volo venga eseguita correttamente con il dispositivo Android.
- Verifica che la ricerca del volo sia stata eseguita correttamente per Apple iPad.
Test di localizzazione
Al giorno d'oggi, la maggior parte delle app sono progettate per l'uso globale ed è molto importante prendersi cura dei percorsi regionali come lingue, fusi orari, ecc. È importante convalidare la funzionalità dell'app quando qualcuno cambia il fuso orario. Va tenuto presente che a volte i design occidentali potrebbero non funzionare con il pubblico dei paesi orientali o viceversa.
Esempi di scenari di test -
Verifica che non vi siano problemi di interfaccia utente o di troncamento dei dati quando utilizziamo l'app mobile con lingue diverse (o, ad esempio, lingua diversa dall'inglese).
Verifica che le modifiche al fuso orario siano gestite correttamente per la tua applicazione mobile.
Test di laboratorio
I test di laboratorio, solitamente eseguiti dai vettori di rete, vengono eseguiti simulando l'intera rete wireless. Questo test viene eseguito per rilevare eventuali anomalie quando un'applicazione mobile utilizza la connessione vocale e / o dati per eseguire alcune funzioni.
Esempi di scenari di test -
Verifica che non ci siano problemi mentre un cliente sta chattando con il personale di supporto.
Test delle prestazioni
Il test delle prestazioni mobili copre le prestazioni dell'applicazione client, le prestazioni del server e le prestazioni della rete. È importante assicurarsi che gli scenari di test delle prestazioni coprano tutte queste aree. Con l'aiuto di strumenti di test delle prestazioni, non è difficile identificare le reti esistenti, i server e i colli di bottiglia delle applicazioni lato server, dati i carichi predefiniti e il mix di transazioni.
Esempi di scenari di test -
Verificare che il controllo del volo disponibile richieda solo una quantità di tempo ragionevole.
Verificare che durante la verifica della disponibilità del volo, il cellulare funzioni normalmente e non si blocchi.
Stress Testing
Lo stress test è un must per trovare eccezioni, blocchi e deadlock che potrebbero passare inosservati durante i test funzionali e dell'interfaccia utente. Ecco un elenco di alcuni dei criteri per le prove di stress:
Carica la tua applicazione con quanti più dati possibile per cercare di raggiungere il suo punto di rottura.
Eseguire le stesse operazioni più e più volte.
Eseguire le operazioni ripetute a velocità variabili, molto rapidamente o molto lentamente.
Lascia la tua applicazione in esecuzione per un lungo periodo di tempo, sia interagendo con il dispositivo sia lasciandolo inattivo o eseguendo un'attività automatica che richiede molto tempo, ad esempio una presentazione.
Invia casualmente tocchi dello schermo e sequenze di tasti all'applicazione.
Avere più applicazioni in esecuzione sul dispositivo in modo da poter passare spesso dall'applicazione ad altre applicazioni del dispositivo.
Esempi di scenari di test -
- Verifica che 1000 utenti accedano all'app mobile per cercare voli nazionali.
- Verifica che 1000 utenti accedano all'app mobile per cercare voli nazionali.
Test di sicurezza
Le vulnerabilità alla pirateria informatica, all'autenticazione e ai criteri di autorizzazione, alla sicurezza dei dati, alla gestione delle sessioni e ad altri standard di sicurezza dovrebbero essere verificate nell'ambito dei test di sicurezza delle app mobili. Le applicazioni dovrebbero crittografare il nome utente e le password durante l'autenticazione dell'utente su una rete.
Un modo per testare gli scenari relativi alla sicurezza è instradare i dati del tuo cellulare attraverso un server proxy come OWASP Zed Attack Proxy e cercare le vulnerabilità.
Esempi di scenari di test -
Verificare che l'applicazione non venga utilizzata con le stesse credenziali utente su due diversi dispositivi mobili.
Verifica che una sessione scada automaticamente se rimane inattiva per più di 15 minuti.
Test di perdita di memoria
I dispositivi mobili hanno una memoria molto limitata rispetto ad altri computer ei sistemi operativi mobili hanno un comportamento predefinito per terminare le applicazioni che utilizzano una memoria eccessiva e causano un'esperienza utente scadente.
Il test della memoria è estremamente importante per le applicazioni mobili per garantire che ogni applicazione mantenga un utilizzo della memoria ottimizzato durante tutto il percorso dell'utente. Si consiglia di condurre test di memoria sul dispositivo di destinazione effettivo, poiché l'architettura del sistema è diversa da un emulatore a un dispositivo reale.
Esempi di scenari di test -
Esegui dieci controlli di disponibilità del volo e annota l'aumento dell'utilizzo della memoria per ogni controllo.
Mantieni l'applicazione in esecuzione per dieci minuti e osserva se l'utilizzo della memoria rimane stabile.
Test del consumo energetico
Esistono diversi tipi di batterie utilizzate in diversi dispositivi mobili (es. Nichel cadmio / ioni di litio / ibrido metallo nichel). Mentre ci concentriamo sui test del consumo energetico, siamo tenuti a misurare lo stato della batteria a ogni livello di attività. Ci darà una migliore comprensione del consumo di energia da una singola applicazione.
Il test del consumo energetico può essere eseguito manualmente; inoltre ci sono alcuni strumenti gratuiti disponibili sul mercato come Trepn Profiler, Power Tutor e Nokia Energy Profiler. Si tratta di applicazioni in grado di visualizzare il consumo energetico in tempo reale su uno smartphone o un tablet.
Esempi di scenari di test -
Utilizza l'app per dispositivi mobili per cercare la disponibilità dei voli e verifica che il consumo energetico rimanga minimo.
Mantieni l'app mobile in condizioni ideali; verificare che non vi sia consumo di energia quando non sono in corso attività per l'app.
Interrompere il test
Un'applicazione, mentre funziona, può subire diverse interruzioni come chiamate in arrivo o interruzione e ripristino della copertura di rete. Questo può ancora essere distinto per:
- SMS e MMS in entrata e in uscita
- Chiamate in entrata e in uscita
- Notifiche in arrivo
- Rimozione della batteria
- Inserimento e rimozione dei cavi per il trasferimento dei dati
Esempi di scenari di test -
Verificare che il controllo della disponibilità del volo venga sospeso e ripreso dopo aver ricevuto una chiamata in arrivo.
Verificare che l'utente possa rifiutare una chiamata durante l'utilizzo dell'App e successivamente riprendere la stessa App.
Test di usabilità
Il test di usabilità valuta l'applicazione in base ai seguenti tre criteri per il pubblico di destinazione:
Efficiency - L'accuratezza e la completezza con cui utenti specificati possono raggiungere obiettivi specifici in un particolare ambiente.
Effectiveness - Le risorse spese in relazione alla correttezza e completezza degli obiettivi raggiunti.
Satisfaction - Il comfort e l'accettabilità del sistema di lavoro per i suoi utenti e le altre persone interessate dal suo utilizzo.
È molto importante eseguire il test di usabilità sin dalle prime fasi della progettazione dell'applicazione e non dovrebbe essere eseguito solo quando l'applicazione è stata completata. I test di usabilità richiedono un forte coinvolgimento degli utenti e l'output potrebbe influire sulla progettazione dell'applicazione, che è molto difficile da modificare nelle fasi successive del progetto.
Esempi di scenari di test -
- Il controllo della disponibilità del volo dovrebbe essere sulla home page.
- L'annuncio sponsorizzato non deve essere visualizzato al centro del contenuto.
Test di installazione
Il test di installazione verifica che il processo di installazione proceda senza intoppi senza che l'utente debba affrontare alcuna difficoltà.
Esempi di scenari di test -
- Verificare che il processo di installazione sia fluido e non richieda molto tempo.
- Verifica che l'installazione abbia esito positivo tramite l'app store aziendale.
Test di disinstallazione
Le basi del test di disinstallazione possono essere riassunte in una riga come "La disinstallazione dovrebbe eliminare i dati relativi all'App in una sola volta".
Esempi di scenari di test -
Verificare che tutti i file relativi all'applicazione vengano rimossi correttamente dopo la disinstallazione.
Se si tratta di un'app che archivia file multimediali (come Whatsapp o Facebook), conserva i file anche dopo la disinstallazione dell'app.
Test degli aggiornamenti
Dobbiamo essere molto cauti riguardo agli aggiornamenti delle app mobili. Le persone spesso si lamentano delle applicazioni che non funzionano in modo soddisfacente dopo un aggiornamento. Quindi è molto importante che durante il test di aggiornamento, qualifichiamo che l'app funzionerà come funzionava in precedenza. In poche parole, non dovrebbe rompere nulla. Gli aggiornamenti delle applicazioni mobili possono avvenire in due modi:Automatic update e Manual update.
Esempi di scenari di test -
- Verificare che l'applicazione funzioni correttamente dopo l'aggiornamento automatico.
- Verificare che l'avanzamento dell'aggiornamento sia visualizzato correttamente.
Test di certificazione
Per ottenere un certificato di conformità, ogni dispositivo mobile deve essere testato rispetto alle linee guida stabilite dalle diverse piattaforme mobili.
Esempi di scenari di test -
Verifica che l'applicazione rispetti i criteri dei telefoni iOS quando installata su iPhone.
Verifica che l'applicazione rispetti i criteri dei telefoni Android quando installata su Android.
Supponiamo di utilizzare un'applicazione mobile e, cosa interessante, si verifica la seguente situazione:
- Manca l'allineamento dei pulsanti.
- Il testo viene tagliato.
- Il controllo del calendario sta per essere interrotto.
In effetti questa è un'esperienza spiacevole per qualsiasi utente. Per assicurarci di fornire un'esperienza eccellente ai nostri utenti, il test dell'interfaccia utente mobile è altamente raccomandato.
La prima area da esplorare nel tuo piano di test è l'interfaccia utente. È tuo compito come tester confermare che la tua applicazione soddisfa determinate aspettative, come:
- Combinazione di colori / tema generale del dispositivo
- Stile e colore delle icone
- Indicatori di avanzamento durante il caricamento delle pagine
- Menu e come vengono richiamati e gli elementi tipici che contengono
- Reattività complessiva delle applicazioni su questo dispositivo
Discutiamo di più sulle basi del test dell'interfaccia utente mobile.
Orientamento / risoluzione dello schermo
I contenuti Web devono avere un aspetto e una sensazione ottimali su un'ampia varietà di dispositivi e condizioni di rete. In genere è una buona idea testare la tua pagina web con le risoluzioni dello schermo comunemente utilizzate in modo da essere sicuro che la tua pagina sia utilizzabile.
Se hai un layout a più colonne, potresti anche voler controllare che le tue colonne siano allineate correttamente e siano ancora visualizzabili quando il tuo visitatore ha una risoluzione inferiore. È anche importante conoscere le risoluzioni dello schermo standard:
- 640 × 480
- 800 × 600
- 1024 × 768
- 1280 × 800
- 1366 × 768
- 1400 × 900
- 1680 × 1050
Strumenti disponibili
Ci sono parecchi strumenti disponibili sul mercato per rendere il test dell'interfaccia utente mobile più fluido e semplice. Ad esempio:
- Estensione di Google Chrome
- Screenfly
- Stack del browser
Comprendiamo un po 'di più su questi strumenti e sulla loro utilità.
Estensione di Google Chrome
È una funzionalità gratuita disponibile con il browser Web Google Chrome. Abbiamo fornito qui una spiegazione dettagliata di come testare il Web mobile con l'estensione di Google Chrome -
Step 1 - Aprire il sito Web in prova in "browser Web Google Chrome".
Step 2- Premi F12. Si aprirà la finestra degli strumenti per sviluppatori, come mostrato nello screenshot seguente.
Step 3- Fare clic sull'icona del dispositivo mobile come. Fare riferimento alla seguente schermata.
Step 4- Seleziona il dispositivo mobile con cui desideri testare il sito web. Puoi scegliere i diversi dispositivi disponibili per eseguire la verifica dell'interfaccia utente.
Screenfly
Screenfly è uno strumento gratuito e facile da usare. Per usarlo, devi solo digitare Quirktools nel tuo browser web. Vedrai la seguente schermata.
Accedi al sito web in prova e fai clic su Go. Seleziona il dispositivo mobile in cui desideri visualizzare il sito web.
BrowserStack
È un altro ottimo strumento per eseguire test dell'interfaccia utente mobile. Fornisce risultati meravigliosi. Sebbene sia uno strumento a pagamento, puoi usufruire di un percorso gratuito registrandoti su BrowserStack con un indirizzo email valido.
Touch Screen
Schermi multi-touch e single-touch
Se il dispositivo e l'applicazione supportano le funzionalità multi-touch, come l'effetto pinch-to-zoom su iPhone, assicurati di includere molti casi di test che coinvolgono il tocco dello schermo in più di un punto contemporaneamente, specialmente durante la digitazione sulla tastiera morbida.
Tocco lungo vs tocco breve
Sebbene non esista il concetto di doppio clic sui dispositivi touch screen (sebbene potrebbe esserci, se implementato specificamente nella tua applicazione), alcuni dispositivi, come gli smartphone Android, distinguono tra tocchi lunghi e tocchi brevi. Premendo e tenendo premuto un elemento verrà visualizzato un menu contestuale al centro dello schermo, mentre un breve clic sullo stesso elemento eseguirà automaticamente la prima azione in quel menu contestuale.
Dimensioni e posizione dei pulsanti
Assicurati che i pulsanti e le icone siano abbastanza grandi e sufficientemente lontani dai bordi dello schermo per essere facilmente cliccati con un grande dito.
Tasti morbidi e duri
Tastiere morbide
Spesso ci sono vari casi speciali e casi d'angolo che sono importanti per gli utenti finali.
La tastiera virtuale viene visualizzata automaticamente se l'azione principale dell'utente è inserire del testo?
Il primo livello della tastiera virtuale include i tasti di scelta rapida "@" e ".com" se il campo evidenziato è per l'immissione di indirizzi e-mail?
È possibile chiudere e visualizzare nuovamente la tastiera virtuale facilmente?
Le tastiere soft e hard possono essere usate in modo intercambiabile (se il dispositivo le ha entrambe)?
Tasti duri
Assicurati di includere molti test sull'uso dei tasti rigidi disponibili del dispositivo come Start, Home, Menu e Indietro. Tutti dovrebbero interagire con la tua applicazione in modo simile a come interagiscono con le applicazioni native del dispositivo.
Trackball, rotelline e touchpad
Se il tuo dispositivo non ha un touch screen, è ancora più importante verificare che la navigazione sullo schermo sia il più indolore possibile per l'utente. In questi casi, l'utente può fare affidamento su una trackball, una rotellina o un touchpad per spostarsi da un oggetto all'altro.
Il test di dispositivi mobili come telefoni, tablet ed eReader richiede attrezzature e metodologie speciali. Poiché il tradizionale software di cattura dello schermo desktop non è in grado di acquisire adeguatamente le interazioni tattili, i professionisti dell'usabilità hanno utilizzato telecamere posizionate strategicamente per registrare le interazioni dei test di usabilità su questi dispositivi mobili.
Preparazione per eseguire il test del dispositivo mobile
Le metodologie e i dispositivi per facilitare i test di usabilità su telefoni, tablet ed eReader continuano a svilupparsi. Quando si pianifica il test dei dispositivi mobili, tenere presente i seguenti punti:
Your timeframe and budget. Avere una buona comprensione dei tempi e del budget ti aiuterà a determinare quali processi e apparecchiature funzioneranno meglio in base alle tue esigenze.
The physical setup of the space and how you will capture the test. Ciò può variare da una disposizione a bassa fedeltà all'utilizzo di una piattaforma specializzata e di un dispositivo fotocamera e / o forse utilizzando un software di tracciamento oculare.
Your target audience and devices.Utilizza l'analisi dei dati web per verificare quanti utenti mobili visitano il sito, quale dispositivo utilizzano e il loro sistema operativo. La comprensione di queste informazioni ti aiuterà a sapere quali dispositivi testare.
Un altro aspetto importante da coprire dopo la pianificazione del test è test device management. In una grande organizzazione, la gestione dei test sui dispositivi mobili richiede un modo intelligente per proteggere i dati riservati dell'organizzazione. Per fare ciò, avrai bisogno di un software di sicurezza. Nella sezione seguente, vedremo di più sugli strumenti di gestione dei dispositivi.
Strumenti di gestione dei dispositivi
La gestione dei dispositivi mobili (MDM) è un tipo di software di sicurezza utilizzato nell'IT per monitorare, gestire e proteggere i dispositivi mobili dei dipendenti che vengono distribuiti su più fornitori di servizi mobili e su più sistemi operativi mobili utilizzati nell'organizzazione.
MDM è spesso combinato con servizi e strumenti di sicurezza aggiuntivi come Mobile Application Management per creare un dispositivo mobile completo e una soluzione di sicurezza Enterprise Mobility Management.
Ci sono molti strumenti disponibili sul mercato per fare questo lavoro. La tabella seguente fornisce una panoramica di alcuni degli strumenti più diffusi e delle loro funzionalità.
Prodotti | BlackBerry MDM | Citrix MDM | Dell MDM | IBM MDM | MobileIron MDM | SOTI MDM |
---|---|---|---|---|---|---|
Android | 2.3+ | sì | sì | sì | 2.3 attraverso la corrente | sì |
iOS | 5.0+ | sì | sì | sì | 4.0 fino alla corrente | sì |
Windows Phone | No per BES10 (WP 8+ per BES12) | sì | sì | sì | 7 attraverso la corrente | sì |
Mora | Sì, BBOS, BlackBerry 10 | sì | No | sì | 10 (tramite ActiveSync) | No |
Symbian | No | sì | No | sì | No | No |
Sistema operativo Windows | No | sì | sì | sì | 8.1 RT / Pro | No |
Mac OSX | No | Prossimamente | sì | sì | Leone, leone di montagna | sì |
Altro | No | Windows Mobile | Nessuna | Office 365, Gmail, Lotus | Nessuna | Windows Mobile, CE, integrato |
Configura / disabilita WiFi | sì | sì | sì | sì | sì | sì |
Crittografia del dispositivo | sì | sì | Sì, dipende dal tipo di dispositivo | sì | sì | sì |
Crittografia e-mail | sì | sì | Sì, dipende dal tipo di dispositivo | sì | sì | sì |
Autenticazione a più fattori | sì | sì | No | sì | sì | sì |
Rilevamento di malware | No | No | No | sì | Sì con l'integrazione dei partner | sì |
Firewall | sì | No | No | sì | Sì con l'integrazione dei partner | sì |
Separare i dati utente dai dati aziendali | sì | sì | sì | sì | sì | sì |
Prima di procedere con i test effettivi dei dispositivi mobili, è molto importante avere una panoramica dell'architettura hardware del dispositivo mobile. Questo ci aiuterà a pianificare meglio i test quando passeremo effettivamente al test di applicazioni per dispositivi mobili / dispositivi mobili. Diamo un'occhiata alle diverse caratteristiche dell'hardware del dispositivo mobile.
Componenti hardware
Se prendi un cellulare, per lo più comprenderà le seguenti parti.
Scheda di circuito
Può essere considerato come il cervello del telefono che controlla tutte le sue attività.
Display touch screen
I touchscreen sono una componente vitale degli smartphone. I touchscreen riconoscono dove sullo schermo hai posizionato il dito o lo stilo e comunicano le coordinate alla CPU del telefono di conseguenza.
Esistono due tipi popolari di touchscreen:
Resistive Touchscreen- Ha due strati (separati da un minuscolo spazio) che formano una sovrapposizione sullo schermo. Quando un dito viene posizionato su un punto qualsiasi dello schermo, i due formano un contatto e si ottengono le coordinate. Questi sono relativamente economici e si trovano giustamente sulla maggior parte dei telefoni economici. Lo svantaggio è che è necessaria una certa pressione per registrare un tocco. Con il passare del tempo, si verifica un certo grado di danno allo schermo.
Capacitive Touchscreen- Ha l'intero schermo rivestito con una sostanza capacitiva che trattiene una certa quantità di carica elettrica. Quando un oggetto conduttore come un dito viene posizionato sullo schermo, c'è un cambiamento di capacità su quel punto e quindi si ottengono le coordinate. I touchscreen capacitivi non rispondono bene nei climi freddi in cui il dito umano non causa un cambiamento di capacità, quindi uno stilo è consigliato per tali scenari. Poi ci sonomulti-touch touchscreensin cui quasi tutte le dita possono essere individuate con precisione. Ciò ha portato ad un aumento del numero di gesti che è possibile eseguire su un touchscreen.
Scheda di memoria
Le schede di memoria sono disponibili in diverse dimensioni e capacità. Sono ampiamente utilizzati come dispositivo di archiviazione dati per archiviare informazioni digitali.
Carta SIM
Una carta SIM fornisce mobilità personale in modo che l'utente possa avere accesso a tutti i servizi sottoscritti indipendentemente dalla posizione del terminale e dall'uso di un terminale specifico. È necessario inserire la scheda SIM in un altro telefono cellulare GSM per ricevere chiamate su quel telefono, effettuare chiamate da quel telefono o ricevere altri servizi sottoscritti.
Batteria
Gli smartphone funzionano con una varietà di batterie diverse a seconda del produttore del telefono, delle sue dimensioni e caratteristiche. Per coloro che dipendono fortemente dai propri smartphone, è importante che le batterie durino il più possibile. Ciò elimina la necessità di ricaricarli frequentemente e rende meno probabile che si scarichino quando sono più necessari.
UDID per iOS
Ogni iPhone o iPod Touch dispone di un identificatore univoco del dispositivo (UDID), che è una sequenza di 40 lettere e numeri specifica per il tuo dispositivo. È come un numero di serie ma molto più difficile da indovinare. Assomiglierà a questo: 2b6f0cc904d137be2e1730235f5664094b831186.
Come trovare l'UUID?
- Collega il tuo dispositivo iOS al computer.
- Apri iTunes.
- In iTunes, fai clic sul nome del dispositivo sotto "Dispositivi" nella colonna a sinistra.
- Fare clic una volta sul numero di serie del dispositivo nella sezione principale della finestra.
- Il numero di serie dovrebbe quindi cambiare nell'UDID del dispositivo.
Profilo di fornitura per iOS
Un profilo di provisioning è una raccolta di entità digitali che lega in modo univoco sviluppatori e dispositivi a un team di sviluppo iPhone autorizzato e consente di utilizzare un dispositivo per i test. È necessario installare un profilo di provisioning di sviluppo su ogni dispositivo su cui si desidera eseguire il codice dell'applicazione.
Come creare un profilo di fornitura per iOS?
Esegui Google Chrome, Mozilla Firefox o Safari.
In iOS Dev. Al centro, fai clic su Certificati, identificatori e profili.
Nel pannello App iOS, fai clic su Profili di provisioning.
Fare clic su +.
Seleziona Sviluppo app iOS e fai clic su Continua.
Seleziona un ID app da associare al profilo di provisioning e fai clic su Continua.
Per poter utilizzare un profilo di provisioning di sviluppo su più app, seleziona un ID app con caratteri jolly, se disponibile.
Seleziona uno o più certificati per lo sviluppo da includere nel profilo di provisioning e fai clic su Continua.
Sono elencati solo i certificati per lo sviluppo.
Seleziona uno o più dispositivi da includere nel profilo di provisioning e fai clic su Continua.
Immettere un nome per il profilo e fare clic su Genera.
(Facoltativo) Fare clic su Download per scaricare il profilo di provisioning.
Come aggiungere il tuo profilo di provisioning in AppBuilder?
Fare clic sull'icona della ruota dentata e selezionare Opzioni.
Seleziona iOS → Profili di provisioning.
Fare clic su Importa.
Individua il percorso in cui è archiviato il file di fornitura mobile per il tuo profilo di provisioning, selezionalo e conferma l'importazione.
Opzioni e preferenze del dispositivo
Puoi specificare una preferenza di dispositivo (Mobile o Tutti) per qualsiasi annuncio di testo, di ricerca dinamico, illustrato o display.
Se un gruppo di annunci ha sia annunci preferiti per dispositivi mobili che annunci normali, solo gli annunci preferiti per dispositivi mobili vengono pubblicati sui dispositivi mobili e solo gli annunci normali vengono pubblicati su computer e tablet.
Nell'elenco dei tipi, seleziona Annunci ed estensioni e scegli il tipo di annuncio che desideri aggiornare. Seleziona uno o più annunci. In "Dispositivo preferito" nel riquadro di modifica, seleziona Dispositivi mobili o Tutti.
Esaminiamo i dettagli dei diversi tipi di test che possiamo eseguire sui dispositivi mobili.
Le connessioni di rete
La tabella seguente fornisce un elenco di controllo dei test di connessione di rete che possono essere eseguiti per un dispositivo mobile.
Sr.No. | Descrizione |
---|---|
1 | L'app si comporta secondo le specifiche se connessa a Internet tramite Wi-Fi? |
2 | L'app si comporta secondo le specifiche se connessa a Internet tramite 3G? |
3 | L'app si comporta secondo le specifiche se connessa a Internet tramite 2G? |
4 | L'app si comporta in base alle specifiche dell'app è fuori dalla portata della rete? |
5 | L'app riprende a funzionare quando torna nella portata della rete dall'esterno della rete? |
6 | Le transazioni di aggiornamento vengono elaborate correttamente dopo aver ristabilito la connessione. |
7 | L'app funziona ancora correttamente durante il tethering o in altro modo connessa a un altro dispositivo? |
8 | Cosa succede se l'app passa da una rete all'altra (Wi-Fi, 3G, 2G)? |
9 | L'app utilizza le porte di rete standard (Mail: 25, 143, 465, 993 o 995 HTTP: 80 o 443 SFTP: 22) per connettersi ai servizi remoti, poiché alcuni provider bloccano determinate porte. |
Interazioni con la scheda SD
La tabella seguente fornisce un elenco di controllo per controllare le funzioni principali dell'interazione della scheda SD con un telefono cellulare.
Sr.No. | Descrizione |
---|---|
1 | L'app può essere installata sul dispositivo? |
2 | L'app si comporta come previsto / desiderato se c'è una chiamata in arrivo? |
3 | L'app si comporta come previsto / desiderato se c'è un SMS in arrivo? |
4 | L'app si comporta come progettato / desiderato se il caricabatterie è collegato? |
5 | L'app si comporta come progettato / desiderato se il caricabatterie è scollegato? |
6 | L'app si comporta come progettato / desiderato se il dispositivo entra in modalità di sospensione |
7 | L'app si comporta come previsto / desiderato se il dispositivo riprende dalla modalità di sospensione |
8 | L'app si comporta come previsto / desiderato se il dispositivo riprende dalla schermata di blocco? |
9 | L'app si comporta come progettato / desiderato se il dispositivo è inclinato? |
10 | L'app si comporta come previsto / desiderato se il dispositivo viene scosso? |
11 | L'app si comporta come progettato / desiderato se un messaggio locale proviene da un'altra app (pensa a: promemoria del calendario, attività da fare ecc.)? |
12 | L'app si comporta come progettato / desiderato se un messaggio push proviene da un'altra app (pensa a: menzioni di Twitter, messaggio Whatsapp, invito a wordfeud, ecc.). |
13 | L'app interagisce correttamente con il sensore GPS (accensione / spegnimento, recupero dati GPS)? |
14 | La funzionalità di tutti i pulsanti o i tasti del dispositivo è definita per questa app? |
15 | Verificare che i pulsanti o i tasti che non hanno una funzione definita non abbiano un comportamento imprevisto sull'app durante l'attivazione. |
16 | Nel caso in cui sul dispositivo sia disponibile un vero pulsante "Indietro", il pulsante "Indietro" porta l'utente alla schermata precedente? |
17 | Nel caso in cui sul dispositivo sia disponibile un vero pulsante "menu", il pulsante menu mostra il menu dell'app? |
18 | Nel caso in cui sul dispositivo sia disponibile un vero pulsante "home", il pulsante home riporta l'utente alla schermata iniziale del dispositivo? |
19 | Nel caso in cui sul dispositivo sia disponibile un vero pulsante di "ricerca", ciò porta l'utente a una qualche forma di ricerca all'interno dell'app? |
20 | L'app si comporta come previsto / desiderato se viene premuto il messaggio "Batteria scarica" |
21 | L'app si comporta come previsto / desiderato se il suono sul dispositivo è disattivato? |
22 | L'app si comporta come progettato / desiderato se il dispositivo è in modalità aereo? |
23 | È possibile disinstallare l'app dal dispositivo? |
24 | L'applicazione funziona come previsto dopo la reinstallazione? |
25 | L'app può essere trovata nell'app store? (Controlla dopo il go-live) |
26 | L'app può passare a diverse app sul dispositivo tramite il multitasking come progettato / desiderato? |
27 | Tutte le posizioni (pulsanti) del touch screen funzionano quando viene utilizzata una protezione per lo schermo. |
Test Bluetooth
I dispositivi Bluetooth possono comunicare solo entro il raggio di 10 metri. Tali dispositivi possono essere tastiere, mouse, cuffie wireless, ecc. La tabella seguente fornisce un elenco di controllo dei test Bluetooth che possono essere eseguiti:
Sr.No. | Descrizione |
---|---|
1 | L'utente può in grado di cercare tutti i dispositivi disponibili sulla gamma. |
2 | Sia le trasmissioni di dati che quelle vocali possono essere inviate tramite l'uso di reti a corto raggio. |
3 | Sia le trasmissioni di dati che quelle vocali possono essere ricevute attraverso l'uso di reti a corto raggio. |
4 | L'utente può disconnettersi in qualsiasi momento. |
5 | Durante la chiusura del Bluetooth chiedere di disconnettere le connessioni presenti. |
6 | La portata massima del Bluetooth è di 10 metri. |
7 | Tramite il telefono cellulare è possibile inviare immagini, video, scambiare biglietti da visita e anche trasferire file sul proprio PC. |
8 | (Dispositivo accoppiato) questo è un messaggio utilizzato per confermare che un utente ha accoppiato correttamente due dispositivi Bluetooth. |
9 | Modalità non rilevabile, un dispositivo che non risponderà alle richieste di rilevamento. |
10 | Modalità non rilevabile, un dispositivo che non risponderà alle richieste di rilevamento. |
11 | Modalità non accoppiabile, un dispositivo che non accetterà l'associazione si dice che sia in modalità non accoppiabile. |
12 | Passkey, una passkey è una password definita dall'utente necessaria per connettersi a un dispositivo da qualsiasi altro dispositivo. Si consiglia vivamente di utilizzare le chiavi di accesso laddove possibile per evitare l'accesso non autorizzato ai dispositivi Bluetooth. |
13 | Autenticazione: il processo di verifica dell'identità dell'altra estremità di un collegamento di comunicazione. Nella tecnologia Bluetooth ciò si ottiene tramite il processo di autenticazione basato su passkey e accoppiamento. |
14 | Dispositivi non trovati, questo è un messaggio di errore che può apparire se la ricerca di altri dispositivi nel raggio non trova nulla. |
15 | Modalità inattiva, un dispositivo è in modalità inattiva quando non ha collegamenti stabiliti con altri dispositivi. In questa modalità un dispositivo può rilevare altri dispositivi. |
16 | Known Device testing, un dispositivo già conosciuto da un altro dispositivo. O i dispositivi sono stati accoppiati in passato o vengono memorizzate alcune informazioni dei dispositivi noti. |
Test Wi-Fi
Testare la connessione WiFi del tuo telefono cellulare è un ottimo modo per assicurarti che Internet funzioni alla velocità promessa dal tuo fornitore di servizi, ma non sei limitato a eseguire questi test sul tuo computer desktop. Il test WiFi del telefono cellulare è un modo perfetto per testare la potenza del segnale WiFi in vari punti della casa o dell'ufficio. Di seguito è riportato l'elenco di controllo del test Wi-Fi per un dispositivo mobile.
Sr.No. | Descrizione |
---|---|
1 | L'app si comporta secondo le specifiche se connessa a Internet tramite Wi-Fi? |
2 | L'app si comporta in base alle specifiche dell'app è fuori dalla portata della rete? |
3 | L'app riprende a funzionare quando torna nella portata della rete dall'esterno della rete? |
4 | Cosa succede se l'app passa da una rete all'altra (Wi-Fi, 3G, 2G) |
5 | L'app utilizza le porte di rete standard (Mail: 25, 143, 465, 993 o 995 HTTP: 80 o 443 SFTP: 22) per connettersi ai servizi remoti, poiché alcuni provider bloccano determinate porte. |
Come eseguire un test di velocità WiFi del telefono cellulare sul tuo smartphone
Eseguire un test di velocità WiFi sul tuo smartphone è un compito semplice. I più convenienti sono i test di velocità che vengono eseguiti nel browser Web mobile dello smartphone. Segui le semplici istruzioni sullo schermo per iniziare il test. Se il test online non salva i tuoi risultati, fai uno screenshot dopo il test finito per fornire una cronologia.
Alcuni test sono disponibili come app per entrambe le piattaforme iOS e Android. Per utilizzarli, scarica l'app che desideri. Quindi segui le istruzioni per eseguire il test e salvare il risultato.
Strumenti per eseguire il test di velocità
Speed Test SpeedSmart WiFi & Mobile Network Speedtest- È compatibile con Apple iPhone e iPad. È un'applicazione a pagamento. SpeedSmart è l'ultima utility iOS per testare la velocità per valutare la tua connessione cellulare (3G, 4G e LTE) e Wi-Fi su tutti i tuoi dispositivi iOS. Una rete di server globale e un metodo di test della velocità intelligente garantiscono risultati accurati.
WiFi Speed Test- È compatibile con i telefoni Android. È uno strumento a pagamento. Con questo strumento puoi testare la velocità della tua rete locale (LAN). Il test può essere eseguito su rete wireless (WiFi) o cablata.
Localizzazione e globalizzazione
Consulta l'elenco di controllo di seguito per avere un'idea della localizzazione e dei test di globalizzazione per un dispositivo mobile.
Sr.No. | Descrizione |
---|---|
1 | Il testo è tradotto. |
2 | Le traduzioni soddisfano gli standard dei madrelingua per quanto riguarda la grammatica e l'accuratezza della terminologia. |
3 | Le finestre di dialogo vengono ridimensionate correttamente e il testo della finestra di dialogo viene sillabato in base alle regole della lingua dell'interfaccia utente. |
4 | Finestre di dialogo tradotte, barre di stato, barre degli strumenti e menu si adattano allo schermo a risoluzioni diverse. Non si avvolgono e non vengono tagliati. |
5 | Gli acceleratori di menu e dialoghi sono unici. |
6 | Il layout visivo è coerente con il layout dell'edizione nativa. Ad esempio, gli elementi della finestra di dialogo si trovano nell'ordine di tabulazione corretto. |
Test di database
Esistono diversi modi per archiviare i dati nelle app mobili. In caso di Android, puoi scegliere di memorizzare i tuoi dati su server, Preferenze condivise o SQLite.
SQLiteè un database leggero che viene comunemente utilizzato anche in Android e in altri sistemi operativi. Per visualizzare i dati in SQLite, potrebbe essere necessario eseguire il root del dispositivo oppure utilizzare gli emulatori per i test. Ci sono alcuni strumenti in Playstore Android che ti aiuterebbero a estrarre i dati da questo database.
I seguenti tipi di test dovrebbero far parte del test del database mobile:
- Test di convalida del database.
- Test di integrazione del database.
- Test delle prestazioni del database.
- Procedura e verifica funzionale.
- Trigger test.
- Test delle operazioni CRUD (Crea / Leggi / Aggiorna / Elimina) per assicurarsi che funzionino sul database.
- Verifica che le modifiche al database vengano visualizzate correttamente sull'interfaccia utente dell'app.
- Test delle funzioni di ricerca e indicizzazione.
Test di recupero
Il test di ripristino viene utilizzato per garantire che le operazioni possano essere continuate dopo un disastro. Il test di ripristino verifica non solo il processo di ripristino, ma anche l'efficacia delle parti componenti di tale processo.
Il test di ripristino è l'attività di verifica della capacità di un'applicazione di recuperare da arresti anomali, guasti hardware e altri problemi simili. Di seguito è riportato l'elenco di controllo per i test di recuperabilità.
Suor n | Descrizione |
---|---|
1 | Vengono conservati dati di backup adeguati. |
2 | I dati di backup vengono archiviati in un luogo sicuro. |
3 | Le procedure di ripristino sono documentate. |
4 | Tutti i file multimediali sono stati ripristinati dal punto di ripristino |
5 | Tutti i contatti sono stati recuperati |
6 | Tutte le applicazioni sono state ripristinate con successo |
Test di concorrenza
In genere ci avvaliamo dell'aiuto di test simultanei per assicurarci che più utenti possano accedere contemporaneamente a un programma allo stesso tempo. Durante l'applicazione del test di concorrenza per un dispositivo mobile, in quanto tale ci sarà solo un singolo utente. Quindi elimina la necessità di test di concorrenza per un dispositivo mobile.
Test di usabilità
Generalmente si ottiene un impianto in cui è possibile regolare il telefono cellulare e una web cam per registrare la sessione di valutazione dell'usabilità.
Sono disponibili strumenti come Applause . Forniscono un gruppo mirato di partecipanti al sondaggio selezionati per testare la tua app. Ciò che distingue Applause da altri servizi simili è che puoi avere un consulto con un esperto di Applause, che poi sceglie i partecipanti ideali in base alla consultazione.
Di seguito è riportato l'elenco di controllo generale per il test della GUI.
Sr.No. | Descrizione |
---|---|
1 | L'app può essere installata sul dispositivo? |
2 | L'app si comporta come previsto / desiderato se c'è una chiamata in arrivo? |
3 | L'app si comporta come previsto / desiderato se c'è un SMS in arrivo? |
4 | L'app si comporta come progettato / desiderato se il caricabatterie è collegato? |
5 | L'app si comporta come progettato / desiderato se il caricabatterie è scollegato? |
6 | L'app si comporta come progettato / desiderato se il dispositivo entra in modalità di sospensione. |
7 | L'app si comporta come previsto / desiderato se il dispositivo riprende dalla modalità di sospensione. |
8 | L'app si comporta come previsto / desiderato se il dispositivo riprende dalla schermata di blocco? |
9 | L'app si comporta come progettato / desiderato se il dispositivo è inclinato? |
10 | L'app si comporta come previsto / desiderato se il dispositivo viene scosso? |
11 | L'app si comporta come progettato / desiderato se un messaggio locale proviene da un'altra app (pensa a: promemoria del calendario, attività da fare ecc.). |
12 | L'app si comporta come progettato / desiderato se un messaggio push proviene da un'altra app (pensa a: menzioni di Twitter, messaggio di Whatsapp, ecc.). |
13 | L'app interagisce correttamente con il sensore GPS (accensione / spegnimento, recupero dati GPS)? |
14 | La funzionalità di tutti i pulsanti o i tasti del dispositivo è definita per questa app? |
15 | Verificare che i pulsanti o i tasti che non hanno una funzione definita non abbiano un comportamento imprevisto sull'app durante l'attivazione. |
16 | Nel caso in cui sul dispositivo sia disponibile un vero pulsante "Indietro", il pulsante "Indietro" porta l'utente alla schermata precedente? |
17 | Nel caso in cui sul dispositivo sia disponibile un vero pulsante "menu", il pulsante menu mostra il menu dell'app? |
18 | Nel caso in cui sul dispositivo sia disponibile un vero pulsante "home", il pulsante home riporta l'utente alla schermata iniziale del dispositivo? |
19 | Nel caso in cui sul dispositivo sia disponibile un vero pulsante di "ricerca", ciò porta l'utente a una qualche forma di ricerca all'interno dell'app? |
20 | L'app si comporta come previsto / desiderato se viene premuto il messaggio "Batteria scarica" |
21 | L'app si comporta come previsto / desiderato se il suono sul dispositivo è disattivato? |
22 | L'app si comporta come progettato / desiderato se il dispositivo è in modalità aereo? |
23 | È possibile disinstallare l'app dal dispositivo? |
24 | L'applicazione funziona come previsto dopo la reinstallazione? |
25 | L'app può essere trovata nell'app store? (Controlla dopo il go-live) |
26 | L'app può passare a diverse app sul dispositivo tramite il multitasking come progettato / desiderato? |
27 | Tutte le posizioni (pulsanti) del touch screen funzionano quando viene utilizzata una protezione per lo schermo. |
UN testing framework o più specificamente a testing automazione framework è un ambiente di esecuzione da eseguire automated tests. È il sistema globale in cui verranno automatizzati i test. È definito come l'insieme di presupposti, concetti e pratiche che costituiscono una piattaforma di lavoro o un supporto per i test automatizzati.
Un framework di test è responsabile di:
- Definire il formato in cui esprimere le aspettative
- Creazione di un meccanismo per agganciarsi o guidare l'applicazione sotto test
- Esecuzione dei test e comunicazione dei risultati
Architettura del framework
L'architettura generale di un framework di test è la seguente:
Per l'automazione dei test mobili, abbiamo bisogno di un buon framework di test dell'automazione mobile. In cima a quel framework, possiamo costruire i nostri casi di test. I framework di test dell'automazione mobile possono essere separati dal sistema operativo del dispositivo mobile. Nei capitoli seguenti, discuteremo due tipi di framework di test mobili: framework di test Android e framework di test iOS.
Ci sono molti framework di test Android disponibili sul mercato. Diamo un'occhiata ai primi 5 in pila.
Robotium- Robotium è un framework di test open source per lo sviluppo di scenari di test funzionali, di sistema e di accettazione. È molto simile al selenio.
UIAutomator- UIAutomator è un framework di test di Google che fornisce test avanzati dell'interfaccia utente di app e giochi Android nativi. Ha una libreria Java contenente API per creare test UI funzionali e anche un motore di esecuzione per eseguire i test.
Appium- Appium è un framework di automazione dei test open source per testare app native e ibride e app Web mobili. Le funzioni della libreria Appium all'interno del framework effettuano chiamate al server Appium in esecuzione in background che gestisce il dispositivo connesso.
Calabash- Calabash è un framework di test funzionale che può essere utilizzato per test funzionali sia iOS che Android. Sulla carta, deve essere uno dei framework più facili da usare e anche i non sviluppatori dovrebbero essere in grado di creare test funzionali utilizzandolo.
Selendroid- Selendroid è un bambino relativamente nuovo nel blocco e può essere utilizzato per testare funzionalmente le tue applicazioni Android. Apparentemente, se sei abituato a Selenium, Selendroid dovrebbe essere un modo semplice per usare le tue conoscenze per creare i tuoi test funzionali per Android.
Come i framework di test Android, sul mercato sono disponibili molti framework di test iOS. Qui parleremo di alcuni popolari.
Appium- Appium è un framework di automazione dei test open source per testare app native e ibride e app Web mobili. Le funzioni della libreria Appium all'interno del framework effettuano chiamate al server Appium in esecuzione in background che gestisce il dispositivo connesso.
Calabash- Calabash è un framework di test funzionale che può essere utilizzato per test funzionali sia iOS che Android. Sulla carta, deve essere uno dei framework più facili da usare e anche i non sviluppatori dovrebbero essere in grado di creare test funzionali utilizzandolo.
Zucchini - Zucchini è un framework di test funzionale visivo open source per applicazioni iOS basato su Apple UIAutomation.
UI Automation- Per i tuoi test funzionali più tipici (o test black-box), in cui scriverai codice che simula un utente finale che naviga nella tua app, c'è l'automazione dell'interfaccia utente. L'automazione dell'interfaccia utente è fornita da Apple ed è il modo approvato da Apple per eseguire i test funzionali iOS.
FRANK – BDD for iOS - Se desideri eseguire test end-to-end in iOS e desideri utilizzare BDD e Cucumber, non preoccuparti: c'è uno strumento chiamato Frank che ti consentirà di creare test e requisiti di accettazione utilizzando Cucumber.
Confronto tra diversi framework di test
Robotium è un framework di test open source per la scrittura di casi di test gray-box automatici per le applicazioni Android. Con il supporto di Robotium, gli sviluppatori di casi di test possono scrivere scenari di test di funzioni, sistemi e test di accettazione, che abbracciano più attività Android.
Robotium può essere utilizzato sia per testare applicazioni in cui è disponibile il codice sorgente sia per applicazioni in cui è disponibile solo il file APK.
Vantaggi di Robotium
Facile da scrivere, codice più breve. Tempo minimo necessario per scrivere casi di test solidi.
È possibile sviluppare potenti casi di test, con una conoscenza minima dell'applicazione sottoposta a test.
Il framework gestisce automaticamente più attività Android. La leggibilità dei casi di test è notevolmente migliorata rispetto ai test di strumentazione standard.
Tempi e ritardi automatici.
Segue automaticamente l'attività corrente.
Trova automaticamente le visualizzazioni.
Prende automaticamente le proprie decisioni (es: quando scorrere, ecc.)
Nessuna modifica alla piattaforma Android.
L'esecuzione del test è veloce.
I casi di test sono più robusti grazie all'associazione in fase di esecuzione ai componenti della GUI.
Si integra perfettamente con Maven o Ant.
Inconvenienti di Robotium
Robotium non può gestire componenti Flash o Web.
Gestisce solo un'applicazione alla volta.
Non può simulare il clic sulla tastiera virtuale utilizzando Robotium (è necessario utilizzare 'enterText ()' per inserire il testo in un campo EditText)
Robotium non può interagire con le notifiche della barra di stato, ovvero aprire l'area di notifica e fare clic su una notifica specificata.
Può essere un po 'lento, soprattutto in esecuzione su dispositivi meno recenti.
Come usare Robotium
Step 1- I prerequisiti per utilizzare Robotium è Java SDK (minimo 1.6). Se non hai Java installato sul tuo sistema, segui i passaggi indicati di seguito.
Scarica JDK e JRE da Oracle Technology Network
Accetta il contratto di licenza.
Installa JDK e JRE.
Imposta la variabile d'ambiente come mostrato nello screenshot qui sotto.
Step 2- Scarica Android Studio da Android Studio
- Fare doppio clic sull'exe ed eseguire il programma di installazione.
- Continua con tutte le opzioni predefinite.
- Imposta ANDROID_HOME.
Step 3 - Installa immagini e strumenti Android.
- Fare clic su SDK Manager -
Seleziona il pacchetto necessario. Ad esempio, se stiamo creando un'app per Android 4.4.2, assicurati che i seguenti pacchetti siano selezionati nella sezione Strumenti:
- Strumenti Android SDK rev 22.6.3
- Strumenti della piattaforma Android rev 19.0.1
- Strumenti di build SDK per Android rev 19.1
Step 4 - Crea dispositivi virtuali Android.
- Apri Android Studio e fai clic su AVD Manager nella barra degli strumenti. Gli AVD ci consentono di testare ed eseguire le nostre app Android.
Utilizza le seguenti impostazioni per un Nexus5 AVD:
- Dispositivo: Nexus 5 (4.95, 1080 x 1920; xxhdpi)
- Target: API di Google x86 (Google Inc.) - Livello API 19
- (Assicurati di selezionare il target con le API di Google nel nome.)
- CPU - Intel Atom (x86)
- Seleziona la casella Usa GPU host
- Fare clic su OK
Ora dovresti vedere l'AVD che hai creato in AVD Manager, dove puoi avviarlo, eliminarlo o crearne un altro!
Step 5- File Robotium Jar Scarica il file Robotium Jar da RobotiumTech
Prova un'app con Robotium
Per testare un'app con Robotium, segui i passaggi indicati di seguito:
Step 1 - Creare un progetto di prova in Android Studio denominato "RobotiumTest".
Scegli tutte le opzioni predefinite fino a raggiungere la pagina principale.
Step 2 - Copia il file jar Robotium nella cartella Lib del progetto.
Step 3 - Aggiungi la dipendenza nel file build.gradle sotto src cartella.
androidTestCompile "com.jayway.android.robotium: robotium-solo-5.5.3"
Step 4 - Sincronizza il Gradle.
Step 5 - Crea la classe Test come segue -
package com.example;
import com.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.EditText;
import android.widget.TextView;
public class MyTestClass extends ActivityInstrumentationTestCase2<TestActivity>{
private Solo solo;
public MyTestClass() {
super(TestActivity.class);
}
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
public void testCase() throws Exception {
String vResult="TestExample";
EditText vEditText = (EditText) solo.getView(R.id.edit1);
solo.clearEditText(vEditText);
solo.enterText(vEditText,"TestExample");
solo.clickOnButton("Submit");
assertTrue(solo.searchText(vResult));
TextView textField = (TextView) solo.getView(R.id.txt1);
//Assert to verify result with visible value
assertEquals(vResult, textField.getText().toString());
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
}
}
Step 6- Salva tutte le modifiche. Assicurati che non siano presenti errori.
Step 7- Ora, esegui il test case. Se il test case ha esito positivo, dovresti vedere il seguente output!
Selendroid è un framework di automazione dei test per testare applicazioni Android native e ibride. I test Selendroid vengono scritti utilizzando l'API client Selenium Webdriver.
Vantaggi di Selendroid
Pienamente compatibile con JSON Wire Protocol / Selenium 3 Ready.
Nessuna modifica dell'app in prova richiesta per automatizzarla.
Test del Web mobile utilizzando l'app Webview del driver Android integrata.
Stesso concetto per l'automazione di app native o ibride.
Gli elementi dell'interfaccia utente possono essere trovati da diversi tipi di localizzatore.
I gesti sono supportati: API per le interazioni utente avanzate.
Gli emulatori esistenti vengono avviati automaticamente.
Selendroid supporta il collegamento a caldo dei dispositivi hardware.
Integrazione completa come nodo in Selenium Grid per scalabilità e test paralleli.
Supporto per più API di destinazione Android (da 10 a 19).
Inspector integrato per semplificare lo sviluppo del test case.
Selendroid può essere esteso in fase di esecuzione con le proprie estensioni.
Selendroid può interagire con più dispositivi Android (emulatori o dispositivi hardware) contemporaneamente.
Inconvenienti di Selendroid
Lo svantaggio di questo strumento è che è piuttosto lento e su alcune macchine con meno di 4 GB di RAM è inutilizzabile.
Come usare Selendroid
Step 1- I prerequisiti per utilizzare Robotium è Java SDK (minimo 1.6). Se non hai Java installato sul tuo sistema, segui i passaggi indicati di seguito.
Scarica JDK e JRE da Oracle JavaSE
Accetta il contratto di licenza.
Installa JDK e JRE.
Imposta la variabile d'ambiente come mostrato nello screenshot qui sotto.
Step 2- Scarica Android Studio dall'SDK Android (ci vorrà del tempo a causa delle dimensioni del file).
- Fare doppio clic sull'exe ed eseguire il programma di installazione.
- Continua con tutte le opzioni predefinite.
- Imposta ANDROID_HOME.
Step 3- Scarica i file jar selenio e prova l'applicazione da Selendroid
- Scarica il file jar selenio e prova l'app.
- Inseriscilo in una cartella qualsiasi, ad esempio D: \ SelendroidJars.
Step 4 - Dispositivo fisico con cavo USB.
Assicurati che il dispositivo sia collegato alla workstation con un cavo USB.
Assicurati che la modalità di debug USB (in impostazioni → Opzioni sviluppatore) sia abilitata.
Prova un'app con Selendroid
Per testare un'app utilizzando Selendroid, segui i passaggi indicati di seguito:
Step 1 - Installa Eclipse.
Step 2 - Crea un progetto Java.
Step 3 - Aggiungi il file jar Selendroid scaricato al progetto appena creato.
Step 4 - Aggiungere i file jar Selenium scaricati al progetto appena creato.
Step 5 - Configurare testNG in Eclipse.
Step 6- Collegare i dispositivi mobili al sistema tramite cavo USB. Imposta la modalità di debug USB dalle opzioni dello sviluppatore nelle impostazioni.
Step 7- Esegui il server Selendroid. Apri il prompt dei comandi e scrivi il seguente codice e premi Invio -
java -jar selendroid-standalone-0.17.0-with-dependencies.jar -app selendroid-test-app-0.17.0.apk
Selendroid-standalone avvierà un server http sulla porta 4444 e scansionerà tutti i dispositivi virtuali Android (avd) che l'utente ha creato (~ / .android / avd /).
Apri il browser web e vai a: http://localhost:4444/wd/hub/status.
Step 8- Crea un progetto Java; aggiungere le librerie Selendroid Standalone, i vasi Selenium e le librerie JUnit nel percorso di compilazione.
Step 9 - Crea pacchetto nel progetto Java.
Step 10 - Crea una classe sotto il pacchetto e scrivi il codice seguente.
package selTest;
import io.selendroid.SelendroidDriver;
import io.selendroid.common.SelendroidCapabilities;
import io.selendroid.standalone.SelendroidConfiguration;
import io.selendroid.standalone.SelendroidLauncher;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.testng.Assert;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test;
public class SelendroidTest {
private WebDriver driver ;
@BeforeSuite
public void setUp() throws Exception {
SelendroidConfiguration config = new SelendroidConfiguration();
config.addSupportedApp("selendroid-test-app-0.9.0.apk");
SelendroidLauncher selendroidServer = new SelendroidLauncher(config);
selendroidServer.launchSelendroid();
SelendroidCapabilities caps = new
SelendroidCapabilities("io.selendroid.testapp:0.9.0");
driver = new SelendroidDriver(caps);
}
@Test
public void selendroidTest() throws Exception {
WebElement inputField = driver.findElement(By.id("my_text_field"));
Assert.assertEquals("true", inputField.getAttribute("enabled"));
inputField.sendKeys("Selendroid");
Assert.assertEquals("Selendroid", inputField.getText());
WebElement button = driver.findElement(By.id("buttonTest"));
button.click();
button = driver.findElement(By.id("button2"));
button.click();
Thread.sleep(5000);
button = driver.findElement(By.id("startUserRegistration"));
button.click();
Thread.sleep(10000);
WebElement element = driver.findElement(By.id("label_username"));
String text = element.getText();
System.out.println(text);
element = driver.findElement(By.id("inputUsername"));
element.sendKeys("bob");
element = driver.findElement(By.id("inputEmail"));
element.sendKeys("[email protected]");
element = driver.findElement(By.id("inputPassword"));
element.clear();
element.sendKeys("test1233");
element = driver.findElement(By.id("inputName"));
element.clear();
element.sendKeys("My Name ");
element = driver.findElement(By.id("input_preferedProgrammingLanguage"));
element.click();
element = driver.findElement(By.id("text1"));
element.click();
element = driver.findElement(By.id("input_adds"));
element.click();
element = driver.findElement(By.id("btnRegisterUser"));
element.click();
element = driver.findElement(By.id("buttonRegisterUser"));
element.click();
}
@AfterSuite
public void tearDown(){
driver.quit();
}
}
Step 11 - Esegui la classe con testNG run configuration.
Appium è un framework di automazione dei test open source per testare app native e ibride e app Web mobili. Guida le app iOS e Android utilizzando il protocollo WebDriver.
Vantaggi di Appium
È gratuito e (principalmente) open source.
Ha un gruppo Google molto ben supportato e attivo.
È nella specifica Selenium 3, quindi dovrebbe essere a prova di futuro.
Supporta sia Android che iOS.
Non richiede l'installazione di nulla sul dispositivo: non sono necessarie modifiche al server o al codice.
Inconvenienti di Appium
- Nessun supporto per attese intelligenti.
- Su iOS, puoi eseguire solo un test alla volta per Mac.
- Supporto limitato per i gesti.
- Supporto limitato per Android <4.1
Come usare Appium
Step 1- I prerequisiti per utilizzare Appium è Java SDK (minimo 1.6). Se non hai Java installato sul tuo sistema, segui i passaggi indicati di seguito.
Scarica JDK e JRE da Oracle JavaSE
Accetta il contratto di licenza.
Installa JDK e JRE.
Imposta la variabile d'ambiente come mostrato nello screenshot qui sotto.
Step 2- Scarica Android Studio da SDK (ci vorrà del tempo a causa delle dimensioni del file).
- Fare doppio clic sull'exe ed eseguire il programma di installazione.
- Continua con tutte le opzioni predefinite.
- Imposta ANDROID_HOME.
Step 3 - Installa immagini e strumenti Android.
- Fare clic su SDK Manager -
Seleziona il pacchetto necessario. Ad esempio, se stiamo creando un'app per Android 4.4.2, assicurati che i seguenti pacchetti siano selezionati nella sezione Strumenti:
- Strumenti Android SDK rev 22.6.3
- Strumenti della piattaforma Android rev 19.0.1
- Strumenti di build SDK per Android rev 19.1
Step 4 - Crea dispositivi virtuali Android -
Apri Android Studio e fai clic su AVD Manager nella barra degli strumenti. Gli AVD ci consentono di testare ed eseguire le nostre app Android.
Utilizza le seguenti impostazioni per un Nexus5 AVD:
Dispositivo: Nexus 5 (4.95, 1080 x 1920; xxhdpi)
Target: API di Google x86 (Google Inc.) - Livello API 19
Assicurati di selezionare il target con le API di Google nel nome.
CPU: Intel Atom (x86)
Seleziona la casella Usa GPU host
Fare clic su OK.
Ora dovresti vedere l'AVD che hai creato in AVD Manager, dove puoi avviarlo, eliminarlo o crearne un altro!
Step 5- Scarica i file jar Appium da Appium
Prova un'app con Appium
Per testare un'app con Appium, segui i passaggi indicati di seguito:
Step 1 - Creare un progetto di prova in Android Studio denominato "RobotiumTest".
Scegli tutte le opzioni predefinite fino a raggiungere la pagina principale.
Step 2- Aggiungi i barattoli Appium al tuo progetto. Fare clic su Progetto → App → copia tutti i vasi in lib. Seleziona i barattoli copiati tranne Selenium, client Java e Junit Jar, quindi fai clic destro su di essi e fai clic su "Aggiungi come libreria".
Step 3- Fai clic su build.gradle nell'app. Vedrai tutte le librerie aggiunte, come mostrato nello screenshot seguente.
Step 4 - Ora crea una classe Java come mostrato di seguito -
AppiumDriver driver;
@Before
public void testCaseSetup()throws Exception {
//service.start();
//reader.readFile();
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(MobileCapabilityType.PLATFORM_NAME,"Android");
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device");
cap.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "4000");
cap.setCapability(MobileCapabilityType.APP, "c://apk//sample.apk");
driver = new AndroidDriver<MobileElement>("http://127.0.0.1:4444/wd/hub",cap);
}
@Test
public void testcase1()throws Exception {
driver.findElementByID("Example").click();
Asser.assertTrue(driver.findElementByID("Example").isDisplayed));
}
@After
public void testCaseTearDown() {
driver.quit();
}
Step 5 - Esecuzione del test case.
- Fare clic su build variant e selezionare Unit Testing.
- Avvia il server Appium con la porta specifica "4444".
- Scarica l'Appium per Windows da qui.
- Fare doppio clic su .exe e installare Appium.
- Fare clic sull'icona per visualizzare l'interfaccia utente.
- Modificare la porta se necessario, come mostrato di seguito.
- Fare clic sul pulsante Riproduci per avviare il server.
- Collega il dispositivo con il debug USB attivo o avvia un emulatore.
- Fare clic con il pulsante destro del mouse sulla classe di test e fare clic su "Esegui".
Zucchini è un nuovo framework di test che utilizza un linguaggio specifico del dominio (DSL) in stile BDD. Una delle sue aree di interesse è la semplificazione dei test di accettazione scritti con selenio.
Non è un sostituto di JBehave o Robot Framework, come vedrai più avanti. Qui vi daremo un assaggio dei concetti di Zucchini descrivendo passo passo un esempio.
Come installare Zucchini
I prerequisiti per installare Zucchini è XCode 4.2. Inoltre, sono necessari alcuni strumenti da riga di comando come brew update && brew install imagemagick && brew install coffee-script.
Come usare le zucchine
gem install zucchini-ios
Inizia creando uno scaffold del progetto
Crea uno scaffold di funzionalità per la tua prima funzionalità
Inizia l'hacking modificando features/my_feature/feature.zucchini e features/support/screens/welcome.coffee.
Zucchini non implica apportare modifiche al codice dell'applicazione. Potresti anche tenere i tuoi test Zucchini in un progetto separato.
zucchini generate --project /path/to/my_project
zucchini generate --feature /path/to/my_project/features/my_feature
In alternativa, dai un'occhiata al progetto dimostrativo di zucchine con una configurazione Zucchini facile da esplorare attorno all'esempio CoreDataBooks di Apple.
In esecuzione sul dispositivo
Aggiungi il tuo dispositivo a features/support/config.yml.
In esecuzione sul simulatore iOS. Ti consigliamo vivamente di eseguire le funzionalità di Zucchini su hardware reale. Tuttavia, puoi eseguirli sul simulatore iOS, se necessario.
Prima di tutto, modifica il tuo features/support/config.ymlper includere un percorso completo alla tua app compilata. Per esempio,
app: /Users/vaskas/Library/Developer/Xcode/DerivedData/CoreDataBooks-ebeqiuqksrwwoscupvxuzjzrdfjz/Build/Products/Debug-iphonesimulator/CoreDataBooks.app
In secondo luogo, aggiungi una voce "Simulatore iOS" alla sezione dispositivi (non è necessario l'UDID) e assicurati di fornire il valore effettivo per "schermo" in base alle impostazioni del simulatore iOS -
Eseguilo come -
ZUCCHINI_DEVICE="iOS Simulator" zucchini run /path/to/my_feature
Il udidetect utilità è utile se prevedi di aggiungere dispositivi di tanto in tanto - udidetect -z.
ZUCCHINI_DEVICE="My Device" zucchini run /path/to/my_feature