Strategie per risolvere un errore che si verifica solo su un dispositivo specifico


12

Come sviluppatore Android, il mercato target per cui creo le app è molto frammentato. Mentre posso specificare determinati requisiti, ad esempio la mia app supporta solo la versione di Android xx o successiva, a volte possono verificarsi errori che sono evidenti solo su un modello di telefono specifico.

Esistono strategie per gestire gli errori specifici del dispositivo, senza acquistare il telefono in questione? Manteniamo una serie di telefoni per i test, ma non possiamo permetterci di uscire e acquistare un nuovo telefono quando 2 o 3 utenti segnalano che esiste un bug che si verifica solo per il loro modello di telefono.

Sono sicuro che altri sviluppatori Android hanno riscontrato problemi simili in passato e sono curioso di sapere quali strategie economiche sono disponibili per aiutare a risolvere i bug specifici del dispositivo.

Aggiorna per aggiungere alcuni dettagli:

  • Uso Bugsense per acquisire segnalazioni di bug, quindi ogni volta che vengono generate eccezioni, conosco il modello del telefono, la traccia dello stack, il numero di volte che è successo ai miei utenti e alcuni altri dettagli.
  • Gli utenti potrebbero trovarsi in diversi paesi, quindi non posso presumere che potrò mai prendere in prestito il loro telefono.

Immagina uno scenario come questo: 100 utenti hanno installato l'app, ma tre persone si sono lamentate che un pulsante non funziona correttamente quando viene premuto. Nessuno dei modelli di telefono che ho per testare presenta il problema. Non sembra esserci un emulatore per il modello di telefono problematico.


2
Il nostro incubatore locale ha collaborato con una società di telefonia cellulare locale per creare una libreria di telefoni cellulari per risolvere esattamente questo problema: potresti essere in grado di trovare qualcosa di simile nella tua zona (o suggerirlo ad alcune persone appropriate).
Hannele,

Hai difeso la tua domanda e hai chiesto di riaprirla. Assicurati di aver pensato tanto a scegliere una risposta.
JeffO,

Risposte:


10

Anni fa, ho riscontrato lo stesso problema durante lo sviluppo di software per dispositivi Palm. Ci sono un paio di strategie ovvie:

  • Assistenza agli utenti durante i test : disporre di un programma di beta test, fare in modo che la tua app fornisca buone informazioni sugli errori e abbia un buon modo per segnalare i bug.
  • Utilizzo di emulatori specifici del dispositivo

Entrambi sono piuttosto limitanti, però. Non vi è alcun sostituto infallibile per avere il dispositivo reale.

Una cosa interessante che ho riscontrato è AppThwack , un'azienda che ti consente di testare a distanza centinaia di dispositivi Android reali. Non ho esperienza personale con questo, ma sembra promettente (è anche una forte indicazione che non esiste una risposta facile ed economica al tuo problema).


1
+1 per AppThwack. Hanno tonnellate di dispositivi e puoi dirigere i tuoi test in determinati pool di dispositivi. È possibile indicare alla strumentazione di acquisire schermate e di ottenere registri degli arresti anomali per ciascun dispositivo. È un ottimo sostituto per non avere tutti i dispositivi noti a portata di mano (=
David Cowden

+1 per il "miglior programma di test", ne avevo uno per la mia app Android per il monitoraggio della batteria. Quando l'ho inviato a un utente che stava ottenendo risultati bizzarri e ho ottenuto l'output di debug, è stato un momento estremamente WTF: in qualche modo aveva rovinato il suo telefono in modo che Android stesse segnalasse il 60% della batteria un minuto, il 40% il successivo , L'80% il prossimo, e continuava a saltare. Non potevano fare nulla a quel punto nell'app per ripararlo, avevano bisogno di riparare il loro telefono.
Izkata,

-1

Purtroppo non esiste una risposta semplice a questo problema.

raffinare @ dan1111 risposta Avere utenti che aiutano con i test per Android

  • aggiungi molte dichiarazioni di registro nella tua app Android che registrano importanti informazioni di contesto alla pagina
    • ora aprendo il database "/data/data/my.namespace.com/database/myDatabase.db" oppure
    • ora chiamando webservice "my.server.com/loadingOrder(id=22)"
  • chiedere all'utente di installare alogcat sul dispositivo in grado di leggere il registro di debug locale e spiegargli come impostare il filtro per tenere traccia dell'origine del problema e inviarti il ​​registro.

qual è il punto di installazione di alogcat, mentre OP afferma di avere già qualcosa del genere: "usa Bugsense per catturare segnalazioni di bug, quindi ogni volta che vengono generate eccezioni conoscerò il modello del telefono, la traccia dello stack, il numero di volte in cui è successo ai miei utenti e alcuni altri dettagli ... "
moscerino del
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.