È legittimo chiudere un bug come duplicato di un altro bug ancora aperto?

5

Spesso ecco il seguente schema: un bug è risolto / chiuso come duplicato di un altro bug ancora aperto / non risolto.

Ho difficoltà a comprendere il ragionamento alla base di questa strategia. Dal mio punto di vista ingenuo, c'è almeno un aspetto negativo importante: non esiste un modo semplice per verificare che questo sia davvero un duplicato.

Normalmente, c'è una buona euristica per verificare se un bug è corretto: basta eseguire il test del riproduttore / rotto e vedere se il risultato è giusto - quasi tutti possono farlo. Tuttavia, nel caso della duplicazione (purché il bug originale non sia corretto), la verifica può essere fatta solo comprendendo il codice e il ragionamento su di esso - e molto spesso l'unica persona in grado di farlo, è il persona che chiude il bug come duplicato.

Un approccio più ragionevole potrebbe essere quello di contrassegnare l'errore come duplicato, di risolvere / chiudere il bersaglio duplicato e solo successivamente di risolvere / chiudere il duplicato. Ora il tester può facilmente verificare che tutti i problemi siano risolti eseguendo i riproduttori.

La chiusura di un bug come duplicato di un bug non risolto considera un modo standard di gestire i bug duplicati? E se sì, perché è considerato legittimo?

    
posta ead 20.12.2018 - 22:48
fonte

3 risposte

9

Nei casi in cui è assolutamente chiaro che il problema / root causa è lo stesso (ad esempio si blocca con lo stesso traceback che si verifica nelle stesse condizioni, segnalato solo da diversi clienti) sì, chiudendolo come duplicato è IMHO perfettamente OK: il monitoraggio dei 2 (o più) problemi separatamente è solo uno spreco di tempo / risorse.

In altri casi la marcatura come duplicata potrebbe essere fatta da sviluppatori con conoscenza approfondita del rispettivo codice e comprensione del fatto che il problema è effettivamente un duplicato. Debutto però - gli umani commettono errori.

Hai ragione che per essere perfettamente corretto si dovrebbe chiudere un problema come duplicato solo quando il problema originale viene risolto e si verifica che la correzione risolva anche il problema dei duplicati candidati. Ma potrebbe essere costoso, soprattutto se il sistema di tracciamento non supporta specificamente tale capacità. Ad esempio, tracciare l'effettivo arretrato di problemi aperti sarebbe difficile senza essere in grado di distinguere tra "originali" e duplicati.

In alcuni casi un compromesso accettabile (anche leggermente discutibile) è quello di consentire la marcatura di un problema come duplicato (per risparmiare), ma con il mittente che ha sempre il diritto di riaprirlo se / quando il problema originale è stato risolto, ma il problema in questione non lo è. In genere questo sarebbe verificato (di solito dal mittente originale) come controllo di gating (se applicabile).

    
risposta data 21.12.2018 - 05:21
fonte
5

Vuoi avere una visione chiara dei problemi con un software.

Se un sistema ha 10 problemi, vuoi 10 bug aperti. Non 10.000 bug aperti di duplicati.

Vuoi anche la quantità minima di amministrazione. Quindi chiudere un bug come duplicato quando qualcuno lo trova è la cosa più sensata da fare. Il tempo è costoso e si desidera trascorrere il minor tempo possibile sui duplicati.

Dovrebbe comunque esserci un processo per riaprire il tuo problema se il duplicato risulta non essere così duplicato.

    
risposta data 21.12.2018 - 11:13
fonte
0

Vuoi un posto unico, non ambiguo, canonico per un problema da discutere. Avere un secondo ticket aperto rende difficile capire quale ticket è effettivamente utilizzato: se lo sviluppatore A inizia a esaminare il problema e lascia un commento con i suoi progressi, allora vuoi assicurarti che lo sviluppatore B (o sviluppatore A una settimana in seguito, per quella questione) vede quel commento, piuttosto che perderlo perché stavano guardando un biglietto diverso che descrive lo stesso problema.

Idealmente, quando il duplicato viene chiuso, tutte le nuove informazioni che sono finite su di esso devono essere copiate sul biglietto originale.

    
risposta data 31.12.2018 - 20:21
fonte

Leggi altre domande sui tag