Home
topics
Che cos'è il monitoraggio dei bug?
Il monitoraggio dei bug è il processo di registrazione e monitoraggio dei bug o degli errori durante il test del software. Viene anche definito monitoraggio dei difetti o monitoraggio dei problemi.
I sistemi di grandi dimensioni possono avere centinaia o migliaia di difetti, ciascuno dei quali deve essere valutato e monitorato, e al quale deve essere assegnata la priorità per il debug. A volte, può essere necessario monitorare i bug per un lungo periodo.
"Il monitoraggio dei difetti è un processo importante nell'ingegneria del software, poiché i sistemi complessi e business-critical contengono centinaia di difetti", afferma Tutorials Point. "Uno dei fattori più impegnativi è la gestione, la valutazione e la definizione delle priorità di questi difetti. Il loro numero viene moltiplicato per un periodo di tempo e, per gestirli in modo efficace, viene utilizzato un sistema di tracciamento che semplifica il lavoro". 1
Scopri in che modo il Desktop as a Service (DaaS) consente alle aziende di raggiungere lo stesso livello di prestazioni e sicurezza della distribuzione delle applicazioni on-premise.
Un bug del software si verifica quando un'applicazione o un programma non funzionano come dovrebbero. La maggior parte degli errori sono guasti o errori commessi dagli architetti di sistema, dai progettisti o dagli sviluppatori. I team di test utilizzano il monitoraggio dei bug per controllare e segnalare gli errori che si verificano durante lo sviluppo e il test di un'applicazione.
"Un componente importante di un sistema di tracciamento dei bug è un database che registra i fatti sui bug noti", afferma Wikipedia. "I fatti possono includere l'ora in cui è stato segnalato un bug, la sua gravità, il comportamento errato del programma e dettagli su come riprodurre il bug, oltre all'identità della persona che ha segnalato il problema e di eventuali programmatori che possono risolverlo." 2
Nel corso della sua vita, un singolo difetto può attraversare diverse fasi o stati. Eccone alcuni:
I bug vengono gestiti in base alla loro priorità e alla gravità. I livelli di gravità aiutano a identificare l'impatto relativo di un problema sul rilascio di un prodotto. Queste classificazioni possono variare per numero, ma generalmente sono una delle seguenti:
Di solito, gli stati e i livelli di gravità vengono monitorati in un database di monitoraggio dei bug. Una buona piattaforma di tracciamento si collega anche a sistemi di sviluppo e gestione del software più ampi: consente di valutare meglio lo stato degli errori e il potenziale impatto sulla produzione e sulle tempistiche complessive.
Si stima che gli sviluppatori di software effettuino da 100 a 150 errori per ogni mille righe di codice.4 Secondo un report del Consortium for IT Software Quality (CISQ): "Anche se solo una piccola frazione, ad esempio il 10%, di questi errori sono gravi, un'applicazione relativamente piccola di 20.000 righe di codice avrà circa 200 errori di codifica gravi". 5
Testare il software è essenziale per isolare e mitigare gli errori. Un buon processo di QA può rivelare centinaia o addirittura migliaia di difetti, e i team di test devono gestirli tutti. L'integrazione del tracciamento dei bug nel workflow di test migliora l'efficienza, aiutando i tester a definire le priorità, a monitorare e a creare report sullo stato di ogni errore.
"Il monitoraggio dei difetti aiuta a garantire che i bug rilevati nel sistema vengano effettivamente risolti", afferma la consulente di Agile, Yvette Francino. "Gli strumenti di monitoraggio non solo forniscono un modo per garantire il follow-through, ma anche parametri preziosi. A seconda dello strumento utilizzato, il team può collegare i difetti al codice modificato, ai test o ad altri dati che consentiranno la tracciabilità o l'analisi delle tendenze dei difetti. Se un certo modulo è pieno di difetti, potrebbe essere il momento di rivederlo e riscriverlo." 6
Idealmente, i test dovrebbero essere eseguiti il prima possibile, quando i bug sono più facili e molto meno costosi da correggere. Uno studio precedente condotto da IBM ha rilevato che la correzione dei difetti riscontrati dopo la produzione o dopo il rilascio può costare 15 volte di più rispetto alla risoluzione nelle prime fasi dello sviluppo.
Molti team utilizzano ora una metodologia nota come test continuo, secondo la quale i test di qualità e il feedback vengono condotti in tutte le fasi dello sviluppo, dalla progettazione al coding, fino all'implementazione. Anche le tecnologie moderne come l'intelligenza artificiale (AI) possono aiutare il processo di test rilevando e analizzando i bug all'inizio del ciclo di vita.
Il controllo qualità è fondamentale per sviluppare applicazioni robuste. Gli strumenti di test software, gestione delle modifiche e tracciamento dei bug consentono ai team di scoprire i difetti, misurarne la portata e l'impatto e risolverli.
Nella Harvard Business Review, Nicholas Bowen illustra un processo per la gestione dei difetti. Il primo passo è la classificazione e l'assegnazione delle priorità: "In generale, i team daranno la priorità a due tipi di bug: quelli che causano il crash di un sistema e quelli che sono meno gravi ma potrebbero essere pervasivi.... Successivamente, bisogna decidere il tempo di risposta target per ciascuno livello di gravità. Se il sistema di gestione della qualità è nuovo, il focus iniziale deve essere rivolto alla risoluzione dei bug più gravi entro poche ore o pochi giorni. Mentre utilizzi il tuo sistema, puoi raccogliere dati su due metriche chiave, cioè il tasso di bug in entrata e la produttività delle correzioni dei bug, e modificare i tuoi obiettivi in base alle necessità". Afferma inoltre che le organizzazioni devono creare un sistema in cui i difetti e il tempo necessario per risolverli possono essere esaminati a tutti i livelli, dai CEO in giù.7
Un buon sistema di monitoraggio dei bug può aiutare questo processo fornendo un unico workflow per il monitoraggio dei difetti, il reporting e la tracciabilità del ciclo di vita. Deve inoltre collegarsi ad altri sistemi di gestione per ottenere visibilità e feedback condivisi sia all'interno dello sviluppo del software che nell'organizzazione a livello più ampio. IBM Rational ClearQuest, ad esempio, fornisce una piattaforma centralizzata per il monitoraggio e la segnalazione degli errori. Si integra con altri sistemi di sviluppo e gestione delle modifiche di IBM e aiuta a migliorare la comunicazione e la collaborazione tra sviluppatori, operazioni e team più ampi.
Inoltre, cerca sistemi di test e tracciamento che utilizzino l'AI per rilevare gli errori nelle prime fasi del processo di sviluppo. Può ottimizzare il numero e i tipi di test eseguiti dai team, automatizzare il processo di test e utilizzare l'AI per analizzare i difetti passati e prevenirli in futuro.
Software di gestione delle modifiche che aiuta a migliorare la produttività degli sviluppatori adattando le metodologie, i processi e gli strumenti più adatti al progetto e al team.
Ottieni i risultati dei test di sviluppo più velocemente. Riduci i rischi e i costi correggendo i difetti in anticipo.
Ottieni insight completi dai più diffusi strumenti di integrazione e distribuzione continua per aumentare la velocità, la qualità e il controllo delle tue applicazioni.
L'ingegneria della piattaforma è il futuro del DevOps. Accelera il time-to-market (TTM) con l'esperienza degli sviluppatori.
Scopri i tipi, i vantaggi e l’evoluzione dei test del software.
IBM Developer fornisce gli strumenti per aiutare gli sviluppatori a creare e mantenere componenti software.
Scopri come i test continui integrati accelerano lo sviluppo delle applicazioni.
Tutti i link sono esterni a ibm.com
1 https://www.tutorialspoint.com/software_testing_dictionary/defect_logging_and_tracking.htm
2 https://en.wikipedia.org/wiki/Bug_tracking_system
3 https://www.tutorialspoint.com/software_testing_dictionary/defect_life_cycle.htm
4 https://www.it-cisq.org/the-cost-of-poor-quality-software-in-the-us-a-2018-report/The-Cost-of-Poor-Quality-Software-in-the-US-2018-Report.pdf
5 https://www.it-cisq.org/the-cost-of-poor-quality-software-in-the-us-a-2018-report/The-Cost-of-Poor-Quality-Software-in-the-US-2018-Report.pdf
6 https://techbeacon.com/app-dev-testing/pros-cons-defect-tracking
7 https://hbr.org/2019/09/why-fixing-software-bugs-should-be-the-ceos-problem