Differenza tra un difetto e un bug nei test?

Qual è la differenza tra un difetto e un bug?

Commenti

  • Leggi testingstandards.co.uk/bs_7925-1_online.htm per maggiori informazioni
  • Ci sono bug che in realtà dicono che manca qualcosa, il che significa che sono richieste di funzionalità, non bug.
  • La risposta dipende dallo scopo per cui lo stai chiedendo.
  • Cerca letimologia della parola difetto. De = no, un. Facere = fai. Quindi, non fa (come previsto), non esegue, è rotto, kaput. Mentre bug significa ” qualcosa nelle opere che impedisce le prestazioni “. Alla fine della giornata dovrai aggiustare qualcosa, quindi è tutto accademico. Ho votato per chiudere, don ‘ hai qualche bug da correggere ?!

Rispondi

  • Un bug è il risultato di un errore di codifica

  • Un difetto è una deviazione dai requisiti

Ovvero: un difetto non significa necessariamente che sia presente un bug nel codice , potrebbe essere una funzione non implementata ma definita nei requisiti del software.


Dalla pagina di Wikipedia su test del software :

Non tutti i difetti del software sono causati da errori di codifica. Una fonte comune di difetti costosi è causata da lacune nei requisiti, ad esempio requisiti non riconosciuti, che si traducono in errori di omissione da parte del progettista del programma. Una fonte comune di lacune nei requisiti è rappresentata da requisiti non funzionali come testabilità, scalabilità, manutenibilità, usabilità, prestazioni e sicurezza.

Commenti

  • Entrambi sono ” deviazioni dai requisiti ” per come la vedo io.
  • Un difetto ‘ non deve essere un bug. Inoltre, un bug non ‘ deve significare che un requisito non è stato soddisfatto e quindi ‘ una deviazione dal requisito ‘
  • Sembra che ti manchi il punto @Martin. Sì, un bug può essere un difetto. Sì, un difetto può essere un bug. Ma questo non è ‘ necessariamente sempre vero. Solo perché cè qualche sovrapposizione, ‘ non significa che siano identici! Diagramma di Venn del bug & Difetto – > (())
  • @Dan McGrath: fondamentalmente quello che hai fatto qui è la tua definizione di bug. Ma in generale non esiste ‘ nessun significato definito, ‘ è solo un gergo tecnico!
  • @DanMcGrath : Il tuo diagramma di Venn è inutile. Potrebbe significare ({}) o ({)} . Presumo che tu intendessi il secondo.

Risposta

Citando Ilene Burnstein dal libro Practical Software Testing (consigliato) che parte dalla definizione negli” IEEE Standards Collection for Software Engineering “(1994) e” IEEE Standard Glossary of Software Engineering Terminology “(standard 610.12, 1990):

Errore

Un errore è un errore, un malinteso o un malinteso da parte di uno sviluppatore di software

Nella categoria degli sviluppatori includiamo ingegneri del software, programmatori, analisti e tester. Ad esempio, uno sviluppatore potrebbe fraintendere una notazione di progettazione o un programmatore potrebbe digitare un nome di variabile in modo errato.

Errori (difetti)

Viene introdotto un errore (difetto) nel software come risultato di un errore. È unanomalia nel software che può causare un comportamento errato e non conforme alle sue specifiche.

I guasti o i difetti sono talvolta chiamati “bug”. Luso di questultimo termine banalizza limpatto che i guasti hanno sulla qualità del software. Luso del termine “difetto” è anche associato ad artefatti software come requisiti e documenti di progettazione. I difetti che si verificano in questi artefatti sono causati anche da errori e di solito vengono rilevati durante il processo di revisione.

Errori

Un guasto è lincapacità di un sistema o componente software di eseguire le funzioni richieste entro i requisiti prestazionali specificati.

Durante lesecuzione di un componente o sistema software, un tester, uno sviluppatore, oppure lutente osserva che non produce i risultati attesi. In alcuni casi un particolare tipo di comportamento scorretto indica che è presente un certo tipo di guasto. Possiamo dire che il tipo di comportamento scorretto è un sintomo della colpa.Uno sviluppatore / tester esperto avrà una base di conoscenza di guasti / sintomi / casi di guasto (modelli di guasto come descritto nel Capitolo 3) archiviati in memoria. Un comportamento errato può includere la produzione di valori errati per le variabili di output, una risposta errata da parte di un dispositivo o unimmagine errata su uno schermo. Durante lo sviluppo gli errori vengono solitamente osservati dai tester e gli errori vengono individuati e riparati dagli sviluppatori.

Puoi leggere lintero capitolo in Google Libri, qui .

Risposta

Ci sono alcuni termini diversi relativi a bug del software. Estratto da un corso che ho seguito:

  • Errore : azione umana o omissione che risulta in un errore.

  • Fault : Fault è un software difetto (passaggio, processo o definizione dati errati) che causa un errore.

  • Bug : come lerrore.

  • Errore : il incapacità di un software di eseguire le sue funzioni richieste entro specifici requisiti di prestazione.

Secondo questo, non cè differenza tra un difetto e un bug. Tuttavia, alcune persone sostengono che il bug sia un errore che si trova prima di rilasciare il software, mentre il difetto è quello riscontrato dal cliente.

Non ho potuto resistere alla pubblicazione del famoso “primo vero caso di bug trovato “.

testo alternativo

Commenti

  • Infine, qualcuno che ha letto: testingstandards.co.uk/bs_7925-1_online.htm
  • That ‘ Non è da dove lho preso, ma potrebbero avere una fonte comune (o questa potrebbe essere la fonte).
  • Sì, molti, molti anni fa ho passato un po di tempo a cercare di correggere un bug. aveva qualche fastidioso sfarfallio in una cella dello schermo e non aveva senso. Alla fine è volato via. (Era nellera del testo bianco su uno schermo nero, il punto in questione era abbastanza lontano a destra per essere sempre nero mentre Stavo modificando, quindi lho notato solo quando il programma ha messo un po di bianco dietro di esso.)

Answer

Oh caro.

Ai vecchi tempi – il funzionamento difettoso di un computer era causato da ogni genere di cose, inclusi i topi che masticavano i cavi e gli insetti reali (creature) che entravano nei lavori.

termine BUG è rimasto bloccato come un termine che significa qualcosa che non funziona come previsto.

BUG dovrebbe essere considerato come un termine gergale che significa un difetto.

Un difetto è un termine tecnicamente corretto che significa che la cosa non va come dovrebbe.

Ove possibile, luso di DEFECT invece di BUG porta in realtà con sé una connotazione che riconosciamo i nostri fallimenti (i nostri difetti, la nostra mancanza di comprensione dei requisiti dellutente o delle cose abbiamo trascurato nellimplementazione) invece di vestirlo come il più banale “bug”.

Usa DEFECT.

Cerca di non usare il termine BUG. È sciocco, irrilevante, storico e banale.

Commenti

  • Perché rimuovere dalluso un termine tecnico ben compreso? Mi ‘ mi dispiace … sì, BUG è storico, ma se pensi che i programmatori considerino i bug (genericamente anziché specifici) banali solo perché ‘ è stato chiamato bug o il termine come irrilevante a causa delle sue origini, quindi ‘ temo che il mio trasformarsi in un burbero di mezza età sia del tutto giustificato. Oh, e come sottolinea @Dan, i bug sono difetti ma i difetti non sono ‘ t necessariamente bug, il che suggerisce ulteriormente che il termine ha valore.
  • @Murph, a ” bug ” è un eufemismo per un errore di programmazione. Inconsciamente questo alletta a una specie di gremlin su cui lo sviluppatore non ha alcun controllo. Questo non è corretto: è un errore e riconoscerlo è un passo verso un comportamento più professionale. (Imho ovviamente :-))
  • Ehm, chiaramente non sono daccordo (-: so esattamente chi è responsabile dei bug – errori di codifica ed errori logici – che ho nel mio codice. (I ‘ sono anche in grado di identificare errori nel codice di altre persone ‘). Tutti i programmatori che conosco sanno bene cosa significa il termine: beh, qualche programmatore) e non una specie di gremlin ha commesso un errore.
  • Quando hai a che fare con i tuoi clienti puoi chiamare queste cose bug, o difetti. Bugs è gergo. Difetti è un riconoscimento, al di fuori del gergo, che non è come dovrebbe essere. ” Difetti ” è un termine che è e incoraggia una comunicazione chiara, anche al di fuori della comunità di programmazione come dentro.(Non sono inoltre daccordo sul fatto che ci sia una differenza tra un bug e un difetto.)
  • Difetti è il termine corretto. Quanti programmi vengono rilasciati con bug e tutti lo accettiamo? Ma quanti programmi vengono rilasciati con difetti? Non lo accetteremmo ‘ perché il termine implica una gravità maggiore e sappiamo che ‘ è colpa nostra per lerrore, piuttosto di un bug in cui possiamo incolpare il tempo o lora del giorno.

Risposta

Dallo standard IEEE Glossario della terminologia dellingegneria del software, citato nel KA del corpo di conoscenza dellingegneria del software per il test e la qualità del software:

bug. Vedi: errore; errore.


errore. (1) La differenza tra un valore o una condizione calcolato, osservato o misurato e il valore o la condizione vero, specificato o teoricamente corretto. Ad esempio, una differenza di 30 metri tra un risultato calcolato e il risultato corretto. (2) Una fase, un processo o una definizione dei dati errati. Ad esempio, unistruzione errata in un programma per computer. (3) Un risultato errato. Ad esempio, un risultato calcolato di 12 quando il risultato corretto è 10. (4) Unazione umana che produce un risultato errato. Ad esempio, unazione errata da parte di un programmatore o operatore. Nota: sebbene tutte e quattro le definizioni siano comunemente utilizzate, una distinzione assegna la definizione 1 alla parola “errore”, la definizione 2 alla parola “errore”, la definizione 3 alla parola “fallimento” e la definizione 4 alla parola “errore”. Vedi a2so: errore dinamico; errore fatale; errore indigeno; errore semantico; errore sintattico; errore statico; errore temporaneo.


errore. Lincapacità di un sistema o di un componente di eseguire le funzioni richieste entro requisiti prestazionali specificati Nota: la disciplina della tolleranza agli errori distingue tra unazione umana (un errore), la sua manifestazione (un errore hardware o software), il risultato dellerrore (un errore) e la quantità di cui il risultato è errato (lerrore). Vedi anche: crash; fallimento dipendente; eccezione; Modalità di fallimento; tasso di fallimento; duro fallimento; fallimento incipiente; fallimento indipendente; fallimento casuale; fallimento morbido; errore bloccato.


errore. (1) Un difetto in un dispositivo o componente hardware; ad esempio, un cortocircuito o un filo rotto. (2) Una fase, un processo o una definizione di dati errati in un programma per computer. Nota: questa definizione viene utilizzata principalmente dalla disciplina della tolleranza ai guasti. Nelluso comune, i termini “errore” e “bug” sono usati per esprimere questo significato. Vedi anche: errore sensibile ai dati; errore sensibile al programma; difetti equivalenti; mascheramento dei guasti; errore intermittente.


Penso che la definizione di errore sia la più rilevante. Tutto inizia con un errore, che sia nei requisiti, nella progettazione, nellimplementazione o nel caso / procedura di test. Se questo errore si manifesta nel software, diventa un errore. Un errore è causato dallesistenza di uno o più errori nel software.

Tuttavia, non mi interessa la definizione formale di errore. Preferisco di gran lunga la definizione fornita da dukeofgaming nella sua risposta , tuttavia, quella in questa risposta è la definizione standard di errore IEEE.

Risposta

La risposta di Dan McGrath “ ha centrato il problema.

  • Un bug è il risultato di un errore di codifica
  • Un difetto è una deviazione dai requisiti

Forse un esempio lo renderebbe più chiaro.

Esempio: il cliente desiderava che il modulo web fosse in grado di salvare e chiudere la finestra.

Scenario n. 1: il modulo web ha un pulsante di salvataggio e un altro pulsante di chiusura. Risultato: Difetto, perché il cliente voleva che il pulsante 1 salvasse e chiudesse la finestra. Lo sviluppatore ha frainteso e creato separatamente. Poiché entrambi i pulsanti soddisfacevano i loro requisiti, non è un bug, ma un difetto perché non soddisfaceva i requisiti del cliente.

Scenario n. 2: il modulo web ha un pulsante di chiusura &, ma salva solo ma non si chiude. Risultato: Bug. Perché il pulsante non funziona come richiesto / previsto. Lo sviluppatore sa che si suppone di produrre quel risultato ma alla fine non lo ha fatto. (Forse errore di codifica)

Non sono sicuro se questo lo renda più chiaro.

p / s: da uno sviluppatore punto fermo (lo ero una volta), sia i difetti che i bug sono altrettanto importanti. Lo sistemeremo comunque.

Abbiamo anche riscontrato strane anomalie, che abbiamo classificato in bug e cerchiamo continuamente di capire cosa è la causa e come risolverlo. Definirlo bug non “t lo rende banale rispetto ai difetti.

Commenti

  • Cosa chiamiamo requisiti difettosi?
  • @ gnasher729 se per requisiti difettosi, intendevi che i programmatori fraintendessero i requisiti, allora penserei che ‘ sia un difetto. Ma se intendevi requisiti difettosi in quanto lutente che fornisce i requisiti errati con conseguente lavoro finale non risolve il problema iniziale, allora questo è al di là di bug e difetti in quanto questo è un problema con la sessione di raccolta dei requisiti piuttosto che con lo sviluppo.

Risposta

Eccone uno che ho fatto in precedenza per il mio datore di lavoro Q-LEAP basato sul vocabolario ISTQB e ho anche controllato il vocabolario IEEE. Godere.

Bug e difetto? Lo stesso anche se si può avere infinite discussioni su questo. Abbiamo davvero altre cose di cui preoccuparci, la vita è già abbastanza complicata, ecc.

inserisci la descrizione dellimmagine qui

Un esempio di come il termine viene utilizzato in natura, da “How Google Tests Software” p. 113. Apri un articolo di “IEEE Software” e viene “utilizzato allo stesso modo. In effetti, raramente si incontra la parola” difetto “nella vita reale.

Vita di un bug

Bug e segnalazioni di bug sono lunico artefatto che ogni tester comprende. Trovare bug, identificare bug, correggere bug e regredire bug sono il battito cardiaco e il flusso di lavoro per qualità del software. Questa è la parte dei test che è la più convenzionale in Google, ma ci sono ancora alcune deviazioni interessanti dalla norma. Per questa sezione, ignoriamo i bug che vengono segnalati per tenere traccia degli elementi di lavoro e utilizziamo il termine per identificare codice non funzionante effettivo. Pertanto, i bug rappresentano spesso il flusso di lavoro quotidiano e di ora in ora per i team di ingegneri.

È nato un bug. I bug vengono trovati e segnalati da tutti in Google. Prodotto I gestori segnalano bug quando rilevano problemi nelle prime build che differiscono dalle loro specifiche / pensieri. Gli sviluppatori segnalano bug quando si rendono conto di aver verificato accidentalmente un problema o trovano un problema da qualche altra parte nella codebase o durante la versione sperimentale dei prodotti Google. I bug provengono anche dal campo, da tester di crowdsourcing, test di fornitori esterni e vengono segnalati dai Community Manager che monitorano i gruppi Google specifici del prodotto. Molte versioni interne delle app hanno anche modi rapidi con un clic per segnalare bug, come le mappe di Google. E, a volte, i programmi software creano bug tramite unAPI.

Risposta

La differenza è che il termine “insetto” suona magico. Come se un programma potesse avere bug casualmente al suo interno dopo che hai finito di programmare. Se ha bug casuali significa che non sei conforme alle specifiche e il tuo programma è in errore.

Un difetto significa un errore in cui il programma non è conforme alle specifiche. Questo è più grave e in pratica dice che qualsiasi errore è un enorme problema con il programma e questo significa che il programma non è adatto per essere rilasciato.

La differenza sta nellatteggiamento dei programmatori che usano i termini. Ci sono milioni di programmi che vengono rilasciati con bug e alla gente va bene perché accettano per qualche motivo che un bug è magico e casuale e che ogni programma contiene almeno un bug. Tuttavia, un programmatore che usa il termine “difetto” può trovarsi a disagio nel rilasciare un programma con un difetto perché il termine implica una maggiore gravità.

Le implicazioni di preferire un termine allaltro ci riguardano quotidianamente.

Risposta

Secondo Affidabilità: concetti di base e terminologia :

Un errore di sistema si verifica quando il servizio fornito devia dalladempimento della funzione di sistema, essendo questultima a cui è destinato il sistema. Un errore è quella parte dello stato del sistema che può portare a un successivo fallimento: un errore che interessa il servizio è unindicazione che si verifica o si è verificato un guasto. La causa aggiudicata o ipotizzata di un errore è un errore .

Capisco difetto solo come un altro nome per colpa.

Bug è fonte di confusione e può rappresentare un errore o un errore a seconda del contesto.

Tieni presente che non viene menzionata alcuna specifica: anche una specifica può essere difettosa.

Risposta

Al di fuori di bug / attività / ticket / difetto / problema / qualsiasi istanza del sistema di tracciamento specifici, queste parole non hanno alcun significato esatto e quindi discutere la differenza tra loro è inutile. Quando decidi il tuo flusso di lavoro, dovresti definire la terminologia e fornire le descrizioni.

Nel mio ambiente attuale un “difetto” è qualsiasi elemento in Jira. Sembra che la stessa Jira utilizzi il termine “problema”. Potremmo averlo ereditato da qualche sistema precedente.”Bug” è un tipo di problema quando qualcosa non funziona come previsto e descritto nella documentazione. “Richiesta di funzionalità” quando qualcosa funziona come previsto ma si desidera migliorare (può essere ovvio e importante, ma se viene descritto il comportamento corrente è ancora una richiesta di funzionalità). Ci sono più tipi ma questi 2 sono usati da persone al di fuori del team di sviluppo per chiedere qualcosa.

Se scegli nomi per i tipi di problemi, “bug” e “difetto” mi sembrano simili. La differenza tra loro è stilistica. Poiché linglese non è la mia lingua madre, non riesco a vederne granché e non sono sicuro che quello che vedo sia corretto.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *