kde si myslíte, že by mohl být domov softwarových chyb? Správně, v softwaru. Ale kde přesně?
proč se stává, že programy nefungují správně? Je to velmi jednoduché – jsou vytvořeny a používány lidmi. Pokud uživatel udělá chybu, může to vést k problému při provozu programu – používá se nesprávně, což znamená, že se nemusí chovat podle očekávání.
lidská chyba
chyba-je lidská akce, která vytváří nesprávný výsledek.
nicméně, software je navržen a vytvořen lidmi ,kteří mohou (a dělat) dělat chyby stejně. To znamená, že v samotném softwaru jsou chyby. Nazývají se vady nebo chyby (obě označení jsou ekvivalentní). Pamatujte – software je víc než jen kód.
softwarové vady nebo chyby
vada, chyba-nedostatek součásti nebo systému, který může vést k selhání určité funkce. Závada zjištěná během provádění programu může způsobit selhání jednotlivé komponenty nebo celého systému.
během provádění programového kódu se mohou objevit vady, které byly vloženy i během jeho psaní: program nemusí dělat to, co by měl, nebo naopak – dělat to, co by neměl, a dojde k selhání.
selhání nebo selhání softwaru
selhání nebo selhání je rozpor mezi skutečným výsledkem provozu komponenty nebo systému a očekávaným výsledkem.
selhání programu může být indikátorem přítomnosti vady v něm.
chyba tedy existuje, pokud jsou splněny tři podmínky současně:
- očekávaný výsledek je znám;
- skutečný výsledek je znám;
- skutečný výsledek se liší od očekávaného výsledku.
je důležité si uvědomit, že ne všechny chyby způsobují selhání – některé z nich se nemusí projevit žádným způsobem a zůstávají bez povšimnutí (nebo se objevují pouze za velmi specifických okolností).
poruchy mohou být způsobeny nejen vadami, ale také podmínkami prostředí: například záření, elektromagnetická pole nebo znečištění mohou také ovlivnit provoz softwaru i hardwaru.
celkem existuje několik zdrojů vad, a proto selhání:
- chyby ve specifikaci, návrhu nebo implementaci softwarového systému;
- chyby při používání systému;
- nepříznivé podmínky prostředí;
- úmyslné poškození;
- možné důsledky předchozích chyb, podmínek nebo úmyslných akcí.
vady se mohou vyskytnout na různých úrovních a kvalita systému bude přímo záviset na tom, zda jsou opraveny a kdy.
kvalita-stupeň, do kterého soubor vlastních charakteristik splňuje požadavky.
kvalita softwaru je soubor vlastností softwaru, které odrážejí jeho schopnost vyhovět uvedeným a předpokládaným potřebám. Požadavek je stanovená potřeba nebo očekávání. Obvykle se předpokládá nebo vyžaduje.
v prvním případě bylo vše provedeno správně a obdrželi jsme produkt, který plně splňuje očekávání zákazníka a splňuje kritéria kvality.
ve druhém případě došlo k chybám již během kódování, což vedlo k výskytu vad v hotovém výrobku. Ale na této úrovni jsou chyby poměrně snadno rozpoznatelné a opravitelné, protože vidíme nesoulad.
třetí možnost je horší-zde došlo k chybám ve fázi návrhu systému. To lze zaznamenat pouze důkladnou kontrolou SPECIFIKACE. Oprava těchto vad také není snadná-je třeba přepracovat design výrobku.
ve čtvrtém případě byly vady stanoveny ve fázi tvorby požadavků; veškerý další vývoj a dokonce i testování šel původně špatnou cestou. Během testování nenajdeme chyby-program projde všemi testy – ale zákazník jej může odmítnout. Více se o tom dozvíte v našich online třídách QA a certifikaci.
obvykle existuje pět důvodů pro výskyt vad v programovém kódu.
- nedostatek týmové komunikace. Často, obchodní požadavky jednoduše nedosahují vývojového týmu. Zákazník má pochopení toho, jak chce vidět hotový produkt, ale pokud jejich nápad není vývojářům a testerům řádně vysvětlen, výsledek nemusí být podle očekávání. Požadavky by měly být dostupné a srozumitelné všem účastníkům procesu vývoje softwaru.
- složitost softwaru. Moderní software se skládá z mnoha komponent, které jsou kombinovány do složitých softwarových systémů. Vícevláknové aplikace, klient-server a distribuovaná Architektura, vícevrstvé databáze-programy jsou stále obtížnější psát a udržovat a čím obtížnější je práce programátorů. A čím obtížnější je práce, tím více chyb může osoba, která ji provádí.
- změny požadavků. Dokonce i drobné změny požadavků pozdě ve vývoji vyžadují hodně práce na provedení změn v systému. Návrh a architektura aplikace se mění, což zase vyžaduje změny zdrojového kódu a principů interakce softwarových modulů. Tyto probíhající změny jsou často zdrojem jemných vad. Často se měnící požadavky v moderním podnikání jsou však spíše pravidlem než výjimkou, takže průběžné testování a kontrola rizik v takových podmínkách je přímou odpovědností oddělení zajišťování kvality.
- špatně zdokumentovaný kód. Je obtížné udržovat a upravovat špatně napsaný a špatně zdokumentovaný kód. Mnoho společností má zvláštní pravidla pro psaní a dokumentaci kódu programátory. I když se v praxi často stává, že vývojáři jsou nuceni psát programy rychle na prvním místě, což ovlivňuje kvalitu produktu.
- nástroje pro vývoj softwaru. Vykreslovače, knihovny, kompilátory, generátory skriptů a další vývojové pomůcky jsou také často špatně fungující a špatně zdokumentované programy, které se mohou stát zdrojem vad hotového produktu.