Bebugging

Talvolta può capitare che il team di testing non trovi errori nel programma sotto osservazione. Oltre ad essere scoraggiante per chi esegue la review questo è spesso indice del fatto che tale attività non viene svolta in maniera corretta, poiché raramente un programma è effettivamente corretto al 100% dopo la prima scrittura.

Un metodo efficace per risolvere questo problema è il cosiddetto bebugging, una tecnica secondo la quale gli sviluppatori inseriscono deliberatamente \(\bf{n}\) errori nel codice prima di mandarlo in analisi al team di testing, a cui viene comunicato il numero \(n\) di errori da trovare. L’ovvio vantaggio di questa tecnica è l’incentivo per il team di testing a continuare a cercare errori, facendo sì che durante la ricerca ne vengano scovati molti altri non ancora noti.

La metrica utilizzata per valutare l’efficacia del testing tramite questa tecnica è dunque la percentuale di errori trovati tra quelli inseriti artificialmente, che può fornire un’indicazione della frazione di errori che il team di testing è in grado di trovare. Se per esempio il team di sviluppo ha aggiunto 10 bug “artificiali” e durante il testing ne vengono trovati 8 più 2 non noti, si può supporre che il team di review riesce a trovare l’80% degli errori e che quindi ce ne è ancora un altra porzione di errori reali da scovare.
Bisogna però essere molto cauti nel fare considerazioni di questo tipo: è possibile che gli errori immessi artificialmente siano troppo facili o troppo difficili da trovare, per cui conviene sempre prendere tutto con le pinze.