Diferența dintre un defect și un bug în testare?

Care este diferența dintre un defect și un bug?

Comentarii

  • Citiți testingstandards.co.uk/bs_7925-1_online.htm pentru mai multe informații
  • Există erori care spun de fapt că lipsește ceva, ceea ce înseamnă că sunt cereri de caracteristici, nu erori.
  • Răspunsul depinde de scopul de ce întrebați.
  • Căutați etimologia cuvântului defect. De = not, un. Facere = do. Prin urmare, nu face (așa cum era de așteptat), nu funcționează, este rupt, kaput. În timp ce bug înseamnă ” ceva în lucru care împiedică performanța „. La sfârșitul zilei va trebui să remediați ceva, deci totul este academic. Am votat pentru închidere, nu ‘ nu aveți de rezolvat unele erori ?!

Răspundeți

  • O eroare este rezultatul unei erori de codare

  • Un defect este o abatere de la cerințele

Adică: Un defect nu înseamnă neapărat că există o eroare în codul , ar putea fi o funcție care nu a fost implementată, ci definită în cerințele software-ului.


Din pagina Wikipedia de pe testare software :

Nu toate defectele software sunt cauzate de erori de codare. O sursă obișnuită de defecte costisitoare este cauzată de lacune în cerințe, de exemplu, cerințe nerecunoscute, care duc la erori de omisiune de către proiectantul programului. [14] O sursă comună de lacune în ceea ce privește cerințele sunt cerințele nefuncționale, cum ar fi testabilitatea, scalabilitatea, capacitatea de întreținere, utilizabilitatea, performanța și securitatea.

Comentarii

  • Ambele sunt ” abateri de la cerințe ” așa cum văd.
  • Un defect nu trebuie ‘ să fie un bug. De asemenea, o eroare nu ‘ trebuie să însemne că o cerință nu a fost îndeplinită și, prin urmare, nu este ‘ o abatere de la cerința ‘
  • Se pare că îți lipsește punctul @Martin. Da, o eroare poate fi un defect. Da, un defect poate fi un bug. Dar asta nu este ‘ neapărat întotdeauna adevărat. Doar pentru că există unele suprapuneri, nu ‘ înseamnă că sunt identice! Diagrama Venn a erorilor & Defect – > (())
  • @Dan McGrath: practic ceea ce ai făcut aici este propria definiție a unei erori. Dar, în general, nu există ‘ nici un sens definit, ‘ este doar un jargon ingineresc!
  • @DanMcGrath : Diagrama dvs. Venn este inutilă. Ar putea însemna fie ({}) , fie ({)} . Presupun că ai vrut să spui al doilea.

Răspuns

Citând Ilene Burnstein din cartea Testarea practică a software-ului (recomandat) cine face parte din definiția din„ Standardele IEEE ” Colecție pentru ingineria software „(1994) și” IEEE Standard Glossary of Software Engineering Terminology „(standard 610.12, 1990):

Eroare

O eroare este o greșeală, o concepție greșită sau o neînțelegere din partea unui dezvoltator de software

În categoria dezvoltatorului includem ingineri software, programatori, analiști și testeri. De exemplu, un dezvoltator poate înțelege greșit o notație de proiectare sau un programator poate tasta un nume de variabilă incorect.

Defecte (Defecte)

O eroare (defect) este introdusă în software ca urmare a unei erori. Este o anomalie a software-ului care poate determina comportamentul său incorect și nu conform specificațiilor sale.

Defecțiunile sau defectele sunt uneori denumite „bug-uri”. Utilizarea acestui ultim termen banalizează impactul defectelor asupra calității software-ului. Utilizarea termenului „defect” este, de asemenea, asociată cu artefacte software, cum ar fi cerințele și documentele de proiectare. Defectele care apar în aceste artefacte sunt, de asemenea, cauzate de erori și sunt de obicei detectate în procesul de revizuire.

Eșecuri

Un eșec este incapacitatea unui sistem software sau a unei componente de a-și îndeplini funcțiile necesare în cadrul cerințelor de performanță specificate.

În timpul executării unei componente sau a unui sistem software, un tester, dezvoltator, sau utilizatorul observă că nu produce rezultatele scontate. În unele cazuri, un anumit tip de comportament greșit indică prezența unui anumit tip de defecțiune. Putem spune că tipul de comportament necorespunzător este un simptom al erorii.Un dezvoltator / tester cu experiență va avea o bază de cunoștințe despre cazurile de eroare / simptome / eșec (modele de erori descrise în capitolul 3) stocate în memorie. Comportamentul incorect poate include producerea de valori incorecte pentru variabilele de ieșire, un răspuns incorect din partea unui dispozitiv sau o imagine incorectă pe un ecran. În timpul dezvoltării, erorile sunt de obicei observate de testeri, iar defectele sunt localizate și reparate de dezvoltatori.

Puteți citi capitolul complet în Google Cărți, aici .

Răspuns

Există câțiva termeni diferiți legate de erorile software. Extras dintr-un curs pe care l-am urmat:

  • Eroare : Acțiune umană sau omisiune care are ca rezultat o defecțiune.

  • Defecțiune : Defecțiunea este un software defect (pas incorect, proces sau definiție de date) care provoacă o eroare.

  • Bug : La fel ca Fault.

  • Eșec : incapacitatea unui software de a-și îndeplini funcțiile necesare în cadrul cerințelor de performanță specificate.

Conform acestui fapt, nu există nicio diferență între un defect și un bug. Cu toate acestea, unii oameni susțin că eroarea este o eroare care se găsește înainte de lansarea software-ului, în timp ce defectul este unul găsit de client.

Nu m-am putut opune postării faimosului „prim caz real de eroare care a fost găsit „.

alt text

Comentarii

  • În cele din urmă, cineva care a citit: testingstandards.co.uk/bs_7925-1_online.htm
  • Acel ‘ Nu sunt de unde am luat-o, dar este posibil să aibă o sursă comună (sau aceasta ar putea fi sursa).
  • Da, cu mulți, mulți ani în urmă, am petrecut un timp încercând să remediez o eroare. avea o sclipire enervantă într-o singură celulă de pe ecran și nu avea niciun sens. În cele din urmă a zburat. (Aceasta era în era textului alb pe un ecran negru, locul în cauză era suficient de departe spre dreapta pentru a fi întotdeauna negru în timp ce Editam, așa că am observat-o doar când programul a pus ceva alb în spatele său.)

Răspunde

Aoleu.

În vremurile de demult – funcționarea defectuoasă a unui computer era cauzată de tot felul de lucruri – inclusiv șobolani care mestecau cablajul și erori reale (creaturi) care intrau în lucru.

termenul BUG s-a blocat ca un termen care înseamnă că ceva nu funcționează așa cum era de așteptat.

BUG ar trebui considerat un termen de jargon care înseamnă un defect.

Un defect este un termen din punct de vedere tehnic că lucrul nu face cum ar trebui.

Ori de câte ori este posibil, utilizarea DEFECT în loc de BUG are de fapt o conotație că recunoaștem eșecurile noastre (defectele noastre, lipsa noastră de înțelegere a cerințelor utilizatorului sau a lucrurilor am trecut cu vederea în implementare) în loc să o îmbrăcăm ca pe o „eroare” mai banală.

Utilizați DEFECT.

Încercați să nu folosiți termenul BUG. Este o prostie, irelevant, istoric și banal.

Comentarii

  • De ce ați dori să eliminați din utilizare un termen tehnic bine înțeles? Îmi ‘ îmi pare rău … da, BUG este istoric – dar dacă credeți că programatorii consideră că erorile (generic spre deosebire de specifice) sunt banale doar pentru că sunt numiți bug-uri sau termenul ca fiind irelevant din cauza originilor sale, atunci

mă tem că transformarea mea într-un morocănos de vârstă mijlocie este pe deplin justificată. Oh, așa cum subliniază @Dan, erorile sunt defecte, dar defectele nu sunt ‘ neapărat erori, ceea ce sugerează în plus că termenul are valoare.

  • @Murph, a ” bug ” este un eufemism pentru o eroare de programare. În mod inconștient, acest lucru atrage un fel de gremlin asupra căruia dezvoltatorul nu are control. Acest lucru nu este corect – este o eroare și recunoașterea acestui lucru este un pas către un comportament mai profesional. (Imho desigur :-))
  • Ehm, clar nu sunt de acord (-: știu exact cine este responsabil pentru erorile – erori de codare și logică – pe care le am în codul meu. (I ‘ sunt, de asemenea, capabil să identifice deficiențe în codul altor persoane ‘.) Toți programatorii pe care îi cunosc sunt clari despre ceea ce înseamnă termenul – că ei ( Ei bine, un programator) și nu un fel de gremlin a făcut o greșeală.
  • Când aveți de-a face cu clienții dvs., puteți numi aceste lucruri erori sau defecte. Bug-urile sunt jargon. Defectele sunt o recunoaștere, în afara jargonului, că nu este așa cum ar trebui să fie. ” Defecte ” este un termen care este și încurajează o comunicare clară – și în afara fraternității de programare ca în interior.(De asemenea, nu sunt de acord că există o diferență între o eroare și un defect.)
  • Defecte este termenul potrivit. Câte programe sunt lansate cu bug-uri și toți acceptăm asta? Dar câte programe sunt lansate cu defecte? ‘ nu acceptăm acest lucru deoarece termenul implică o severitate mai mare și știm că este ‘ propria noastră culpă pentru eroare, mai degrabă decât o eroare în care putem da vina pe vremea sau ora din zi.
  • Răspuns

    Din IEEE Standard Glosar de terminologie a ingineriei software, care este citat în KA pentru ingineria software-ului pentru testarea software-ului și calitatea software-ului:

    eroare. Vezi: eroare; eroare.


    eroare. (1) Diferența dintre o valoare sau o stare calculată, observată sau măsurată și valoarea sau condiția adevărată, specificată sau teoretic corectă. De exemplu, o diferență de 30 de metri între un rezultat calculat și rezultatul corect. (2) Un pas, proces sau definiție incorectă a datelor. De exemplu, o instrucțiune incorectă într-un program de computer. (3) Un rezultat incorect. De exemplu, un rezultat calculat de 12 atunci când rezultatul corect este 10. (4) O acțiune umană care produce un rezultat incorect. De exemplu, o acțiune incorectă din partea unui programator sau a unui operator. Notă: În timp ce toate cele patru definiții sunt utilizate în mod obișnuit, o distincție atribuie definiția 1 cuvântului „eroare”, definiția 2 cuvântului „eroare”, definiția 3 cuvântului „eșec” și definiția 4 cuvântului „greșeală”. Vezi a2so: eroare dinamică; eroare fatala; eroare indigenă; eroare semantică; eroare sintactică; eroare statică; eroare tranzitorie.


    eșec. Incapacitatea unui sistem sau a unei componente de a-și îndeplini funcțiile necesare în cadrul cerințelor de performanță specificate. Notă: Disciplina de toleranță la erori face distincția între o acțiune umană (o greșeală), manifestarea ei (o eroare hardware sau software), rezultatul erorii (o eroare) și cantitatea cu care rezultatul este incorect (eroarea). Vezi și: crash; eșec dependent; excepție; modul de defectare; Rata de eșec; eșec greu; eșec incipient; eșec independent; eșec aleatoriu; eșec moale; blocat eșec.


    eroare. (1) Un defect al unui dispozitiv sau component hardware; de exemplu, un scurtcircuit sau un fir rupt. (2) Un pas, proces sau definiție incorectă într-un program de computer. Notă: Această definiție este utilizată în primul rând de disciplina de toleranță la erori. În utilizarea obișnuită, termenii „eroare” și „eroare” sunt folosiți pentru a exprima acest sens. A se vedea, de asemenea: defecțiune sensibilă la date; eroare sensibilă la program; defecte echivalente; mascarea defectelor; defect intermitent.


    Cred că definiția eșecului este cea mai relevantă. Totul începe cu o greșeală, indiferent dacă este vorba de cerințe, proiectare, implementare sau caz / procedură de testare. Dacă această greșeală se manifestă în software, devine o eroare. O eroare este cauzată de existența uneia sau mai multe defecte în software.

    Totuși, nu vreau să mă interesez cu definiția formală a erorii. Prefer foarte mult definiția oferită de dukeofgaming în răspunsul său , totuși, cea din acest răspuns este definiția standard a erorii IEEE.

    Răspuns

    Răspunsul lui Dan McGrath l-a fixat corect.

    • O eroare este rezultatul unei erori de codare
    • Un defect este o abatere de la cerințe

    Poate că un exemplu ar face-o mai clară.

    Exemplu: Clientul a dorit ca formularul web să poată salva și închide fereastra.

    Scenariul nr. 1: formularul web are un buton de salvare și un alt buton de închidere. Rezultat: Defect, deoarece clientul dorea ca butonul 1 să salveze și să închidă fereastra. Dezvoltatorul a înțeles greșit și a creat separat. Deoarece ambele butoane și-au îndeplinit cerințele, nu este o eroare, ci un defect, deoarece nu a îndeplinit cerința clientului.

    Scenariul 2: formularul web are un buton de închidere & de salvare, dar salvează numai, dar nu se închide. Rezultat: Gândac. Deoarece butonul nu funcționează conform cerințelor / așteptărilor. Dezvoltatorul știe că ar trebui să producă acel rezultat, dar în cele din urmă nu a reușit (probabil o eroare de codare)

    Nu sunt sigur dacă acest lucru este mai clar.

    p / s: de la un dezvoltator stand point (am fost odată), atât defectele, cât și erorile sunt la fel de importante. Vom remedia în continuare.

    Am întâlnit chiar și anomalii ciudate, pe care le-am clasificat sub erori și încercăm continuu să ne dăm seama ce este cauza și cum să o remediați. Terminarea bug-urilor nu o face banală în comparație cu defectele.

    Comentarii

    • Ce numim cerințe defecte?
    • @ gnasher729 dacă, prin cerințe defectuoase, v-ați referit la programatori care înțeleg greșit cerințele, atunci aș crede că este ‘ un defect. Dar dacă v-ați referit la cerințe defecte, deoarece utilizatorul care furnizează cerințe greșite care rezultă în lucrarea finală nu rezolvă problema inițială, atunci acest lucru este dincolo de erori și defecte, deoarece aceasta este o problemă cu sesiunea de colectare a cerințelor, mai degrabă decât cu dezvoltarea. li>

    Răspuns

    Iată unul pe care l-am făcut mai devreme pentru angajatorul meu Q-LEAP pe baza vocabularului ISTQB și am verificat și vocabularul IEEE. Bucurați-vă.

    Bug și defect? La fel, chiar dacă se poate purta discuții nesfârșite despre acest lucru. Avem cu adevărat alte lucruri de care să ne îngrijorăm, viața este deja destul de complicată etc.

    introduceți descrierea imaginii aici

    Un exemplu de modul în care este folosit termenul în sălbăticie, din „Cum testează Google Software-ul” p. 113. Deschideți un articol din „Software IEEE” și este folosit în același mod. Într-adevăr, rareori se întâlnește cuvântul „defect” în viața reală.

    Viața unui bug

    Bug-urile și rapoartele de bug-uri sunt singurul artefact pe care îl înțelege fiecare tester. Găsirea de bug-uri, triaging-ul de bug-uri, remedierea bug-urilor și regresarea bug-urilor sunt bătăile inimii și fluxul de lucru pentru calitatea software-ului. Aceasta este partea de testare care este cea mai convențională la Google, dar există încă câteva abateri interesante de la normă. Pentru această secțiune, ignorăm erorile care sunt depuse pentru a urmări elementele de lucru și folosim termenul pentru a identifica cod defect real. Ca atare, erorile reprezintă deseori fluxul de lucru din oră în oră și de zi cu zi pentru echipele de ingineri.

    Se naște o eroare. Erorile sunt găsite și depuse de toată lumea la Google. Produs Managerii înregistrează erori atunci când detectează probleme în versiunile anterioare care diferă de la specificațiile / gândurile lor. Dezvoltatorii înregistrează erori când își dau seama că au verificat accidental o problemă sau găsesc o problemă în altă parte a bazei de cod sau în timpul verificării produselor Google. Bug-urile apar și de pe teren, de la testeri sursă de public, testarea furnizorilor externi și sunt depuse de Community Managers care monitorizează grupurile Google specifice produsului. Multe versiuni interne ale aplicațiilor au, de asemenea, modalități rapide de a înregistra bug-uri, cum ar fi Google Maps. Și, uneori, programele software creează erori prin intermediul unui API.

    Răspuns

    Diferența este că termenul „bug” sună magic. Ca și cum un program poate conține erori în mod aleatoriu după ce ați terminat programarea. Dacă are erori aleatorii, atunci înseamnă că nu ați respectat specificațiile și programul dvs. este în eroare.

    Un defect înseamnă o eroare în care programul nu este conform cu specificațiile. Acest lucru este mai sever și, practic, spune, orice eroare este o problemă imensă cu programul și asta înseamnă că programul nu este potrivit pentru a fi lansat.

    Diferența constă în atitudinea programatorilor care folosesc termenii. Există milioane de programe care sunt lansate cu bug-uri și oamenii sunt în regulă cu asta, deoarece acceptă din anumite motive că un bug este magic și aleatoriu și că fiecare program conține cel puțin un bug. Cu toate acestea, un programator care folosește termenul „defect” poate deveni incomod cu lansarea unui program cu un defect, deoarece termenul implică o severitate mai mare.

    Implicațiile preferării unui termen față de celălalt ne afectează zilnic.

    Răspuns

    Conform Fiabilitate: concepte de bază și terminologie :

    Un sistem eșec apare atunci când serviciul livrat se abate de la îndeplinirea funcției de sistem, acesta din urmă fiind destinat sistemului. O eroare este acea parte a stării sistemului care poate duce la eșecuri ulterioare: o eroare care afectează serviciul este o indicație că apare sau s-a produs un eșec. Cauza judecată sau ipoteză a unei erori este o eroare .

    Înțeleg defect ca doar un alt nume pentru eroare.

    Bug este confuz și poate reprezenta o eroare sau o eroare în funcție de context.

    Rețineți că nu există nicio mențiune despre specificații: chiar și o specificație poate fi defectă.

    Răspuns

    În afara unei anumite erori / sarcini / bilete / defecte / probleme / orice instanță de sistem de urmărire aceste cuvinte nu au nici o semnificație exactă și, prin urmare, discutarea diferenței dintre ele este inutilă. Când vă stabiliți fluxul de lucru, ar trebui să stabiliți terminologia și să furnizați descrieri.

    În mediul meu actual, un „defect” este orice element din Jira. Se pare că Jira însuși folosește termenul „problemă”. Poate că l-am moștenit de la un sistem anterior.„Bug” este un tip de problemă când ceva nu funcționează așa cum era de așteptat și descris în documentație. „Cerere de caracteristică” atunci când ceva funcționează așa cum era de așteptat, dar se dorește îmbunătățirea (poate fi evident și important, dar dacă este descris comportamentul curent, este încă o cerere de caracteristică). Există mai multe tipuri, dar cele 2 sunt folosite de persoane din afara echipei de dezvoltare pentru a cere ceva de la aceasta.

    Dacă alegeți nume pentru tipurile de probleme, „bug” și „defect” sună similar cu mine. Diferența dintre ele este stilistică. Întrucât limba engleză nu este limba mea maternă, nu prea pot vedea foarte mult și nu sunt sigură dacă ceea ce văd este corect.

    Lasă un răspuns

    Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *