Mă întreb, la testarea dezvoltării software, care este diferența dintre un bug și un defect?
Comentarii
- @ user246 îl are. Există, de asemenea, problema. Același lucru din nou.
- Acest lucru a fost pus înainte, așa că am vrut să vă împărtășesc această întrebare. programmers.stackexchange.com/questions/37029/… Există, de asemenea, întrebări legate (în partea dreaptă a acestui întrebare) care sunt și ele similare. Acest lucru nu poate fi marcat ca duplicat, deoarece ‘ nu se află pe SQA SE.
- Cred că avem suficiente răspunsuri la această întrebare banală, așa că am ‘ o voi proteja acum.
- @ user246 Lol ce comentariu condescendent.
Răspuns
Același lucru. Fără îndoială, există companii care folosesc acești termeni pentru a însemna lucruri diferite, dar utilizarea lor nu este universală. Dacă cineva îți pune această întrebare într-un interviu, ar trebui să poți spune: „Unde lucrez, termenii sunt interschimbabili. Înseamnă aici ceva diferit?”
Comentarii
- Toată lumea este de acord cu privire la definiția erorii / defectelor, care este un comportament neașteptat al produsului. Pentru mine ceva găsit în faza de dezvoltare ar trebui să fie numit ” BUG ” dar dacă această eroare descoperită în produsul live ar trebui să fie numit ” DEFECT „. În scurt timp, funcția BUGGY, produs DEFECT.
Răspuns
Bug, Defect, Problemă, Defecțiune, Incident, Bilet sunt toate la fel și sunt utilizate interschimbabil în organizații. Oamenii pot dezbate și spune că sunt de acord sau nu și pot cita referințe, dar realitatea de bază este că nu contează cum o numiți atâta timp cât este urmărită, referențiată la nevoie și în cele din urmă remediată.
Experiența mea arată mai jos: În Bugzila veți vedea câmpul „Bug Id”, în QC / HP ALM veți găsi câmpul „ID defect” în instrumentele interne de monitorizare / asistență specifice companiei, veți vedea în principal „Incident nr.”
Comentarii
- Eroarea și defectul sunt aceleași. Problemă, incident și bilet tind să însemne o preocupare ridicată, fără a exista neapărat o problemă cauzată de un bug sau un defect. De exemplu, o problemă se poate dovedi a fi din cauza unei erori a utilizatorului. Sau poate fi o cerere de caracteristică. Este ‘ adevărat că unele programe ” de urmărire a erorilor ” (Bugzilla) urmăresc tot felul de probleme în afară de bug-uri, și poate chiar să se refere la toate coloquial ca ” bug-uri „, dar că ‘ nu este o utilizare standard și se datorează probabil extinderii dincolo de ceea ce a fost destinat software-ului inițial.
- @LarsH Deși corect din punct de vedere tehnic, în lumea reală incidentele sunt numite de obicei ” erori „, ” defecte ” sau ” incidente „, indiferent ce dictează cultura companiei. Bug-uri / defecte / incidente care se închid cu un motiv ” prin design ” nu sunt tehnic bug-uri / defecte, totuși toată lumea le numește bug-uri / defecte / incidente, deci acesta este numele corect pentru a le apela.
- @Peter: În general sunt de acord cu dvs., deși nu aș merge ‘ ” toată lumea ” sau ” nume corect pentru a le apela. ” Am ‘ am realizat dezvoltarea de software în 4 companii / organizații diferite (și grupuri diferite cu culturi diferite în cadrul acestor organizații) și există o mulțime de oameni care au câștigat ‘ t apelați o problemă la o problemă, cu excepția cazului în care ‘ este cauzată de faptul că software-ul / hardware-ul nu se comportă conform specificațiilor. Mai ales dezvoltatorii a căror reputație este în joc atunci când se pretinde că o problemă este o ” bug ” în software-ul lor. Da, în general știm la ce vă referiți și nu ‘ nu faceți furori, dar asta nu ‘ nu îl face corect.
- @LarsH În companiile în care am lucrat, incidentele au fost distinct diferite de erori sau defecte. Un incident a fost folosit pentru a descrie lucruri precum ” serverul nu are spațiu pe hard disk ” sau ” a fost tăiată o linie de fibră. ” Pe lângă, desigur, incidentele de securitate. Nu ‘ nu sunt sigur că este corect să spun universal că incidentul este echivalent cu erorile. Bug-uri și defecte, da, dar IMO, incidentul îl întinde.
Răspuns
Nenumărate definiții care fac o distincție între „bug” și „defect” există. Nu sunt de acord unul cu celălalt. Includ opuse directe (Bugul este A, Defectul este B versus Bugul este B, Defectul este A). Din câte știu eu, nici una dintre aceste definiții nu este utilizată pe scară mai largă. Orice distincție între termeni va fi specifică companiei dvs., poate chiar specifică grupului dvs., din departamentul dvs., din compania dvs.
Există unii care susțin că există o diferență clară, cum ar fi acesta :
- O eroare este rezultatul unei erori de codare
- Un defect este o abatere de la cerințele
- O eroare întâmpină o problemă în momentul testării, unde, ca defect, este o problemă pe care clientul a primit-o în timpul producției.
sau altul :
Un defect este un efect, de obicei cauzat de o eroare umană, de a scrie cod corect. […] O eroare nu este o greșeală în codificare. O eroare este că sistemul face ceva care nu este incorect în sine … dar nu a fost proiectat în mod intenționat și nu l-ați văzut venind.
sau dintr-un comentariu la acest răspuns:
„Bug” sugerează că problema, odată observată, este (sau se crede că este) trivială de remediat . „Defect” (ca în „defect prin proiectare”) sugerează că nu este, de asemenea, că este o consecință a specificațiilor sau designului imperfect.
sau dintr-un alt răspuns din acest fir:
[…] dacă specificația spune că software-ul ar trebui să facă ceva și software-ul face asta, nu este un bug. Dar dacă acest lucru face ca software-ul să nu fie adecvat pentru utilizarea intenționată, este „un defect.
Și mai multe definiții pot fi găsite în alte răspunsuri ale acestui thread .
Aceste definiții sunt complet în contradicție una cu cealaltă. De asemenea, acestea sunt în contradicție cu modul în care văd că termenii sunt folosiți în realitate. Nu există nicio distincție consecventă între termenii utilizați în orice parte semnificativă a industriei software.
Singura definiție oarecum utilizată pe scară largă este cea care nu face distincție între eroare și defect. Fără context suplimentar al mediului dvs. de lucru și utilizarea specializată a termenilor, atât „defect”, cât și „eroare” înseamnă doar: „o problemă pe care cineva a întâlnit-o sau s-ar putea să o întâmpine atunci când folosește software-ul „. Dar, după cum se poate vedea din diferitele alte răspunsuri din acest fir, acest lucru nu este suficient de răspândit pentru a fi numit„ definiția „.
Comentarii
- ‘ merg puțin mai departe și sugerez că există o diferență în utilizarea de zi cu zi. ” Bugul ” sugerează că problema, odată observată, este (sau se crede că este) banală de remediat. ” Defect ” (ca în ” defect prin design „) sugerează că nu este, de asemenea, că este o consecință a specificațiilor sau designului imperfect. Comparați predarea unei clădiri noi în care ” blocaje ” (bug-uri) sunt raportate contractorului principal pentru a fi remediate fără costuri suplimentare ( sau nu, dacă se dovedește a fi livrarea nedorită, dar corectă a ceea ce contractul și planurile specificate). Sunt de acord, orice clasificare dificilă va avea un scop local.
- @ nigel222 Nu se intenționează nicio infracțiune, dar ‘ o voi rezerva în conformitate cu definiția 4, care este din nou la cote cu celelalte 3 exemple.
Răspuns
Cuvântul bug provine de la primul bug de computer :
Erorile reale nu mai sparg calculatoarele și orele suplimentare încep această analogie are din ce în ce mai puțin sens. Prin urmare, am misiunea de a scăpa de termenul eroare și de a folosi întotdeauna defect pentru orice software legat problemă și așa ar trebui și tu 🙂
Calitatea este o perspectivă a persoanelor, toată lumea are o opinie diferită. Cred că acest lucru este la fel cu ceva care este sau nu un defect. Dacă credeți că este rupt, atunci este rupt conform Seth Godin .
Dacă sunteți interesat de clasificarea defectelor, aș sugera să aruncați o privire asupra procesului de clasificare utilizat în politica zero-defect .
Comentarii
- Acest lucru evident nu poate ‘ să fie locul în care a apărut cuvântul ” bug ” din.Dacă cuvântul ” bug ” nu ‘ nu se referea deja la o problemă sau defect, de ce s-ar spune ” Primul caz real de găsire a unei erori. „?
- Poate că au imaginat că o eroare ar rupe sistemul? Aceasta este povestea pe care am învățat-o și eu la școală. De asemenea, menționat pe Wikipedia, deci trebuie să fie adevărat 😉 en.wikipedia.org/wiki/Software_bug
- Punctele din pagina Wikipedia la numeroase utilizări anterioare ale cuvântului ” bug „.
- Da, dar acele utilizări anterioare nu sunt erori de calculator / software. Acestea sunt mai mult referințe de ingineri hardware / electrici. De exemplu, exemplul Thomas Edison menționat în pagina Wikipedia. Articolul se referă și la povestea scrisă de Niels van Reijmersdal !!!
Răspuns
Folosind multe diferite instrumente de urmărire a problemelor, este obișnuit ca toți acești termeni „defect”, „eroare”, „problemă” etc … să fie pur și simplu considerați ca același lucru și veți constata că, în mod implicit, toți definesc pur și simplu unul dintre ei.
Deci, pe baza acestui fapt, aș sugera că majoritatea oamenilor le-ar considera și ei același lucru.
Răspuns
În testarea dezvoltării, probabil că nu există nicio diferență reală dacă vă mențineți la compararea sistemului cu specificațiile. Cu toate acestea, multe lucruri sunt observate și înregistrate ca defecte care nu diferă de fapt de intențiile dezvoltatorului.
Termenul eroare a fost folosit de mult timp. Într-adevăr înseamnă orice observați despre ceea ce ați construit. asta nu este încă „corect”. Faimosul Edison definește termenul într-o scrisoare din 1878
Notă: săpătura de la Grace Hopper de pe această referință mă enervează. Intrarea în jurnal a arătat clar că era familiarizată cu termenul existent.
Răspuns
Diferența dintre eroare și defect poate fi ceea ce face din ea. Depinde în totalitate de modul în care definiți ambii termeni. Definițiile și înțelegerea terminologiilor diferă de la organizații la echipe și la persoane. Oriunde mergeți, veți vedea că oamenii au o înțelegere diferită a unui termen și îi definesc conform înțelegerii lor.
O eroare și un defect pot însemna exact același lucru pentru o persoană, în timp ce o altă persoană poate defini este diferit.
Unii oameni definesc Bug și defect după cum urmează,
BUG:
- O eroare este rezultatul unei erori de codare.
- O acțiune umană care produce un rezultat incorect.
- Abaterea de la rezultatul așteptat .
- O eroare software este o eroare, o eroare, o greșeală, o defecțiune sau o defecțiune dintr-un program de computer care îl împiedică să funcționeze conform intenției sau care produce un rezultat incorect.
Defect:
- Un defect reprezintă o abatere de la cerințe.
- Problemă în algoritm care duce la eșec.
- Un defect este pentru ceva care funcționează în mod normal, dar are ceva în afara specificațiilor.
- Este introdus un defect î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.
Răspuns
Care este diferența dintre bug și defect ?
-
O eroare întâmpină o problemă la momentul testării, unde, ca defect, este o problemă pe care clientul a primit-o în mediul de producție.
-
O eroare este o eroare într-un program care îl determină să se comporte brusc. Erorile sunt de obicei găsite fie în timpul testării unitare efectuate de către dezvoltatorul testării modulelor de către testeri.
-
Un defect este găsit atunci când aplicația nu este conformă cu specificațiile cerințelor. Un defect poate fi găsit și atunci când clientul sau utilizatorul testează.
Răspuns
Conform ISTQB
„ defect și bug „ambele sunt aceleași atunci când un programator scrie code
pentru o cerință din cauza unei neînțelegeri sau a unei logici greșite pe care o scrie cod greșit pentru acea cerință din cauza erorii din cod care duce la defect sau eroare.
„
De exemplu
„: dezvoltăm un modul pentru calcularea dobânzii la suma dată, dar dezvoltatorul scrie un cod greșit pentru a calcula suma dobânzii datorată erorii din codul pe care îl primim Suma de dobândă greșită (poate mai mică sau mai mare), aici nu obținem rezultatul așteptat în raport cu cerința, deci acesta este un bug sau un defect.
Răspuns
Nu sunt de acord cu răspunsurile care sugerează o eroare și un defect sunt același lucru.
În testarea software-ului, o eroare este un comportament eronat care rezultă dintr-un defect de cod. Un defect de cod este un defect al codului care face ca acesta să nu îndeplinească corect specificațiile corespunzătoare.
În comparație, un defect (utilizat fără calificare) este o abatere de la specificație sau cerințe. O specificație care este declarată incorect este un defect – iar codul care îndeplinește corect specificația declarată ar fi, de asemenea, considerat fără erori. O cerință care nu este îndeplinită de niciun cod este, de asemenea, considerată un defect (până când nu este scris un cod care îndeplinește corect cerința) – codul inexistent nu poate prezenta un bug.
Desigur, un bug poate fi asociat cu un defect, deoarece prezența unui bug poate provoca devierea codului de la cerințele sale. Dar asta nu înseamnă că sunt același lucru.
Răspuns
Pentru persoana care spune că nu există nicio diferență, eu Le-aș pune această întrebare: „Să spunem că o anumită bucată de cod face ca un produs să nu se poarte. Există cu siguranță o eroare în acea bucată de cod. Codul nu este esențial, așa că este doar comentat. A fost găsită și remediată eroarea din aplicație? Există încă un defect în aplicație? „
Cred că majoritatea oamenilor vor răspunde” nu ” si da”. Încă nu am găsit problema în acel cod și nu am remediat-o. Dar am împiedicat-o să provoace un defect.
Adesea nu există nicio diferență. Majoritatea defectelor sunt cauzate de bug-uri. Cele mai multe erori cauzează detectări.
O eroare este o eroare într-o bucată de cod. Este posibil să nu aibă consecințe, de exemplu, se poate declanșa numai în cazurile care nu apar la niciun produs care utilizează codul respectiv.
Un defect este ceva greșit care provoacă un comportament neașteptat sau face ceva mai puțin potrivit pentru utilizările sale reale.
Un defect este adesea cauzat de o eroare, dar nu întotdeauna. De exemplu, dacă specificația spune că software-ul ar trebui să facă ceva și software-ul face asta, nu este un bug. Dar dacă acest lucru face ca software-ul să nu fie potrivit pentru utilizarea intenționată, acesta este un defect.
Un bug poate provoca un defect, dar nu întotdeauna. De exemplu, dacă specificația spune că un anumit caz de eroare ar trebui tratat într-un anumit mod și codul nu face asta, este o eroare în codul respectiv. Dar dacă proiectul care conține codul respectiv poate fi dovedit a fi incapabil să producă acel caz, nu este un defect în acel proiect.
Când vorbiți în mod specific despre dezvoltarea codului, acesta va fi folosit în diverse proiecte, nu există nicio diferență. Orice eroare trebuie considerată un defect.
Răspuns
Singura diferență este publicul către care vă adresați. Tester și dezvoltator
Defect: Defectul este o eroare de codare sau logică care determină funcționarea defectuoasă a unui program sau producerea de rezultate incorecte / neașteptate.
Bug: Dacă acel defect acceptat de programator este numit bug.