Software raramente è esente da errori o difetti . Anche se i difetti di software possono talvolta essere disastroso , possono essere prevenute o ridotte al minimo attraverso buone pratiche di garanzia della qualità , la gestione della configurazione e tecnologie di monitoraggio dei difetti . Il difetto del ciclo di vita del software , che si sovrappone allo sviluppo del ciclo di vita del software ( SDLC ) , ci permette di tracciare i difetti ed eliminarli il più presto possibile nel SDLC . Definizione
"difetto del software" ha molti nomi intercambiabili: bug software , errore , errore, guasto , incidente e anomalia . L'Istituto per l'ingegneria elettrica ed elettronica ( IEEE ) , l'organismo di normalizzazione disciplinare anche la professione del software , definisce un bug software come un errore di programmazione che causa il malfunzionamento del software . IEEE vede difetto come un'anomalia prodotto quando il software non è conforme alle aspettative del cliente e le specifiche . Un incidente è un caso estremo di un difetto software che blocca il software da ulteriori lavorazioni .
Alcune fonti di difetti
difetti software possono derivare da mal interpretare le esigenze dei clienti , poveri abitudini di programmazione , la logica di programmazione sbagliata , povera di prova e anche non testati scenari di implementazione del software. Ad esempio, un cliente che specifica uno sfondo blu di un sito web e lo sviluppatore producendo uno sfondo bianco è un difetto . Anche se il sito funziona bene , non soddisfa le esigenze del cliente.