Non lo facciamo nella nostra azienda, ma uno dei miei amici dice che il suo project manager ha chiesto ad ogni sviluppatore di aggiungere bug intenzionali appena prima che il prodotto andasse al QA. Funziona così:
- Poco prima che il prodotto vada al QA, il team di sviluppo aggiunge alcuni bug intenzionali a posizioni casuali nel codice. Eseguono correttamente il backup del codice originale e funzionante per assicurarsi che tali bug non siano stati spediti con il prodotto finale.
- Anche i tester sono informati di questo. Quindi testeranno duramente, perché sanno che ci sono bug presenti e che non trovarli potrebbe essere considerato come un segno di incompetenza.
- Se è stato trovato un bug (intenzionale o meno), verranno segnalati per il team di sviluppo da correggere. Il team di sviluppo aggiunge quindi un altro bug intenzionale in una sezione correlata del codice appena prima che il prodotto passi al QA di secondo livello. Il project manager dice che un tester dovrebbe pensare come uno sviluppatore e dovrebbe aspettarsi nuovi bug nelle sezioni in cui sono state apportate modifiche.
Bene, questo è come va. Dicono che questo approccio ha i seguenti vantaggi.
- I tester saranno sempre in punta di piedi e testeranno come pazzi. Questo li aiuta anche a trovare bug nascosti (non intenzionali) per gli sviluppatori può risolverli.
- I tester si nutrono di bug. Non trovare bug può influenzare il loro morale. Quindi dare loro una facile scoperta aiuterà il loro morale.
Se ignori lo scenario in cui uno di questi bug intenzionali viene spedito con il prodotto finale, quali sono gli altri inconvenienti che dovremmo considerare prima ancora di pensare di adottare questo approccio?
Alcuni chiarimenti:
- Eseguono correttamente il backup del codice originale nel controllo del codice sorgente.
- Quando un tester trova il bug intenzionale, il team di sviluppo lo ignora. Se il tester rileva un bug non intenzionale (originale), il team di sviluppo controlla innanzitutto se è causato da uno qualsiasi dei bug intenzionali. Cioè, il team di sviluppo prima cerca di riprodurlo sul codice di lavoro originale e prova a correggerlo se possibile.
- Ignora semplicemente i problemi di relazione tra il QA e il team di sviluppo. Ho fatto specificamente questa domanda su Programmers , non su The Workplace . Considera che vi è un buon rapporto tra il controllo della qualità e il team di sviluppo e si riuniscono dopo l'orario di lavoro. Il project manager è un simpatico, vecchio gentiluomo che è sempre pronto a supportare entrambe le squadre (Godsend).