defect management process
Introduzione al processo di gestione dei difetti:
Il processo e il test più mirati consentiranno di utilizzare software con meno bug sul mercato.
Prevenzione dei difetti è molto più efficiente ed efficace nel ridurre il numero di difetti ed è anche molto conveniente per riparare i difetti riscontrati durante la fase iniziale del processo del software. La maggior parte delle organizzazioni conduce Scoperta dei difetti , Rimozione dei difetti poi Miglioramento del processo che è noto collettivamente come a Processo di gestione dei difetti .
implementazione dello stack in c ++ utilizzando array
Cosa imparerai:
- Obiettivi del processo di gestione dei difetti (DMP)
- Ciclo di vita della gestione dei difetti
- Processo di gestione dei difetti
- Conclusione
- Lettura consigliata
Obiettivi del processo di gestione dei difetti (DMP)
Di seguito sono riportati i vari obiettivi di questo processo:
- Prevenire il difetto
- Rilevamento precoce
- Riduci al minimo l'impatto
- Risoluzione del difetto
- Miglioramento del processo
Prima di esplorare il processo di gestione dei difetti, dobbiamo prima capire cos'è effettivamente un difetto o un bug?
Ciclo di vita della gestione dei difetti
Quando un sistema fornisce un output diverso dai requisiti aziendali effettivi, ovvero quando si verifica una deviazione dai requisiti aziendali effettivi o originali, possiamo affermare che c'è un difetto nel sistema / software.
Quando il team di test esegue i casi di test, si imbatte in una situazione in cui il risultato del test effettivo è diverso dal risultato atteso. Questa variazione è definita come a Difetto .
Fondamentalmente, un difetto del software è una condizione che non soddisfa i requisiti del software. Il difetto è un errore o un difetto che produce un comportamento imprevisto o non corretto nel sistema.
Per gestire i progetti in modo appropriato, è necessario sapere come gestire lo sviluppo e il rilascio, ma insieme a questo è necessario anche sapere come gestire i difetti.
Immagina, cosa succederà se il team di test segnala i difetti verbalmente e il team di sviluppo aggiorna anche lo stato del difetto verbalmente? Il processo sarà più complicato in quanto questi difetti includono tutti i difetti come effettivamente riparati e funzionanti come previsto, risolti ma ancora non funzionanti, rifiutati, rinviati e il processo va avanti.
Nel caso precedente, man mano che il numero di difetti aumenta e la comunicazione viene eseguita verbalmente, la situazione sarà presto molto peggiore. Per controllare e gestire il difetto in modo efficace, è necessario un corretto ciclo di vita del difetto.
Il ciclo di vita dei difetti garantisce che il processo sia uniforme e standardizzato. Un difetto raggiunge diversi stati nel ciclo di vita. Dopo che un difetto è stato trovato, attraversa varie fasi durante la sua vita ed è comunemente noto come Ciclo di vita dei difetti .
In generale, il ciclo di vita del difetto inizia dalla fase in cui il difetto viene rilevato o rilevato dal team di test e termina quando un difetto viene chiuso, assicurandosi che non sia riproducibile o rifiutato da un team di sviluppo. Il numero di stati che un difetto attraversa varia da progetto a progetto.
Ulteriore lettura:
Nota: Il ciclo sottostante differisce leggermente da organizzazione a organizzazione.
Il seguente ciclo di vita del difetto copre tutti gli stati possibili:
- Ogni volta che il team di test rileva un difetto nell'applicazione, solleva il difetto con lo stato ' NUOVO '.
- Quando un nuovo difetto viene esaminato da un responsabile QA e se il difetto è valido, lo stato del difetto sarà ' Aperto 'Ed è pronto per essere assegnato al team di sviluppo.
- Quando un responsabile del QA assegna il difetto allo sviluppatore corrispondente, lo stato del difetto viene contrassegnato come ' Assegnato '. Uno sviluppatore dovrebbe iniziare ad analizzare e correggere il difetto in questa fase.
- Quando lo sviluppatore ritiene che il difetto non sia autentico o valido, lo sviluppatore rifiuta il difetto. Lo stato del difetto è contrassegnato come ' Respinto 'E riassegnato al team di test.
- Se il difetto registrato viene ripetuto due volte o entrambi i difetti segnalati hanno risultati e passaggi da riprodurre simili, lo stato di un difetto viene modificato in ' Duplicare '.
- Se ci sono alcuni problemi o ostacoli nella versione corrente per la correzione di un particolare difetto, allora il difetto sarà preso nelle prossime versioni invece che nella versione corrente e quindi sarà contrassegnato come ' Differito ' o ' Rinviato '.
- Quando uno sviluppatore non è in grado di riprodurre il difetto tramite i passaggi menzionati in 'Passaggi da riprodurre' dal team di test, lo sviluppatore può contrassegnare il difetto come ' Non riproducibile ' . In questa fase, il team di test dovrebbe fornire passaggi di riproduzione dettagliati a uno sviluppatore.
- Se lo sviluppatore non è chiaro sui passaggi da riprodurre forniti da un QA per riprodurre il difetto, può contrassegnarlo come ' Hai bisogno di più informazioni '. In questo caso, il team di test deve fornire i dettagli richiesti al team di sviluppo.
- Se un difetto è già noto e attualmente presente nell'ambiente di produzione, il difetto viene contrassegnato come ' Difetto noto '.
- Quando uno sviluppatore apporta le modifiche necessarie, il difetto viene contrassegnato come ' Fisso '.
- Lo sviluppatore ora passa il difetto al team di test per verificarlo, quindi lo sviluppatore cambia lo stato come ' Pronto per il test '.
- Se il difetto non presenta ulteriori problemi ed è stato verificato correttamente, il tester contrassegna il difetto come ' Chiuso '.
- Durante la ripetizione del test del difetto, se il tester rileva che il difetto è ancora riproducibile o parzialmente risolto, il difetto verrà contrassegnato come ' Riaperto '. Ora lo sviluppatore deve esaminare nuovamente questo difetto.
Un ciclo di vita dei difetti ben pianificato e controllato fornisce il numero totale di difetti riscontrati in una versione o in tutte le versioni. Questo processo standardizzato fornisce un'immagine chiara di come è stato scritto il codice, di come è stato eseguito correttamente il test, di come è stato rilasciato il difetto o il software, ecc. Ciò ridurrà il numero di difetti in produzione trovando i difetti nel test fase stessa.
Processo di gestione dei difetti
Il processo di gestione dei difetti è spiegato di seguito in dettaglio.
# 1) Prevenzione dei difetti:
Prevenzione dei difetti è il metodo migliore per eliminare i difetti nella fase iniziale del test invece di trovare i difetti nella fase successiva e quindi risolverli. Questo metodo è anche conveniente in quanto il costo richiesto per riparare i difetti riscontrati nelle prime fasi del test è molto basso.
Tuttavia, non è possibile rimuovere tutti i difetti ma almeno è possibile ridurre al minimo l'impatto del difetto e il costo per riparare lo stesso.
I passaggi principali coinvolti nella prevenzione dei difetti sono i seguenti:
- Identifica il rischio critico : Identificare i rischi critici nel sistema che avranno un impatto maggiore se si verificano durante il test o nella fase successiva.
- Stima dell'impatto previsto : Per ogni rischio critico, calcolare quanto sarebbe l'impatto finanziario se il rischio fosse effettivamente incontrato.
- Ridurre al minimo l'impatto previsto : Una volta identificati tutti i rischi critici, assumersi i rischi maggiori che potrebbero essere dannosi per il sistema se riscontrati e cercare di ridurre al minimo o eliminare il rischio. Per i rischi che non possono essere eliminati, riduce la probabilità di accadimento e il suo impatto finanziario.
# 2) Baseline dei risultati finali:
Quando un deliverable (sistema, prodotto o documento) raggiunge il traguardo predefinito, si può dire che un deliverable è una linea di base. In questo processo, il prodotto o il deliverable si sposta da una fase all'altra e man mano che il deliverable si sposta da una fase all'altra, anche i difetti esistenti nel sistema vengono trasferiti alla milestone o fase successiva.
Per esempio, considerare uno scenario di codifica, test di unità e quindi test di sistema. Se uno sviluppatore esegue la codifica e il test dell'unità, il test del sistema viene eseguito dal team di test. Qui la codifica e il test unitario sono una pietra miliare e il test di sistema è un'altra pietra miliare.
Pertanto, durante i test unitari, se lo sviluppatore rileva alcuni problemi, non viene considerato un difetto poiché questi problemi vengono identificati prima del raggiungimento della scadenza della pietra miliare. Una volta che la codifica e il test unitario sono stati completati, lo sviluppatore consegna il codice per il test del sistema e quindi puoi dire che il codice è 'Baselined' e pronto per il prossimo traguardo, qui, in questo caso, è 'test di sistema'.
Ora, se i problemi vengono identificati durante il test, viene chiamato come il difetto poiché viene identificato dopo il completamento della pietra miliare precedente, ovvero codifica e test unitario.
Fondamentalmente, i deliverable sono fondamentali quando le modifiche ai deliverable sono finalizzate e tutti i possibili difetti sono identificati e corretti. Quindi lo stesso risultato finale passa al gruppo successivo che ci lavorerà.
# 3) Rilevamento dei difetti:
È quasi impossibile rimuovere tutti i difetti dal sistema e rendere un sistema privo di difetti. Ma puoi identificare i difetti in anticipo prima che diventino più costosi per il progetto. Possiamo dire che il difetto scoperto significa che è stato formalmente portato all'attenzione del team di sviluppo e dopo l'analisi di ciò anche il team di sviluppo del difetto lo ha accettato come difetto.
I passaggi coinvolti nel rilevamento dei difetti sono i seguenti:
- Trova un difetto : Identificare i difetti prima che diventino un grave problema per il sistema.
- Segnala difetto : Non appena il team di test trova un difetto, la sua responsabilità è di rendere consapevole il team di sviluppo che è stato identificato un problema che deve essere analizzato e risolto.
- Riconosci il difetto : Una volta che il team di test assegna il difetto al team di sviluppo, è responsabilità del team di sviluppo riconoscere il difetto e continuare ulteriormente a risolverlo se si tratta di un difetto valido.
# 4) Risoluzione dei difetti:
Nel processo di cui sopra, il team di test ha identificato il difetto e lo ha riferito al team di sviluppo. Ora qui il team di sviluppo deve procedere per la risoluzione del difetto.
qual è il sistema operativo nel computer
I passaggi coinvolti nella risoluzione del difetto sono i seguenti:
- Dai la priorità al rischio : Il team di sviluppo analizza il difetto e dà la priorità alla correzione del difetto. Se un difetto ha un impatto maggiore sul sistema, la risoluzione del difetto è prioritaria.
- Correggi il difetto : In base alla priorità, il team di sviluppo corregge il difetto, i difetti con priorità più alta vengono risolti per primi e quelli con priorità più bassa vengono corretti alla fine.
- Segnala la risoluzione : È responsabilità del team di sviluppo garantire che il team di test sia a conoscenza di quando i difetti stanno per essere risolti e di come il difetto è stato risolto, ad esempio modificando uno dei file di configurazione o apportando alcune modifiche al codice. Ciò sarà utile per il team di test per comprendere la causa del difetto.
# 5) Miglioramento del processo:
Sebbene nel processo di risoluzione dei difetti i difetti siano prioritari e corretti, dal punto di vista del processo, ciò non significa che i difetti di priorità inferiore non siano importanti e non abbiano un impatto molto sul sistema. Dal punto di vista del miglioramento del processo, tutti i difetti identificati sono identici a un difetto critico.
Anche questi piccoli difetti danno l'opportunità di imparare come migliorare il processo e prevenire il verificarsi di qualsiasi difetto che possa avere un impatto sul guasto del sistema in futuro. L'identificazione di un difetto che ha un impatto minore sul sistema potrebbe non essere un grosso problema, ma il verificarsi di tale difetto nel sistema stesso è un grosso problema.
Per il miglioramento del processo, tutti nel progetto devono guardare indietro e controllare da dove è stato originato il difetto. Sulla base di ciò è possibile apportare modifiche al processo di convalida, al documento di base, al processo di revisione che possono rilevare i difetti nelle prime fasi del processo che sono meno costosi.
Conclusione
Il processo di gestione dei difetti dovrebbe essere seguito durante l'intero processo di sviluppo del software e non solo per specifiche attività di test o sviluppo.
Se viene rilevato un difetto nella fase di test, è possibile sollevare la domanda che se il difetto viene rilevato in questa fase, allora che dire degli altri difetti presenti nel sistema che potrebbero causare un guasto del sistema se si verifica e non è ancora scoperto.
Quindi tutti i processi come il processo di revisione, i test statici, l'ispezione, ecc., Devono essere rafforzati e tutti i partecipanti al progetto dovrebbero essere seri riguardo al processo e contribuire laddove necessario. L'alta dirigenza dell'organizzazione dovrebbe anche comprendere e supportare il processo di gestione dei difetti.
Approcci di test, processo di revisione, ecc., Dovrebbero scegliere in base all'obiettivo del progetto o al processo organizzativo.
Spero che questo articolo informativo sul processo di gestione dei difetti ti sia di immenso aiuto.
Lettura consigliata
- Che cos'è la tecnica di test basata sui difetti?
- Processo di valutazione dei difetti e modi per gestire la riunione di valutazione dei difetti
- Che cos'è il ciclo di vita di difetti / bug nei test del software? Tutorial sul ciclo di vita dei difetti
- Tutorial Bugzilla: Tutorial pratico dello strumento di gestione dei difetti
- Metodi e tecniche di prevenzione dei difetti
- Tutorial di IBM Rational Team Concert Defect Management Tool
- Come riprodurre un difetto non riproducibile e fare in modo che ne valga la pena
- Il test del software riguarda le idee (e come generarle)