Domanda

Succede spesso che quando segnali un bug a uno sviluppatore, ritorna dicendo "funziona sul mio sistema" sebbene sia un'app per browser. Come fai a risolverlo?

È stato utile?

Soluzione

Dal punto di vista della formazione / processo:

Addestra il tuo team a sapere che " funziona sulla mia macchina " non è una risposta priva di prigione.

Avere un server di build automatizzato .

Avere una distribuzione di test automatizzata.

I tuoi sviluppatori devono sapere che " funziona " è definito come "funziona sul server di prova", non solo sulla sua macchina.

Dal punto di vista del test / debug:

È necessario mostrare allo sviluppatore la sequenza di azioni che provocano il verificarsi dell'errore.

Potresti voler catturare schermate che mostrano il bug, o possibilmente una cattura video (usando strumenti come Camtasia ). Le persone possono essere abbastanza cattive nel descrivere la sequenza di azioni che hanno eseguito su un sistema che ha portato alla visualizzazione di un bug, quindi più informazioni puoi catturare sul bug e su come replicarsi, meglio è.

Dal punto di vista dello sviluppo / ambiente:

Se esiste davvero un bug che si manifesta in un ambiente ma non nello sviluppatore, allora scopri se si esibisce in nessun ambiente di sviluppo, o solo nel tuo unico sviluppatore.

Da lì in poi si tratta di provare a ridurre le differenze tra i due ambienti in modo che lo sviluppatore possa vedere il problema sulla sua macchina.

Oppure puoi andare dall'altra parte e tentare di eseguire il debug del problema sull'ambiente di produzione (non di sviluppo).

I dettagli di implementazione variano in base alla piattaforma.

Altri suggerimenti

Devi fornire quante più informazioni possibili allo sviluppatore. Anche le cose che non ritieni rilevanti.

Non riesco a contare il numero di volte in cui ho riscontrato un problema e non posso ripeterlo, solo per scoprire in seguito un'informazione che l'utente non aveva originariamente incluso ma era la chiave per sbloccare il puzzle.

Devi anche non accettare quella risposta e dire " beh, qualcosa deve essere diverso tra il tuo set e il mio, cosa possiamo noi fare per risolverlo " ;.

Affrontiamo questo problema avendo un ambiente di sviluppo in cima allo sviluppo locale il più vicino possibile al sistema produttivo in termini di installazione, hardware, ecc. Di conseguenza quasi tutti i problemi che si verificano nell'ambiente di produzione sono riproducibili su quel sistema di sviluppo anche se non possono essere riprodotti su macchine sviluppatore locali.

Questa è una storta comune di evasione che incontro dalle squadre. La mia risposta di solito è: " Sai, il tuo sistema non è il server di produzione ed è lì che deve funzionare " ;. In altre parole, questa scusa semplicemente non è accettabile.

Indico anche loro le possibilità:

a. Esiste una differenza di configurazione tra il sistema locale e il server.

b. Alcune dipendenze della funzionalità non vengono aggiornate sul server.

c. Non hanno cancellato la cache del browser.

d. Replica il problema sul server di gestione temporanea e lo dimostrerò a loro.

e. ... e così via, a seconda del caso.

Prova a ricreare l'utente che ha trovato il sistema del bug il più possibile: dalla configurazione del server alla configurazione della macchina, inclusi browser e sistema operativo e così via. Probabilmente dovresti avere diverse configurazioni su cui testare la tua app prima di rilasciarla.

IE Tester è un ottimo strumento per questo tipo di risoluzione dei problemi. Se devi testare molti browser, le macchine virtuali come Virtual PC sono la soluzione migliore in modo da poter avere molte configurazioni client sul tuo server di prova.

ahh sì ... la scusa più antica del libro.

Supponendo che sia lo sviluppatore che il tester stiano testando sullo stesso server, proverei a isolare il bug identificando quale sia la differenza tra la macchina degli sviluppatori e la macchina dei tester. Potrebbe essere una cosa minore come la versione flash, le differenze del browser o dimenticare di svuotare la cache del browser

Vorrei anche raccomandare di utilizzare un framework di test automatizzato e testare le app su un server di test dedicato.

Non puoi fare molto come utente finale, ma come sviluppatore puoi evitare molti di questi problemi includendo molti accessi al sistema - Le differenze a cui l'utente penserà saranno solo le cose semplici che hai già testato, ma una buona registrazione ti consente di vedere esattamente cosa stava succedendo in caso di errore del sistema. Ho trovato alcuni bug che non potevano accadere in questo modo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top