Jaka jest różnica między błędem a defektem?

Zastanawiam się, jaka jest różnica między błędem a defektem podczas testowania tworzenia oprogramowania?

Komentarze

  • @ user246 ma to. Jest też problem. Znowu to samo.
  • Zadawano to już wcześniej, więc chciałem podzielić się tym pytaniem. programmers.stackexchange.com/questions/37029/… Istnieją również powiązane pytania (po prawej stronie tego pytanie), które są również podobne. Nie można tego oznaczyć jako duplikatu, ponieważ ' nie ma w SQA SE.
  • Myślę, że mamy wystarczająco dużo odpowiedzi na to trywialne pytanie, więc ' zamierzam go teraz chronić.
  • @ user246 Lol, co za protekcjonalny komentarz.

Odpowiedź

To samo. Niewątpliwie są firmy, które używają tych terminów do oznaczania różnych rzeczy, ale ich użycie nie jest uniwersalne. Jeśli ktoś zada Ci to pytanie w wywiadzie, powinieneś móc powiedzieć: „Tam, gdzie pracuję, terminy są wymienne. Czy mają tu na myśli coś innego?”.

Komentarze

  • Wszyscy są zgodni co do definicji błędu / wady, czyli jakiegoś nieoczekiwanego zachowania produktu. Dla mnie coś znalezionego w fazie rozwoju powinno nazywać się ” BUG „, ale jeśli ten błąd został wykryty w aktywnym produkcie, powinien być o nazwie ” DEFECT „. Wkrótce BŁĘDNA funkcja, WADLIWY produkt.

Odpowiedź

Bug, Defect, Issue, Fault, Incident, Ticket to wszystkie takie same i są stosowane zamiennie w organizacjach. Ludzie mogą debatować i mówić, że zgadzają się lub nie, i cytować odniesienia, ale podstawowa rzeczywistość jest taka, że nie ma znaczenia, jak to nazwiesz, o ile jest śledzona, odwoływana w razie potrzeby i ostatecznie naprawiona.

Moje doświadczenie pokazuje poniżej: W Bugzila zobaczysz pole „Identyfikator błędu”, w QC / HP ALM znajdziesz pole „Identyfikator defektu” w wewnętrznych narzędziach monitorowania / wsparcia specyficznych dla firmy, zobaczysz głównie „Numer zdarzenia:”.

Komentarze

  • Błąd i wada są takie same. Problem, incydent i bilet zwykle oznaczają zgłoszony problem, ale niekoniecznie problem spowodowany przez błąd lub usterkę. Na przykład problem może być spowodowany błędem użytkownika. Lub może to być prośba o funkcję. ' jest prawdą, że niektóre ” oprogramowanie do śledzenia błędów ” (Bugzilla) śledzi wszystkie rodzaje problemów oprócz błędów i może nawet odnosić się do wszystkich z nich potocznie jako ” błędy „, ale ' nie jest standardowym użyciem i prawdopodobnie wynika z rozszerzenia poza to, do czego oprogramowanie było pierwotnie przeznaczone.
  • @LarsH Chociaż technicznie poprawne, w prawdziwym świecie incydenty są zwykle nazywane ” błędy „, ” wady ” lub ” incydenty „, niezależnie od wymagań kultury firmy. Błędy / wady / incydenty, które są zamykane z powodu ” według projektu „, technicznie rzecz biorąc, nie są błędami / defektami, mimo to wszyscy nazywają je błędami / wady / incydenty, więc to poprawna nazwa, aby je nazwać.
  • @Peter: Generalnie zgadzam się z tobą, chociaż nie ' nie posunąłbym się tak daleko ” wszyscy ” lub ” poprawna nazwa, aby do nich zadzwonić. ” Ja ' zajmowałem się tworzeniem oprogramowania w 4 różnych firmach / organizacjach (i różnych grupach o różnych kulturach w tych organizacjach) i jest mnóstwo osób, które wygrały ' nie wywołuj problemu jako błędu, chyba że ' jest spowodowany przez oprogramowanie / sprzęt, które nie działają zgodnie z opisem. Zwłaszcza deweloperzy, których reputacja jest zagrożona, gdy twierdzi się, że problem jest ” błędem ” w ich oprogramowaniu. Tak, generalnie wiemy, co masz na myśli i nie ' nie rób z tego powodu zamieszania, ale to nie ' nie czyni tego poprawnym.
  • @LarsH W firmach, w których pracowałem, incydenty wyraźnie różniły się od błędów i usterek. Incydent został użyty do opisania rzeczy, takich jak ” na serwerze brakuje miejsca na dysku twardym ” lub ” linia światłowodowa została przecięta. ” Oprócz oczywiście incydentów związanych z bezpieczeństwem. Nie ' Nie jestem pewien, czy można ogólnie powiedzieć, że incydent jest równoznaczny z błędami. Błędy i wady, tak, ale IMO, incydent to rozciąga.

Odpowiedź

Niezliczone definicje, które rozróżniają istnieją „błąd” i „wada”. Nie zgadzają się ze sobą. Obejmują bezpośrednie przeciwieństwa (błąd to A, defekt to B kontra błąd to B, defekt to A). O ile mi wiadomo, żadna z tych definicji nie jest szeroko stosowana. Każde rozróżnienie między warunkami będzie specyficzne dla Twojej firmy, może nawet dla Twojej grupy, Twojego działu, Twojej firmy.

Niektórzy twierdzą, że istnieje wyraźna różnica, na przykład ten :

  • Błąd jest wynikiem błędu w kodowaniu
  • Wada to odchylenie od wymagań

lub ten :

  • Błąd pojawia się w czasie testowania, gdzie jako wada jest problem, który dostał klient w czasie produkcji.

lub inny :

Wada to skutek, zwykle spowodowany błędem człowieka, pisania poprawnego kodu. […] Błąd nie jest błędem w kodowaniu. Błąd to system, który robi coś, co samo w sobie nie jest niepoprawne… ale nie zostało specjalnie zaprojektowane i nie spodziewasz się, że to nadchodzi.

lub z komentarza do tej odpowiedzi:

„Błąd” sugeruje, że raz zauważony problem jest (lub uważa się, że jest) trywialny do naprawienia . „Wada” (jak w przypadku „wadliwy z założenia”) sugeruje, że tak nie jest, ale także jest konsekwencją niedoskonałej specyfikacji lub projektu.

lub z innej odpowiedzi w tym wątku:

[…] jeśli specyfikacja mówi, że oprogramowanie powinno coś zrobić, a oprogramowanie to robi, to nie jest błąd. Jeśli jednak powoduje to, że oprogramowanie nie nadaje się do zamierzonego zastosowania, jest to „wada”.

Jeszcze więcej definicji można znaleźć w innych odpowiedziach w tym wątku .

Te definicje są ze sobą całkowicie sprzeczne. Nie zgadzają się również z tym, jak postrzegam te terminy w rzeczywistości. Nie ma spójnego rozróżnienia między terminami używanymi we wszystkich znaczących obszarach branży oprogramowania.

Jedyną dość powszechnie używaną definicją jest taka, która nie rozróżnia błędu i usterki. Bez dalszego kontekstu środowiska pracy i wyspecjalizowanego użycia terminów, zarówno „defekt”, jak i „błąd” oznaczają po prostu: „ problem, który ktoś napotkał lub może napotkać podczas korzystania z oprogramowania. ”Ale jak widać z różnych innych odpowiedzi w tym wątku, nie jest on na tyle rozpowszechniony, aby nazywać go„ definicją ”.

Komentarze

  • Ja ' idę trochę dalej i zasugeruję, że istnieje różnica w codziennym użytkowaniu. ” Błąd ” sugeruje, że raz zauważony problem jest (lub uważa się za taki) trywialny do naprawienia. ” Wada ” (jak w ” wadliwy projekt „) sugeruje, że tak nie jest, a także, że jest to konsekwencja niedoskonałej specyfikacji lub projektu. Porównaj przekazanie nowego budynku, w którym ” przeszkody ” (błędy) są zgłaszane głównemu wykonawcy do naprawy bez dodatkowych kosztów ( lub nie, jeśli okaże się, że jest to niechciana, ale poprawna dostawa tego, co określono w umowie i planach). Zgadzam się, każda twarda klasyfikacja będzie miała zasięg lokalny.
  • @ nigel222 Nie zamierzałem popełniać przestępstwa, ale ' zarezerwuję to zgodnie z definicją 4, która jest ponownie na z trzema innymi przykładami.

Odpowiedź

Błąd słowa pochodzi z pierwszy błąd w komputerze :

tutaj wprowadź opis obrazu

Prawdziwe błędy nie psują już komputerów, a wraz z upływem czasu ta analogia zaczyna mieć coraz mniej sensu. Dlatego moją misją jest pozbycie się terminu błąd i zawsze używam defekt dla każdego oprogramowania związanego problem i ty też powinieneś 🙂

Jakość to perspektywa osoby, każdy ma inne zdanie. Myślę, że to samo jest z wadą lub nie. Jeśli myślisz, że jest zepsute, to jest zepsute zgodnie z Seth Godin .

Jeśli interesuje Cię klasyfikacja wad, proponuję przyjrzyj się procesowi klasyfikacji stosowanemu w polityce zero defektów .

Komentarze

  • To oczywiście nie może ' być tam, gdzie pojawiło się słowo ” błąd ” od.Jeśli słowo ” błąd ” nie ' nie odnosi się już do problemu lub wady, dlaczego mieliby mówić ” Pierwszy rzeczywisty przypadek znalezienia błędu. „?
  • Może wyobrazili sobie, że błąd zepsułby system? Jest to historia, której nauczyłem się również w szkole. Wspomniany również w Wikipedii, więc musi być prawdą 😉 en.wikipedia.org/wiki/Software_bug
  • Punkty strony Wikipedii do wielu wcześniejszych zastosowań słowa ” błąd „.
  • Tak, ale te wcześniejsze zastosowania nie są błędy komputera / oprogramowania. Są to raczej odniesienia do sprzętu / inżynierów elektryków. Na przykład przykład Thomasa Edisona wspomniany na stronie Wikipedii. Artykuł odnosi się również do historii, którą napisał Niels van Reijmersdal !!!

Odpowiedź

Wykorzystałem wiele różne narzędzia do śledzenia problemów, wszystkie te terminy „defekt”, „błąd”, „problem” itd. są często traktowane jako to samo, a zobaczysz, że domyślnie wszystkie one definiują po prostu jeden z nich.

Na tej podstawie sugerowałbym, że większość ludzi też uważałaby je za to samo.

Odpowiedź

Być może w testach deweloperskich nie ma żadnej różnicy, jeśli będziesz porównywać system ze specyfikacją. Jednak wiele rzeczy jest zauważanych i rejestrowanych jako usterki, które nie są w rzeczywistości odstępstwami od intencji programisty.

Termin błąd był używany przez długi czas. To naprawdę oznacza wszystko, co zauważysz w tym, co zbudowałeś to jeszcze nie jest w porządku. Edison słynnie definiuje termin w liście z 1878 roku

Uwaga: wykopaliska w Grace Hopper w sprawie tego odniesienia irytują mnie. Jej wpis w dzienniku wyraźnie wskazywał, że zna istniejący termin.

Odpowiedź

Różnica między błędem a defektem może być tym, czym Ty zrobić z tego. Zależy to całkowicie od tego, jak zdefiniujesz oba terminy. Definicje i rozumienie terminologii różnią się w zależności od organizacji, zespołów i osób. Gdziekolwiek pójdziesz, zobaczysz, że ludzie różnie rozumieją jeden termin i definiują je zgodnie ze swoim zrozumieniem.

Błąd i wada mogą oznaczać dokładnie to samo dla osoby, podczas gdy inna osoba może zdefiniować to inaczej.

Niektórzy definiują błąd i usterkę jak poniżej,

BŁĄD:

  • Błąd jest wynikiem błędu w kodowaniu.
  • Czynność ludzka, która daje niepoprawny wynik.
  • Odchylenie od oczekiwanego wyniku .
  • Błąd w oprogramowaniu to błąd, wada, pomyłka, awaria lub usterka w programie komputerowym, która uniemożliwia mu działanie zgodnie z przeznaczeniem lub daje niepoprawny wynik.

Wada:

  • Wada to odchylenie od wymagań.
  • Problem w algorytmie prowadzący do awarii.
  • Defekt dotyczy czegoś, co normalnie działa, ale zawiera coś niezgodnego ze specyfikacją.
  • Defekt jest wprowadzany do oprogramowania w wyniku błędu. Jest to anomalia w oprogramowaniu, która może powodować jego nieprawidłowe działanie i niezgodne ze specyfikacją.

Odpowiedź

Jaka jest różnica między błędem a defektem ?

  • Błąd pojawia się podczas testowania, gdzie jako wada jest problem, który klient dostał w środowisku produkcyjnym.

  • Błąd to błąd w programie, który powoduje jego nagłe zachowanie. Błędy są zwykle wykrywane podczas testów jednostkowych przeprowadzanych przez twórców testów modułów przez testerów.

  • Defekt jest wykrywany, gdy aplikacja nie jest zgodna ze specyfikacją wymagań. Wadę można również znaleźć podczas testowania przez klienta lub użytkownika.

Odpowiedź

Zgodnie z ISTQB

defekt i błąd „oba są takie same, gdy programista pisze code z powodu jakiegoś nieporozumienia lub błędnej logiki, którą piszą zły kod dla tego wymagania z powodu błędu w kodzie, który prowadzi do defektu lub błędu.

Na przykład

„: Opracowujemy moduł do obliczania odsetek od podanej kwoty, ale programista pisze nieprawidłowy kod do obliczenia kwoty odsetek z powodu błędu w kodzie, który otrzymujemy zła (może mniej lub więcej) kwota odsetek, tutaj nie otrzymujemy oczekiwanego wyniku w porównaniu z wymaganiem, więc jest to błąd lub wada.

Odpowiedź

Nie zgadzam się z odpowiedziami, które sugerują, że błąd i wada to to samo.

W testowaniu oprogramowania błąd to błędne zachowanie, które wynika z defektu kodu. Wada kodu to wada w kodzie, która powoduje, że nie spełnia on poprawnie swojej specyfikacji.

Dla porównania, defekt (używany bez kwalifikacji) jest odchyleniem od specyfikacji lub wymagań. Niepoprawnie podana specyfikacja jest defektem – a kod, który poprawnie spełnia podaną specyfikację, również zostałby uznany za wolny od błędów. Wymaganie, które nie jest spełnione przez żaden kod, jest również uważane za wadę (do czasu napisania kodu, który poprawnie spełnia wymagania) – nieistniejący kod nie może wykazywać błędu.

Oczywiście błąd może być powiązany z wadą, ponieważ obecność błędu może spowodować, że kod będzie odbiegał od jego wymagań. Ale to nie znaczy, że są tym samym.

Odpowiedź

Dla osoby, która twierdzi, że nie ma różnicy, ja „Zadaj im pytanie:„ Powiedz, że określony fragment kodu powoduje nieprawidłowe działanie produktu. ”Z pewnością jest błąd w tym fragmencie kodu. Kod nie jest niezbędny, więc został po prostu zakomentowany. Czy błąd w aplikacji został znaleziony i naprawiony? Czy nadal występuje błąd w aplikacji? ”

Myślę, że większość ludzi odpowie„ nie ” i tak”. Nadal nie znaleźliśmy problemu w tym kodzie ani go nie naprawiliśmy. Ale zapobiegamy powodowaniu przez niego defektu.

Często nie ma różnicy. Większość defektów jest spowodowana przez błędy. Większość błędów powoduje wykrywanie.

Błąd to błąd w fragmencie kodu. Może nie mieć żadnych konsekwencji, na przykład może się uruchamiać tylko w przypadkach, które nie występują w żadnym produkcie używającym tego kodu.

Wada to coś złego, co powoduje nieoczekiwane zachowanie lub sprawia, że coś jest mniej odpowiednie jego rzeczywiste zastosowania.

Wada jest często spowodowana przez błąd, ale nie zawsze. Na przykład, jeśli specyfikacja mówi, że oprogramowanie powinno coś zrobić, a oprogramowanie to robi, to nie jest błąd. Ale jeśli to sprawia, że oprogramowanie jest nieodpowiednie do zamierzonego zastosowania, jest to wada.

Błąd może spowodować usterkę, ale nie zawsze. Na przykład, jeśli specyfikacja mówi, że pewien przypadek błędu powinien być obsługiwany w określony sposób, a kod tego nie robi, jest to błąd w tym kodzie. Ale jeśli można wykazać, że projekt, który zawiera ten kod, nie jest w stanie wyprodukować takiego przypadku, nie jest to usterka w tym projekcie.

Kiedy mówisz konkretnie o tworzeniu kodu, używane w różnych projektach, nie ma różnicy. Każdy błąd należy traktować jako wadę.

Odpowiedź

Jedyną różnicą jest to, do jakich odbiorców się zwracasz. Tester i programista

Wada: Wada to błąd w kodzie lub logice, który powoduje nieprawidłowe działanie programu lub generuje nieprawidłowe / nieoczekiwane wyniki.

Błąd: Jeśli ten defekt zaakceptowany przez programistę jest zwany bug.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *