L'abbiamo sperimentato molto.
Il problema principale, che ho sperimentato molto è che la funzionalità viene testata, sembra OK, la si spinge in produzione e poi si verificano problemi.
Il mio approccio a questo (sono un operatore di un solo uomo con 4 sviluppatori!) è un buon mix di test di regressione automatizzati combinati con test di unità della funzione corrente.
Non ho il tempo o la capacità di scrivere script (selenio nel mio caso) per tutte le varie funzionalità fornite, quindi quello che faccio è testato manualmente. Di solito è abbastanza semplice. Mi concentro su più browser, versioni e dispositivi a questo punto per vedere come stanno le cose. Cerco di inserire valori inusuali, fare clic su tutti i collegamenti, questo genere di cose.
Su una pista parallela sviluppo test automatizzati con Selenium. Questi sono buoni test di integrazione e sono davvero utili per ottenere quelle "conseguenze non volute" che accadono quando una cosa viene cambiata e influenza gli altri. Questi test rappresentano anche un vero flusso di lavoro dell'utente. Ho ogni suite ripartire da zero e costruire l'intero sistema. Quindi i dati vengono eliminati (anche attraverso l'interfaccia utente). Ho dovuto conoscere le variabili di selenio, xpath e css e javascript call-out per ottenere alcune delle cose più difficili ma ha avuto una grande ricompensa. Le suite si concentrano sulle funzionalità principali e sul flusso di lavoro del prodotto, non sulle ultime funzionalità.
Anche 'quando' il coinvolgimento del QA è importante. Ho visto due approcci a questo:
- Quando la funzione è stata codificata e consegnata ed è considerata "pronta per il QA"
- Durante la sessione di progettazione
È più facile da fare 1) ma questo porta a che il controllo qualità sia troppo tardi e, criticamente, non viene coinvolto nella progettazione o nel layout. Questo a sua volta porta a bassa motivazione e bassa soddisfazione lavorativa, che sono i due più grandi assassini per ottenere un lavoro di alta qualità. Secondo l'approccio 2) quando il QA è coinvolto in anticipo durante la progettazione, è più probabile che sia motivato a fare un buon QA quando sarà il momento.
Inoltre, assicurati che (e l'umorismo possa aiutarti) che il QA sa che è davvero buono quando trovano bug (s). È il loro lavoro e salva l'azienda dal metterla di fronte al cliente.
"Molti tester del QA ritengono rapidamente di diventare essi stessi proprietari di prodotti, trovando la possibilità di lavorare con questo, non contro di esso."