Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

statnice:si:a4m33tvs1 [2011/05/16 09:57]
tape
statnice:si:a4m33tvs1 [2025/01/03 18:29] (aktuální)
Řádek 1: Řádek 1:
-====== Kategorizace SW chyb, kriteria ​korektnosti a použitelnosti,​ spolehlivost SW(A4M33TVS) ======+====== Kategorizace SW chyb, kritéria ​korektnosti a použitelnosti,​ spolehlivost SW(A4M33TVS) ======
    
 ===== Softwarová chyba =====  ​ ===== Softwarová chyba =====  ​
   * Prezentace toho, že program nedělá něco nepředpokládaného ​   * Prezentace toho, že program nedělá něco nepředpokládaného ​
   * Míra toho, kdy program přestává být užitečný (lidem) ​   * Míra toho, kdy program přestává být užitečný (lidem) ​
-  * Je to nesouhlas mezi programem se specifikací+  * Je to nesouhlas mezi programem se specifikací ​pouze tehdy, jestliže specifikace existují a jsou správné
  
  
Řádek 14: Řádek 14:
  
 {{:​statnice:​si:​swerr.png?​500| Sw. chyby [1.]}} {{:​statnice:​si:​swerr.png?​500| Sw. chyby [1.]}}
 +
 +
 +===== Kategorie softwarových chyb ===== 
 +  * **Chyby uživatelského rozhraní**
 +    * Problémy s funkčností - program nedělá něco, co by měl dělat nebo to dělá nevhodně(zmatečně,​ neúspěšně),​ lze některé operace provést obtížně
 +    * To co se "​předpokládá"​ od programu, žije pouze v mysli uživatele
 +    * Všechny programy mají problémy ​ s funkčností vzhledem k různým uživatelům
 +    * Funkční problém je chybou, pokud očekávání uživatele jsou rozumná
 +    * **Vstupy**
 +      * Jak lze nalézt, jak program používat (jaká je nápověda)? ​
 +      * Jak snadné je ztratit se v programu? ​
 +      * Jaké chyby uživatel dělá a kolik ho to stojí času? ​
 +      * Co mu chybí? ​
 +      * Nutí prg. uživatele přemýšlet nepřirozeně?​
 +    * **Výstupy** ​
 +      * Rychlost je základ interaktivního sw. 
 +      * Cokoli co budí dojem pomalého prg. je problém. ​
 +      * Získá uživatel, co potřebuje? ​
 +      * Mají výstupy smysl? ​
 +      * Může uživatel přizpůsobit výstup potřebám? ​
 +      * Zle výstup přesměrovat dle potřeby(monitor,​ tisk, soubor...)?
 +  * **Chyby omezení** ​
 +    * Chyby zpracování vyjímek zahrnující neschopnost
 +      * Předvídání možnosti chyby a bránit se jim
 +      * Zpracování podmínek chyby
 +      * Zpracovaní detekované chyby různými způspby
 +    * Chyby hraničních podmínek
 +      * Nejjednodušší hranice jsou numerické
 +      * Mezní nároky na paměť, za kterých program může pracovat
 +    * Výpočetní chyby
 +      * Chyby aritmetiky jsou časté a obtížně detekovatelné
 +      * Program ztrácí přesnost během výpočtu vlivem zaokrouhlovacích chyb a ořezání
 +      * Výpočetní chyby způsobené chybnými algoritmy
 +  * **Procesní chyby**
 +    * Sekvenční
 +      * Počáteční a jiné speciální stavy
 +        * Funkce mohou selhat při prvním použití, např. chybějící inicializační informace či soubory
 +        * Nastaví se skutečně vše do výchozího bodu, vymažou se všechna data, jestliže uživatel provede reset programu?
 +      * Chyby řízení nastane, pokud program provede chybný příští krok
 +        * Extrémní chyba nastane, pokud se program zastaví nebo vymkne kontrole řízení
 +    * Paralelní
 +      * Chyby souběhu - race error
 +        * Jedny z nejméně testovaných
 +        * Nastávají v multiprocesových sys. a integračních sys.
 +        * Velmi obtížně se opakují
 +      * Zátěžové podmínky
 +        * Program se začne chovat chybně pokud se přetíží
 +          * Chyby velkého //objemu// - hodně práce za dlouhou dobu
 +          * Chyby velkého //stresu// - hodně práce v daném okamžiku
 +        * Všechny programy mají své limity, ale je důležité vědět co nastane ​  
 +  * **Chyby vedení**
 +    * Hardware - program posílá chybová data na zařízení,​ ignorují chybové kódy přicházející zpět a zkouší použít zařízení,​ která neexistují nebo jsou aktuálně vytížená
 +    * Řízení zdrojů a vedení
 +      * Staré problémy se opět objevují, pokud programátor zakomponuje do programu nějakou starou verzi komponenty
 +      * Ujistěte se, že program má správný copyright, vstupní obrazovky a čísla verzí
 +    * Dokumentace - slabá dokumentace může způsobit ztrátu víry uživatele, že sw. pracuje spráně
 +    * Chyby testování
 +      * Chyby udělané testy jsou nejčastějšími chybami objevenými během testování
 +      * Jestliže program navádí většinu uživatelů ke způsobení chyb, pak je špatně navržen
 +  * **Chyby požadavků,​ vlastností a funkčnosti**
 +    * Požadavky a specifikace
 +      * Neúplné, nejednoznačné,​ vzájemně si odporující
 +      * Hlavní zdroj drahých chyb
 +    * Chyby vlastností - chybějící,​ chybné, nevyžádané vlastnosti
 +    * Interakce vlastností - nepredikované interakce(přesměrování telefonu ve smyčce)
 +    * Preventivní opatření proti chybám ve specifikacích a vlastnostech:​
 +      * Problém v komunikaci člověk-člověk
 +      * Jazyk formálních specifikací poskytující krátkodobé řešení, avšak neřeší problém chyb v dlouhodobém horizontu.
 +  * **Strukturální chyby**
 +    * Chyby v řízení sekvencí
 +      * Příkaz GOTO
 +      * Většina chyb řízení (v novém kódu) se dá snadno testovat a je chycena během testování jednotek
 +      * Neupravený starý kód může mít řadu chyb v řídicím toku
 +      * Stlačování za účelem kratšího prováděcího času nebo menšího nároku na paměť je špatná politika
 +    * Chyby zpracování
 +      * Zahrnuje chyby vyhodnocení aritmetických,​ algebraických nebo matematických fcí. a výběr algoritmu
 +      * Řada problému vznikne špatnou konverzí dat na jinou reprezentaci
 +    * Chyby logiky
 +      * Neporozumění jak se selekční či logické operátory chovají samostatně nebo v kombinacích
 +      * Neporozumění sémantice uspořádání logických výrazů a jeho vyhodnocení specifickými překladači
 +      * Chyby datového toku - nevztahují se k chybám řízení
 +      * Chyby toku řízení - část logického výrazu, která je použita pro ovládání toku řízení
 +    * Inicializační chyby - opomenutí inicializace pracovního prostoru, registů, nebo části dat 
 +    * Chyby a anomálie toku dat
 +      * Nastane pokud existuje cesta, při které se udělá s daty něco neodůvodněného např. použití neinicializované proměnné, nebo neexistující proměné
 +      * Jsou stejně tak důležité jako anomálie toku řízení
 +  * **Datové chyby**
 +    * Lze je nalézt ve specifikacích datových objektů, jejich formátů, počtu nebo jejich počátečních hodnotách
 +    * Sw. se vyvíjí k tabulkám obsahujících řídicí a procesní fce.
 +    * Trendy programování vedou k zvýšenému používání nedeklarovaných,​ interních, speciálních programovacích jazyků
 +    * Dynamické vs. statické
 +      * Protože efekt poškození dynamických dat se může projevit velmi vzdáleně od příčiny, nalézají se takovéto chyby velmi obtížně
 +      * Základní problém zbytků ve sdílených zdrojích (např. vyčištění po použití uživatelem,​ sdílené čištění pomocí ovladače zdrojů, žádné čištění)
 +    * Informace, parametr, řízení
 +      * Údaj plní jednu ze tří rolí: jako parametr, jako řízení, jako zdroj informace
 +      * Informace je obvykle dynamická s tendencí lokality pro danou transakci (nedostatek ochranného kódu validace dat)
 +      * Neadekvátní validace dat často vede k ukazování prstem
 +    * Obsah, struktura, atributy
 +      * Obsah - aktuální bitový vzor, řetězec znaků, nebo číslo vložené do datové struktury
 +      * Struktura - velikost, tvar a počty popisující datové položky
 +      * Atributy - specifikace významu (sémantika)
 +      * Základem je explicitní dokumentace obsahu, struktury a atributů všech datových objektů
 +  * **Chyby implementace**
 +    * Chyby kódování
 +      * Dobrý překladač chytne syntaktické chyby, nedeklarovaná data, procedury, kód a mnoho inicializačních problémů
 +      * Častou chybou kódu jsou dokumentační chyby (komentáře)
 +      * Úsilí programování je dominováno údržbou
 +    * Chyby paměti
 +      * Charakteristiky
 +        * Nejobtížnější chyby z hlediska lokalizace
 +        * Nejdůležitější chyby z hlediska opravy
 +        * Projevy nesprávného obsahu paměti jsou nepredikovatelné
 +        * Chyby v obsahu paměti se typicky projevují vzdáleně od jejich příčiny
 +        * Chyby zůstávají často nedetekováné dokud nejsou náhodně spuštěny
 +      * Typy chyb
 +        * Chyby hranic polí
 +        * Přístup přes nesefinovaný ukazatel
 +        * Čtení z neinicializované paměti
 +        * Chyby ztráty paměti (memory leaks)
 +      * Slabá místa výkonnosti
 +        * Kolekce vyčerpávající přesné množiny dat pro výkonnostní test programu a každé jeho komponenty (profilování)
 +        * Zaměření se na kritická data
 +        * Sběr správně vybraných dat
 +          * Řádka - kolikrát proběhla každá řádka - nejpřesnější,​ ale nejnáročnější na sběr dat
 +          * Funkce - méně podrobné než předchozí
 +          * Čas - data se sbírají z údajů časovaných běhů funkcí. Data jsou správná pro daný běh, ale závisí na stavu mikroprocesoru a paměti. Nejméně náročný sběr
 +
 +
 +
 +===== Kritéria korektnosti a použitelnosti =====
 +
 +== Komunikace ==
 +Mate pravdu, ​ kriteria korektnosti a pouzitelnosti byla v prednaskach
 +zminena pouze okrajove. Syllabulus predmetu byl napsan totiz nekym jinym,
 +takze jsem mel troche problemy s tim, co vlastne autor zminenou otazkou
 +myslel, nebot "​obchodni"​ fantazirovani na tema "​kriteria korektnosti a
 +pouzitelnosti"​ se do naseho predmetu nehodi, ackoliv v 90. Letech na dane
 +tema byla napsana rada knih. Bohuzel, zmenit obsah predmetu zvlaste kdyz se
 +dane tema dostane do statnicovych otazek neni jednoduche. ​
 +
 +Pro Vasi potrebu, moznou kratkou a jasnou definici, z meho pohledu plne
 +dostacujici,​ lze nalezt na 
 +
 +http://​it.toolbox.com/​wiki/​index.php/​Software_Quality_Metrics
 +http://​www.testingstandards.co.uk/​living_glossary.htm
 +
 +Zdravi
 +Radek Marik
 +
 +
 +
  
  
Řádek 19: Řádek 170:
 ===== Spolehlivost softwaru =====  ===== Spolehlivost softwaru ===== 
 často definovaná jako pravděpodobnost,​ že systém, vozidlo, stroj, zařízení,​ atd. bude vykonávat svou zamýšlenou funkci v daných operačních podmínkách po specifikovanou dobu. často definovaná jako pravděpodobnost,​ že systém, vozidlo, stroj, zařízení,​ atd. bude vykonávat svou zamýšlenou funkci v daných operačních podmínkách po specifikovanou dobu.
 +
 ===== Modely spolehlivosti softwaru ===== ===== Modely spolehlivosti softwaru =====
 používají se k odhadu spolehlivosti nebo počtu zbývajících defektu softwarového produktu, který byl uvolněn mezi zákazníky. používají se k odhadu spolehlivosti nebo počtu zbývajících defektu softwarového produktu, který byl uvolněn mezi zákazníky.
statnice/si/a4m33tvs1.1305532635.txt.gz · Poslední úprava: 2025/01/03 18:25 (upraveno mimo DokuWiki)
Nahoru
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0