Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
statnice:si:a4m33tvs1 [2011/05/16 11:11] tape |
statnice:si:a4m33tvs1 [2025/01/03 18:29] (aktuální) |
||
---|---|---|---|
Řádek 4: | Řádek 4: | ||
* 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 104: | Řádek 104: | ||
* Sw. se vyvíjí k tabulkám obsahujících řídicí a procesní fce. | * 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ů | * 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 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 | ||
+ | |||
+ | |||
+ | |||
+ | |||