Non lo facciamo presso la nostra azienda, ma uno dei miei amici afferma che il suo project manager ha chiesto a tutti gli sviluppatori di aggiungere bug intenzionali poco prima che il prodotto passasse al QA. È così che funziona:
- Poco prima che il prodotto passi al QA, il team di sviluppo aggiunge alcuni bug intenzionali in punti casuali nel codice. Eseguono correttamente il backup del codice originale funzionante per assicurarsi che tali bug non vengano 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 un segno di incompetenza.
- Se è stato trovato un bug (intenzionale o meno), verrà segnalato dal team di sviluppo per la correzione. 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 responsabile del progetto afferma che un tester dovrebbe pensare come uno sviluppatore e dovrebbe aspettarsi nuovi bug nelle sezioni in cui sono state apportate modifiche.
Bene, ecco come va. Dicono che questo approccio ha i seguenti vantaggi.
- I tester saranno sempre pronti e testeranno come un matto. Ciò li aiuta a trovare anche bug nascosti (non intenzionali) in modo che gli sviluppatori possano risolverli.
- I tester si nutrono di bug. Non trovare alcun bug influenzerà il loro morale. Quindi dare loro una facile da trovare 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 svantaggi 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 rileva 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 cerca prima di riprodurlo sul codice di lavoro originale e cerca di risolverlo se può.
- Ignora i problemi di relazione tra QA e il team di sviluppo. Ho fatto specificamente questa domanda sui programmatori , non su The Workplace . Considera che esiste un buon rapporto tra QA e il team di sviluppo, e fanno festa insieme dopo l'orario di lavoro. Il project manager è un simpatico, vecchio signore, sempre pronto a supportare entrambe le squadre (Godsend).