it-swarm-eu.dev

Rozdíl mezi vadou a chybou při testování?

Jaký je rozdíl mezi vadou a chybou?

35
maz3tt
  • Chyba je výsledkem chyby kódování

  • Závada je odchylka od požadavků

To je: Vada nemusí nutně znamenat chybu v kódu , může to být funkce, která nebyla implementována, ale definována v požadavcích software.


Ze stránky Wikipedia na testování softwar :

Ne všechny chyby softwaru jsou způsobeny chybami kódování. Jeden běžný zdroj drahých vad je způsoben mezerami v požadavcích, např. Nerozpoznanými požadavky, které vedou k chybám opomenutí projektanta programu. [14] Společným zdrojem mezer v požadavcích jsou nefunkční požadavky, jako je testovatelnost, škálovatelnost, udržovatelnost, použitelnost, výkon a bezpečnost.

59
Dan McGrath

Citace Ilene Burnstein z knihy Praktické testování softwaru (doporučeno) kdo se podílí na definici v „IEEE Standards Collection for Software“ Engineering (1994) a „IEEE Standard Glossary of Software Engineering Terminology“ (standard 610.12, 1990):

Chyba

Chyba je chyba, mylná představa nebo nedorozumění ze strany vývojáře softwaru

Do kategorie vývojářů patří softwaroví inženýři, programátoři, analytici a testeři. Vývojář může například nepochopit notaci návrhu nebo programátor může nesprávně zadat název proměnné.

Poruchy (vady)

Porucha (závada) je do softwaru zavedena v důsledku chyby. Je to anomálie v softwaru, která může způsobit, že se bude chovat nesprávně, a ne podle její specifikace.

Poruchy nebo defekty se někdy nazývají „chyby“. Použití posledně uvedeného pojmu trivializuje dopady chyb na kvalitu softwaru. Použití termínu „vada“ je také spojeno se softwarovými artefakty, jako jsou požadavky a konstrukční dokumenty. Vady vyskytující se v těchto artefaktech jsou také způsobeny chybami a jsou obvykle detekovány v procesu kontroly.

Selhání

Porucha je neschopnost softwarového systému nebo komponenty plnit požadované funkce v rámci stanovených požadavků na výkon.

Během provádění softwarové komponenty nebo systému tester, vývojář nebo uživatel zjistí, že nepřináší očekávané výsledky. V některých případech určitý typ nesprávného chování naznačuje, že je přítomen určitý typ poruchy. Můžeme říci, že typ chování je příznakem poruchy. Zkušený vývojář/tester bude mít znalostní databázi poruch/příznaků/případů selhání (modely poruch popsané v kapitole 3) uložené v paměti. Nesprávné chování může zahrnovat vytváření nesprávných hodnot pro výstupní proměnné, nesprávnou odpověď na části zařízení nebo nesprávný obraz na obrazovce. Během vývoje jsou poruchy obvykle pozorovány testery a chyby jsou lokalizovány a opraveny vývojáři.

Úplnou kapitolu si můžete přečíst v Knihách Google, zde .

21
dukeofgaming

Existují různé termíny související se softwarovými chybami. Výňatek z kurzu, který jsem absolvoval:

  • Chyba: Lidská činnost nebo opomenutí, které má za následek poruchu.

  • Porucha: Porucha je softwarová vada (nesprávný krok, proces nebo definice dat), která způsobuje selhání.

  • Bug: Stejné jako chyba.

  • Porucha: Neschopnost softwaru vykonávat požadované funkce v rámci stanovených požadavků na výkon.

Podle toho není rozdíl mezi vadou a chybou. Někteří lidé však tvrdí, že chyba je chyba, která je nalezena před uvolněním softwaru, zatímco vada je chyba zjištěná zákazníkem.

Nemohl jsem odolat zveřejnění slavného „prvního skutečného případu nalezení chyby“.

alt text

12
Tamás Szelei

Z IEEE Standard Glossary of Software Engineering Terminology, který je citován v Body Software Engineering Body of Knowledge KA pro testování softwaru a kvalitu softwaru:

chyba. Viz: chyba; chyba.


chyba. (1) Rozdíl mezi vypočítanou, pozorovanou nebo měřenou hodnotou nebo podmínkou a skutečnou, specifikovanou nebo teoreticky správnou hodnotou nebo podmínkou. Například rozdíl 30 metrů mezi vypočítaným a správným výsledkem. (2) Nesprávná definice kroku, procesu nebo dat. Například nesprávná instrukce v počítačovém programu. (3) Nesprávný výsledek. Například vypočítaný výsledek 12, když je správný výsledek 10. (4) Lidská činnost, která vede k nesprávnému výsledku. Například nesprávná akce ze strany programátora nebo operátora. Poznámka: I když se běžně používají všechny čtyři definice, jedno rozlišení přiřadí definici 1 slovu „chyba“, definici 2 slovu „chyba“, definici 3 slovu „chyba“ a definici 4 slovu „chyba“. Viz a2so: dynamická chyba; fatální chyba; domorodá chyba; sémantická chyba; syntaktická chyba; statická chyba; přechodná chyba.


selhání. Neschopnost systému nebo součásti plnit požadované funkce v rámci stanovených požadavků na výkon. Poznámka: Disciplína tolerance chyb rozlišuje mezi lidskou činností (chyba), jejím projevem (chyba hardwaru nebo softwaru), výsledkem poruchy (porucha) a částkou, o kterou je výsledek nesprávný (chyba). Viz také: crash; závislé selhání; výjimka; poruchový režim; Poruchovost; těžké selhání; počáteční selhání; nezávislé selhání; náhodné selhání; měkké selhání; neúspěšné selhání.


chyba. (1) Závada v hardwarovém zařízení nebo součásti; například zkrat nebo přerušený vodič. (2) Nesprávná definice kroku, procesu nebo dat v počítačovém programu. Poznámka: Tato definice se používá především v disciplíně tolerance chyb. Při běžném používání se výrazy „chyba“ a „chyba“ používají k vyjádření tohoto významu. Viz také: chyba citlivá na data; chyba citlivá na program; ekvivalentní chyby; maskování chyb; občasná chyba.


Myslím si, že definice selhání je nejdůležitější. Všechno začíná chybou, ať už jde o požadavky, návrh, implementaci nebo testovací případ/proceduru. Pokud se tato chyba projeví v softwaru, stane se to chybou. Porucha je způsobena existencí jedné nebo více chyb v softwaru.

Nemám však zájem o formální definici chyby. Velmi upřednostňuji definice uvedená v jeho odpovědi dukeofgaming , ale v této odpovědi je standardní definice IEEE chyb.

7
Thomas Owens

Ach drahá.

V dávných dobách - vadný provoz počítače byl způsoben nejrůznějšími věcmi - včetně krys, které žvýkaly kabeláž a skutečných chyb (tvorů), které se dostaly do práce.

Termín BUG uvízl jako termín, který znamená, že něco nefunguje podle očekávání.

Chyba by měla být považována za termín žargonu, což znamená vadu.

Vada je technicky správný termín, což znamená, že věc nedělá to, co má.

Kdykoli je to možné, použití DEFECT namísto BUG ve skutečnosti s sebou nese konotaci, že uznáváme naše selhání (naše vady, naše nepochopení uživatelských požadavků nebo věcí, které jsme při implementaci přehlédli) místo toho, abychom se oblékli jako triviální znějící „chyba“ ".

Použijte DEFECT.

Zkuste nepoužívat termín BUG. Je to hloupé, irelevantní, historické a trivializující.

7
quickly_now

odpověď Dan McGrath to přibilo správně.

  • Chyba je výsledkem chyby kódování
  • Vada je odchylka od požadavků

Možná by to byl příklad jasnější.

Příklad: Klient chtěl, aby webový formulář mohl okno uložit a zavřít.

Scénář č. 1: Webový formulář má tlačítko uložit a další tlačítko Zavřít. Výsledek: Defekt, protože klient chtěl, aby tlačítko 1 uložilo a zavřelo okno. Vývojář nepochopil a vytvořil samostatně. Protože obě tlačítka splnila své požadavky, nejedná se o chybu, ale o vadu, protože nesplňuje požadavek klienta.

Scénář č. 2: Webový formulář má tlačítko uložit a zavřít, ale pouze uloží, ale nezavře se. Výsledek: Bug. Protože tlačítko nefunguje podle požadavků/očekávání. Vývojář ví, že se předpokládá, že tento výsledek přinese, ale nakonec ne. (možná chyba kódování)

Nejste si jisti, zda je to jasnější.

p/s: z pozice vývojáře (byl jsem jednou), jsou vady i chyby stejně důležité. Stále to napravíme.

Narazili jsme dokonce na podivné anomálie, které jsme rozdělili do kategorií chyb a neustále se snažíme zjistit, co je příčinou a jak ji opravit. Pojmenování chyb neznamená, že je ve srovnání s vadami triviální.

3
tctham

Zde je jeden, který jsem udělal dříve pro svého zaměstnavatele Q-LEAP na základě slovníku ISTQB a také jsem zkontroloval slovník IEEE. Užívat si.

Chyba a vada? Totéž, i když o tom může být nekonečná diskuse. Máme opravdu další věci, o které se musíme bát, život je už dost komplikovaný atd.

enter image description here

Příklad toho, jak se tento termín používá ve volné přírodě, od „Jak Google Tests Software“ p. 113. Otevřete článek „Software IEEE“ a používá se stejným způsobem. Opravdu, jeden málokdy se setká se slovem „vada“ v reálném životě.

Život chyby

Hlášení o chybách a chybách jsou jediným artefaktem, kterému každý tester rozumí. Nalezení chyb, třídění chyb, opravování chyb a ustupující chyby jsou srdcem a pracovním tokem pro kvalitu softwaru. Toto je část testování, která je u Googlu nejběžnější, ale stále existuje několik zajímavých odchylek od normy. V této části ignorujeme chyby, které se ukládají ke sledování pracovních položek, a tento termín používáme k identifikaci skutečného nefunkčního kódu. Chyby jako takové často představují pracovní postup pro každou hodinu pro každou hodinu.

Zrodila se chyba. Chyby jsou vyhledávány a registrovány všemi na Googlu. Produktoví manažeři zaznamenávají chyby, když zachytí problémy v počátečních sestavách, které se liší podle jejich specifikací/myšlenek. Vývojáři podávají chyby, když si uvědomí, že náhodou zkontrolovali problém, nebo našli problém někde jinde v kódové základně nebo při testování produktů Google. Chyby přicházejí také z terénu, od testerů pocházejících z davu, testování externích dodavatelů a zaznamenávají je správci komunit sledující skupiny Google specifické pro daný produkt. Mnoho interních verzí aplikací má také rychlé způsoby, jak jediným kliknutím ukládat chyby, jako jsou mapy Google. Softwarové programy někdy vytvářejí chyby prostřednictvím rozhraní API.

1
David Tonhofer

Podle Spolehlivost: základní pojmy a terminologie :

Selhání systému nastane, když se dodaná služba odchyluje od plnění systémové funkce, přičemž druhá je tím, pro co je systém určen. Chyba je ta část stavu systému, která může vést k následnému selhání: chyba ovlivňující službu je známkou toho, že k chybě dochází nebo má došlo. Rozhodnutá nebo předpokládaná příčina chyby je chyba .

Chápu vadu jako jiné jméno chyby.

Chyba je matoucí a může představovat poruchu nebo poruchu v závislosti na kontextu.

Všimněte si, že neexistuje žádná zmínka o specifikaci: i specifikace může být vadná.

0
mouviciel

Mimo konkrétní chybu/úkol/lístek/defekt/problém/jakoukoli instanci sledovacího systému nemají tato slova žádný přesný význam, a proto diskuse o rozdílech mezi nimi není zbytečná. Při řešení pracovního postupu byste měli urovnat terminologii a poskytnout popisy.

V mém současném prostředí je „vada“ jakákoli položka v Jire. Vypadá to, že samotná Jira používá termín „problém“. Možná jsme to zdědili od nějakého dřívějšího systému. „Chyba“ je typ problému, kdy něco nefunguje podle očekávání a je popsáno v dokumentaci. „Žádost o funkci“, když něco funguje podle očekávání, ale je žádoucí zlepšení (může to být zřejmé a důležité, ale pokud je popsáno současné chování, jedná se stále o požadavek na funkci). Existuje více typů, ale ty 2 jsou používány lidmi mimo vývojový tým, aby se na něco zeptali.

Pokud vyberete názvy typů problémů, zní mi podobně jako „chyba“ a „vada“. Rozdíl mezi nimi je stylistický. Protože angličtina není mým rodným jazykem, nemohu ji opravdu vidět a nevím, zda to, co vidím, je správné.

0
max630

Rozdíl je v tom, že termín „chyba“ zní magicky. Jako by program mohl mít náhodně chyby v tom, jakmile skončíte s programováním. Pokud má náhodné chyby, znamená to, že jste nevyhověli specifikacím a váš program je v omylu.

Vadou se rozumí chyba, kdy program neodpovídá specifikacím. To je vážnější a v podstatě se říká, že libovolná chyba je obrovský problém s programem a to znamená, že program není vhodný k vydání.

Rozdíl je v přístupu programátorů, kteří používají termíny. Existují miliony programů vydaných s chybami a lidé jsou v pořádku, protože z nějakého důvodu přijímají, že chyba je magická a náhodná a že každý program obsahuje alespoň jednu chybu. Programátor, který používá termín „vada“, se však může stát nepříjemným při uvolnění programu s vadou, protože tento termín znamená větší závažnost.

Důsledky upřednostňování jednoho termínu před druhým nás ovlivňují denně.

0
Rudolf Olah