Come gestisci il test del tuo software Android su dispositivi fisici?

5

Mi occupo della gestione dello sviluppo di applicazioni mobili presso la mia azienda e attualmente sto realizzando una "libreria" di dispositivi mobili per i test. In sostanza, vogliamo disporre di un dispositivo rappresentativo in-house per ciascuno dei sistemi operativi per cui stiamo sviluppando, attualmente iOS (solo iPhone), Blackberry e Android. I simulatori vanno solo così lontano, ma sto introducendo nel processo un passo per testare il software sui dispositivi stessi.

Il problema che stiamo riscontrando è con Android. Non penso che nessuno di noi abbia mai compreso veramente quanto sia frammentata l'intera piattaforma fino a quando non abbiamo iniziato a esaminare i dispositivi da acquisire. Aspetteremo che venga rilasciata la v2.3 di Android, ma quali prodotti scegliere? Andiamo dal più popolare per quota di mercato? Otteniamo una piccola gamma di prodotti con specifiche dal meno al più potenti in generale?

Stiamo cercando di evitare di dover gestire una dozzina di dispositivi diversi per testare ciascuna app, se non a causa dei costi, se non altro per il time sink ripetuto.

Come gestisci il test del tuo software Android su dispositivi fisici?

AGGIORNAMENTO: per portare un contesto a ciò che sto chiedendo, le applicazioni che vengono create sono solo a scopo didattico, e non ci sono piani per utilizzare nessuna delle caratteristiche hardware dei dispositivi stessi. Stiamo semplicemente visualizzando i contenuti in vari modi: eBook, domande di prova, schede flash, ecc. Che possono essere o meno contenuti scaricabili. Quindi, niente telecamere, GPS, gestione dei contenuti guidata dall'utente o qualcosa del genere; come dispositivo-agnostico come possiamo eventualmente fare.

    
posta Philip Regan 16.11.2010 - 21:30
fonte

5 risposte

2

Bene, la cosa buona del codice di Android è che puoi implementarlo in tanti modi: da un tablet a un orologio da polso, creando così un gruppo di test un po 'complicato.

Per come la vedo io, escludendo le differenze di versione per ora, ci sono alcuni gruppi di test: compresse, portatili di fascia alta, portatili low-end e infine, come ha detto il ragazzo sopra di me - vecchio portatile.

Ho fatto specificamente la distinzione tra low-end e old perché, mentre entrambi potrebbero essere considerati al giorno d'oggi essere all'incirca allo stesso livello, i vecchi dispositivi di solito eseguivano una versione precedente di Android che potrebbe causare un comportamento del codice molto diverso.

Ci sono servizi online specializzati, come Perfecto Mobile o DA, che ti danno accesso RDA a dispositivi reali (al contrario di emulatori, che come hai detto tu - si spinge così lontano) senza doverli possedere fisicamente.

Perfecto offre una demo gratuita di un'ora sul loro sito web (http://www.perfectomobile.com), e penso che questo potrebbe soddisfare esattamente le tue esigenze.

    
risposta data 17.11.2010 - 13:16
fonte
3

Presumibilmente, non dovrai codificare le eccezioni per vari dispositivi (ad esempio, tutti i dispositivi dovrebbero comportarsi allo stesso modo). Di conseguenza, è necessario solo un dispositivo Android; dovrebbe essere relativamente popolare. Quando verrà rilasciato il v2.3 di Android, forse il mercato sarà meno frammentato.

    
risposta data 16.11.2010 - 22:13
fonte
2

Seguiamo la popolarità del mercato e la versione della piattaforma, assicurandoci che le cose funzionino almeno sui dispositivi più diffusi disponibili. A seconda dell'aspetto della tua app e dell'hardware con cui interagisce, potrebbero esserci o meno differenze significative nella modalità di funzionamento tra i telefoni. Ad esempio, i driver della fotocamera sono incredibilmente diversi tra i dispositivi.

Risolvere il layout dello schermo e le differenze di densità tra i dispositivi a bassa, media e alta densità è un problema che dovrebbe essere risolto solo una volta se eseguito correttamente.

Nella mia esperienza, la maggior parte dei nostri problemi è stata trovata testando dispositivi che eseguono l'intera gamma di piattaforme disponibili / popolari . Devi tracciare una linea da qualche parte, per un piccolo team, 5 o 6 dispositivi è probabilmente il limite di ciò che è ragionevole testare (questo ovviamente dipende dal tuo programma di rilascio).

- Addition--
Dopo aver lavorato nel mondo Android per qualche tempo, vorrei rivedere un po 'il mio consiglio. Ora vediamo le più stranezze quando andiamo a produttori diversi. Suggerirei di avere uguale rappresentanza tra i produttori, ad esempio HTC, Motorola, Samsung, LG.

Semplicemente non saprai cosa hanno fatto questi produttori nello stack fino a quando non testerai. Abbiamo trovato cose strane come campi di testo con limiti di caratteri diversi insieme a tonnellate di problemi relativi al driver della fotocamera e al driver audio che sono unici per ciascun produttore ma non specifici per 1 dispositivo.

    
risposta data 30.12.2010 - 20:42
fonte
1

Scegli un dispositivo con la versione del sistema operativo più vecchia supportata dal tuo codice.

Scegli un dispositivo relativamente lento, in modo da notare eventuali problemi di prestazioni.

    
risposta data 16.11.2010 - 23:47
fonte
1

Per essere onesti, comprerei 4 telefoni.

  • 3 telefoni per ogni risoluzione (attualmente Android supporta solo 3 risoluzioni)
  • Questi 3 telefoni sarebbero i meno potenti se possibile
  • E il quarto telefono sarebbe un telefono dev

Modifica

Il telefono dev ha alcuni vantaggi. Quando sviluppi hai bisogno di una piattaforma che funzioni. Altri telefoni potrebbero avere una versione modificata di Android che potrebbe causare problemi. Il debug potrebbe essere disabilitato. Alcuni componenti hardware che si comportano in modo diverso (si consideri la tastiera fisica) ... Il telefono dev è progettato per lo sviluppo in modo da non finire con qualche strano problema che ti rallenta.

Il telefono dev potrebbe essere leggermente più veloce del telefono meno potente con la stessa risoluzione dello schermo. Ad esempio il Nexus S e il Nexus One sono come bestie. Pertanto, quando desideri testare la tua app per le prestazioni, potrebbe essere utile testare su un telefono meno potente. E anche se il tuo codice è efficiente e veloce, non puoi aspettarti che l'interfaccia utente reagisca altrettanto velocemente su un telefono meno potente.

Gli altri telefoni sarebbero necessari solo quando effettivamente rilascerai qualcosa. È inutile testare l'app su tutti i telefoni ogni volta.

Quindi per il riepilogo hai bisogno di telefoni per testare l'esperienza utente e un telefono per testare il tuo codice.

    
risposta data 30.12.2010 - 17:53
fonte

Leggi altre domande sui tag