Come lavoro come “QA Ingegnere” su un progetto in contrapposizione a un membro di un “Test Driven Development Team”?

StackOverflow https://stackoverflow.com/questions/3577009

Domanda

sincere scuse se sto facendo questa domanda nel posto sbagliato. (Forse uno dei mini-stack overflow specifica consulenza di carriera e QA) ho speso una notevole quantità di tempo di recente conoscere e unità di test framework per i nostri progetti di attuazione.

Prima dell'introduzione di un quadro unit testing, il nostro metodo è stato quello di codice, di test manualmente, impegnarsi, spero che le cose non si rompono o verso l'alto flusso. Un sistema molto reattivo.

Ora, tutti capiamo che le cose devono essere testati e che test automatizzati è efficiente e buono. Tuttavia, il ruolo attualmente sembra essere "fate il test" e "test automatizzati scrivere"

In questo test manuale è possibile, ma si sente schiacciante (come ci sono bug tutto il tempo) e un po 'come un sottoutilizzo delle mie competenze.

Sto avendo difficoltà nel realizzare la seconda parte della richiesta. Scrivere test automatizzati è difficile se il codice non è progettato per essere verificabile.

Ho la responsabilità di QA - ma - posso solo trovare le risorse per lo sviluppo Test Driven.

Quali metodi posso utilizzare per diventare più efficace nel mio ruolo QA dove gli altri sviluppatori non sono ancora scrivendo con preoccupazione per la creazione di codice verificabile?

È stato utile?

Soluzione

Vorrei pensare che ottenere gli sviluppatori fino a velocità con i test unità sarebbe la vostra preoccupazione principale! In questo modo, tutti sono un vincitore.

Fino a quel punto, come si sono in effetti lavorando con il codice legacy, il libro di Michael Feather lavorando in modo efficace con il codice legacy apparentemente contiene un sacco di consigli utili sui test tale codice.

Probabilmente lo sanno già, ma anche controllare Behavior Driven Development (BDD), che comprende un sacco di creare test di integrazione automatizzati, che credo sarebbe di interesse a voi.

Altri suggerimenti

Il problema con i nomi Test-Driven Development e Unità-testing , è che essi implicano sono circa test del software. Essi sono non . TDD e unit test sono circa progettazione e sono essenzialmente la responsabilità degli sviluppatori.

Il ruolo del QA Analyst è ancora della massima importanza in qualsiasi squadra pratica TDD e sarà un molto, molto di tempo prima che si ritrovi senza lavoro come QA di coscienza!

Date un'occhiata a Acceptance test driven sviluppo e prendere in considerazione ottenere coinvolto più allo stadio di requisiti scrivendo test di accettazione automatizzati, magari utilizzando uno strumento come FitNesse .

Manuale, test esplorativo ha ancora il suo posto, naturalmente. Ma si dovrebbe prendere in considerazione di ripetere i test di regressione come una violazione dei suoi diritti umani fondamentali!

Credo che gli sviluppatori dovrebbero almeno unit test di scrittura (possibilmente utilizzando TDD). Questo è lo standard minimo per garantire che il codice del check-in è potenzialmente funzionando.

ho capito il ruolo QA come qualcuno che fornisce test di livello superiore, per assicurarsi che il software soddisfi i requisiti dei clienti, in modo che non sarebbe davvero testare singole classi, ma moduli o l'intera applicazione. Anche se gli sviluppatori non forniscono unit test, si dovrebbe comunque essere in grado di automatizzare i test end-to-end (questa di solito comprende automatizzando il set up di ambiente di test, etc.) - il vostro lavoro sarà più frustrante però:)

Nella mia esperienza, la gente non girarsi durante la notte a scrivere tests-- convincerli è un processo. I programmatori alla fine con riluttanza provarlo, ma è ancora settimane o mesi prima che siano avvocati e praticanti regolari. Ciò non significa che si dovrebbe rinunciare, basta riconoscere che si tratta di una battaglia in salita, e ha bisogno di sostegno dall'alto, e alcuni buoni avvocati dal all'interno del team.

È possibile immergersi nella scrittura di test da soli:

Dato che circa la metà dei bug sono "regressioni" di bug precedenti, nella vostra situazione avrei concentrarsi sulla scrittura di test di regressione per i bug nuovo e strategico. Questo vi aiuterà in modo significativo nel vostro Q.A. normale lavoro, ma sarà anche un eccellente rete di sicurezza per i bug futuri.

Anche se non si può convincere immediatamente agli sviluppatori di test di scrittura, si avrà alcuni test importanti che saranno presto vedere il valore di. Questo lavoro può aiutare nel vendere l'idea degli sviluppatori di scrittura di unit test.

I stava lavorando in un ruolo simile diversi anni fa, così posso capire i tuoi problemi. Per ottenere gli sviluppatori fino a velocità con unit testing, vi suggerisco di mentoring e sessioni di coppia di programmazione. Scrivendo il primo test di unità per una classe mal progettato può essere un vero e proprio dolore. E 'più facile e più divertente se c'è due di voi -. Per non parlare abbassare l'occasione di fare errori stupidi nel refactoring iniziali

Il libro piume, come già menzionato da @Grant, è una risorsa inestimabile per questo. Siate pazienti e perseverare attraverso i primi mesi, prima che i risultati (sia in copertura di test e di atteggiamento di squadra) lentamente iniziano a mostrare.

È necessario disporre di un forte supporto di gestione, nonché - senza questo, non v'è alcun senso cercare. La gestione deve capire che la costruzione di test di unità è un di investimento , che utilizza una parte significativa del vostro tempo e di energia oggi , e pagherà solo indietro negli anni futuri. Se insistono a mantenere la stessa pressione termine, come sempre, sarà inevitabilmente fallire. Gli sviluppatori non possono imparare e praticare nuove abilità e modi di pensare se sono altamente stressati e / o demotivati.

(L'altro lato della medaglia è, naturalmente, che si deve pensare a se o non l'investimento porterà profitto. Imprese unit test per il codice legacy vale solo se i prevede di gestione che il prodotto sarà mantenuto e utilizzato per anni molti a venire).

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