Come posso testare un'applicazione che dipende da hardware specifico

6

Ho scritto un'applicazione Android. L'applicazione richiede una connessione Bluetooth per un componente hardware molto specifico, attualmente un prototipo. L'unico modo in cui posso testare l'app al momento è guidare centinaia di miglia per vedere se funziona. Se finisco con un ANR può essere molto imbarazzante di fronte al mio cliente. Il tipo di connessione e il meccanismo di questa app sono molto strettamente adattati a questo hardware. Non sono autorizzato a portare un laptop, effettuare il root del telefono o connettersi a qualsiasi altro dispositivo sul posto.

C'è un modo per testare questa applicazione a casa, o fare un passo attraverso le attività per assicurarmi di non avere un altro ANR sulla seconda attività mentre il cliente mi guarda inorridito?

Devo sottolineare che non sono un programmatore esperto e questa è una nuova idea per cui sto aiutando qualcuno, dato che il personale addetto alle assunzioni non è al momento disponibile, quindi mi mancano senza dubbio alcuni dei concetti base dello sviluppo Questo.

    
posta RossC 08.10.2013 - 10:33
fonte

2 risposte

10

Come suggerito @ MrSmith42, dovresti fare il meglio che puoi per prendere in giro l'interfaccia. Non hai bisogno di una vera connessione bluetooth per deriderla. Chiama un'interfaccia. Questa interfaccia, nel debug, invia ciò che ti aspetteresti per un dato input. Quando non è in debug, esegue il lavoro effettivo di invio e ricezione dei dati. Assicurati che ciò che invii all'interfaccia e come gestisci il suo output funzioni. Spolverate un po 'generoso di gestione degli errori, gestendo gli errori che è possibile gestire e registrando il resto, e avete qualcosa da testare direttamente sul client.

L'unica possibilità di errore a questo punto risiede nella differenza tra il modo in cui ci si aspetta che il dispositivo sia gestito e il modo in cui si comporta e, secondo la mia esperienza, l'hardware non è mai completamente affidabile. Quindi assicurati di avere un meccanismo di gestione degli errori di coperta per qualcosa che non ti aspetti che possa scaricare una specie di registro.

    
risposta data 08.10.2013 - 11:07
fonte
6

Penso che questo sia un problema di gestione del progetto, non tanto un problema di sviluppo del software.

Dovresti avere una settimana o due per accedere al dispositivo (nei locali del tuo cliente o in ufficio) per valutare il comportamento di base del dispositivo e vedere come interagisce con il tuo software. Successivamente è possibile prendere in giro l'interfaccia e sviluppare la funzionalità a casa e ancora una settimana di test di integrazione.

Quando interagisci con l'hardware, la necessità e il valore dei test di integrazione non possono essere sottostimati. Se i test di integrazione non sono possibili, il tuo progetto fallirà. Programmare ciecamente verso un hardware che non puoi testare non funziona.

Devi discutere questo problema con il tuo cliente.

    
risposta data 08.10.2013 - 11:30
fonte

Leggi altre domande sui tag