Úvod do testování a verifikace

Podobne dokumenty
Klasická metodologie testování

ggplot2 Efektní vizualizace dat v prostředí jazyka R Martin Golasowski 8. prosince 2016

Metodologie testování

Procesní standardy. May 21, CA CZ, s.r.o. Radek Mařík Procesní standardy May 21, / 39

Linea rnı (ne)za vislost

MATEMATIKA 3. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Geometrická nelinearita: úvod

ČVUT FEL, K Radek Mařík Strukturované testování 20. října / 52

Aproximace funkcí 1,00 0,841 1,10 0,864 1,20 0,885. Body proložíme lomenou čarou.

Numerické metody minimalizace

Numerické metody 8. května FJFI ČVUT v Praze

Komplexní analýza. Martin Bohata. Katedra matematiky FEL ČVUT v Praze Martin Bohata Komplexní analýza Mocninné řady 1 / 18

Logika V. RNDr. Kateřina Trlifajová PhD. Katedra teoretické informatiky Fakulta informačních technologíı BI-MLO, ZS 2011/12

Úvodní informace. 18. února 2019

TGH01 - Algoritmizace

Procesní standardy. September 14, CA CZ, s.r.o. Radek Mařík Procesní standardy September 14, / 32

Automatové modely. Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Kristýna Kuncová. Matematika B2 18/19

Necht je funkce f spojitá v intervalu a, b a má derivaci v (a, b). Pak existuje bod ξ (a, b) tak, že f(b) f(a) b a. Geometricky

Edita Pelantová, katedra matematiky / 16

Funkce zadané implicitně. 4. března 2019

Anna Kratochvílová Anna Kratochvílová (FJFI ČVUT) PDR ve zpracování obrazu / 17

Stavový popis Stabilita spojitých systémů (K611MSAP) Katedra aplikované matematiky Fakulta dopravní ČVUT. čtvrtek 20. dubna 2006

CA CZ, s.r.o. May 21, Radek Mařík Testování řídicích struktur May 21, / 45

Internet a zdroje. (Zdroje na Internetu) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17.

5. a 12. prosince 2018

Co nám prozradí derivace? 21. listopadu 2018

Vybrané kapitoly z matematiky

Elementární funkce. Edita Pelantová. únor FJFI, ČVUT v Praze. katedra matematiky, FJFI, ČVUT v Praze

Obsah. Zobrazení na osmistěn. 1 Zobrazení sféry po částech - obecné vlastnosti 2 Zobrazení na pravidelný konvexní mnohostěn

Matematika III Stechiometrie stručný

Matematika (KMI/PMATE)

Matematika 2, vzorová písemka 1

Inverzní Z-transformace

Modelov an ı v yukov ych dat, obt ıˇznosti probl em u Radek Pel anek

Martin Pergel. 26. února Martin Pergel

kontaktní modely (Winklerův, Pasternakův)

1 Soustava lineárních rovnic

(1) Derivace. Kristýna Kuncová. Matematika B2 17/18. Kristýna Kuncová (1) Derivace 1 / 35

Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost.

(2) Funkce. Kristýna Kuncová. Matematika B2. Kristýna Kuncová (2) Funkce 1 / 25

Design of Experiment (DOE) Petr Misák. Brno 2016

PA152,Implementace databázových systémů 2 / 25

K SAMOSTATNÉ MODULOVÉ SCHODY MONTÁŽI. asta

TGH01 - Algoritmizace

XXXIII Olimpiada Wiedzy Elektrycznej i Elektronicznej Krosno 2010

Reprezentace dat. BI-PA1 Programování a Algoritmizace I. Ladislav Vagner

heteroskedasticitě Radim Navrátil, Jana Jurečková Katedra pravděpodobnosti a matematické statistiky, MFF UK, Praha

Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 3. listopadu Filip Železný (ČVUT) Vytěžování dat 3. listopadu / 1

POLIURETANOWE SPRĘŻYNY NACISKOWE. POLYURETHANOVÉ TLAČNÉ PRUŽINY

F88030VI. Instrukcja obsługi

Obsah: CLP Constraint Logic Programming. Úvod do umělé inteligence 6/12 1 / 17

Powyższe reguły to tylko jedna z wersji gry. Istnieje wiele innych wariantów, można też ustalać własne zasady. Miłej zabawy!

Ekonomicko-statistický návrh regulačního diagramu

Zásuvný modul QGISu. QGIS plugin pro práci s katastrálními daty

HAKA watertech 6/2011

Přehled aplikací matematického programovaní a

Statistika (KMI/PSTAT)

Komplexní analýza. Martin Bohata. Katedra matematiky FEL ČVUT v Praze Martin Bohata Komplexní analýza Úvod 1 / 32

Register and win!

Martin Dlask (KSI FJFI) 3. března 2016

Kristýna Kuncová. Matematika B2

DelighTech Fitness App

Stochastické modelování v ekonomii a financích Konzistence odhadu LWS. konzistence OLS odhadu. Předpoklady pro konzistenci LWS

návod k použití instrukcja obsługi

Teorie plasticity. Varianty teorie plasticity. Pružnoplastická matice tuhosti materiálu

Polsko czeskie spotkania europejskie w Kaletach LOGO. Projekty Miast Partnerskich. Kalety Vitkov

SYNTHOS PS GPPS HIPS

Obecná orientace (obvykle. Makroskopická anizotropie ( velmi mnoho kluzných rovin )

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

návod k použití instrukcja obsługi

Periodický pohyb obecného oscilátoru ve dvou dimenzích

Kombinatorika a grafy I

FAVORIT I CS MYČKA NÁDOBÍ NÁVOD K POUŽITÍ 2 PL ZMYWARKA INSTRUKCJA OBSŁUGI 23 SK UMÝVAČKA NÁVOD NA POUŽÍVANIE 46

Rekrutacja List Motywacyjny

III. Termin i miejsce Wjazd kolarski rozegrany zostanie w dniu (sobota) w Kowarach na trasie Kowary Ratusz - Przełęcz Okraj Mala Upa.

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra kybernetiky

návod k použití instrukcja obsługi manual de instruções návod na používanie

Kapitola 4: Soustavy diferenciálních rovnic 1. řádu

NÁVOD K POUŽITÍ KEZELÉSI KÉZIKÖNYV INSTRUKCJA OBSŁUGI NÁVOD NA POUŽÍVANIE. Česky. Magyar. Polski. Slovensky

Biosignál II. Lékařská fakulta Masarykovy univerzity Brno

Plyny v dynamickém stavu. Jsou-li ve vakuovém systému různé teploty, nebo tlaky dochází k přenosu energie, nebo k proudění plynu.

Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Vysvětlování modelovacích chyb 133 / 156

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

GENETICKÉ PROGRAMOVÁNÍ S JAZYKEM BRAINFUCK

Obsah. Limita posloupnosti a funkce. Petr Hasil. Limita posloupnosti. Pro a R definujeme: Je-li a < 0, pak a =, a ( ) =. vlastní body.

Biosignál I. Lékařská fakulta Masarykovy univerzity Brno

Co to znamená pro vztah mezi simultánní a marginální hustotou pravděpodobnosti f (x) (pravděpodobnostní funkci p(x))?

Příručka k rychlé instalaci: NWD2105. Základní informace. 1. Instalace softwaru

DFT. verze:

podle přednášky doc. Eduarda Fuchse 16. prosince 2010

L FL L FL CS PRAČKA NÁVOD K POUŽITÍ 2 PL PRALKA INSTRUKCJA OBSŁUGI 34

ČVUT FEL, K October 1, Radek Mařík Ověřování modelů II October 1, / 39

Matematika sexu a manželství. Masarykova univerzita, Přírodovědecká fakulta Ústav matematiky a statistiky

A71100TSW0 CS MRAZNIČKA NÁVOD K POUŽITÍ 2 PL ZAMRAŻARKA INSTRUKCJA OBSŁUGI 18 SL ZAMRZOVALNIK NAVODILA ZA UPORABO 35

Funkce více proměnných: limita, spojitost, parciální a směrové derivace, diferenciál

Návod k použití Instrukcja obsługi Návod na používanie

Operace s funkcemi [MA1-18:P2.1] funkční hodnota... y = f(x) (x argument)

Dräger Alcotest 6820 Měřič obsahu alkoholu v dechu Urządzenie do pomiaru stężenia alkoholu w wydychanym powietrzu

Paradoxy geometrické pravděpodobnosti

Transkrypt:

Úvod do testování a verifikace Radek Mařík ČVUT FEL Katedra telekomunikační techniky, K13132 11. října 2017 Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 1 / 44

Obsah 1 Proč testovat Studie softwarových projektů Typické problémy vývoje softwaru 2 Testování softwaru Definice Testování a verifikace 3 Koncept teorie kvality Pojem kvality Taguchiho přístup ke kvalitě 4 Automatizace testování softwaru Proč (ne)automatizovat? Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 2 / 44

Proč testovat Studie softwarových projektů Studie softwarových projektů The Standish Group, 1994 studie 8 380 projektů, 31% softwarových projektů přerušena, náklady 53% dokončených projektů se pohybují okolo 189% původních odhadů, z těchto 53% pouze 42% obsahuje původní sadu navrhovaných vlastností a funkcí, pouze 9% z těchto projektů bylo ukončeno v dohodnuté době a ceně. Obecně 5 ze 6 softwarových projektů je neúspěšných, 1/3 projektů je přerušena, projekty předávány za dvojnásobnou cenu než dohodnuto, projekty se předávají za dvojnásobně dlouhou dobu než se plánuje. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 4 / 44

Proč testovat Vývoj úspěšnosti projektů (CHAOS) Studie softwarových projektů 2015 19 52 29 2014 17 55 28 2013 19 50 31 2012 17 56 27 2011 22 49 29 2009 2006 2004 2002 24 19 18 15 44 46 53 51 32 35 29 34 selhání námitky úspěch 2000 23 49 28 1998 28 46 26 1996 40 33 27 1994 31 53 16 0% 20% 40% 60% 80% 100% Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 5 / 44

Proč testovat Rozpočty projektů (CHAOS) Studie softwarových projektů 200 180 160 140 120 100 80 60 40 20 0 1994 1996 1998 2000 2002 2004 Series1 189 142 69 45 43 43 Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 6 / 44

Proč testovat Agilní vs. Vodopád (CHAOS) Studie softwarových projektů Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 7 / 44

Proč testovat Faktory úspěchu (CHAOS) Studie softwarových projektů Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 8 / 44

Proč testovat Proces vývoje a proces testování Studie softwarových projektů Trendy Komplexita softwaru překotně stoupá. Jednoduchá modifikace implementace software může způsobit velké množství změn v testovacích skriptech. Nástroje Vývojáři používají pokročilé techniky jako průvodce, CASE nástroje. Testeři kódují každou řádku manuálně. Použití abstrakce Software používá abstraktní metody, aby pokryl velké množství případů. Testware se musí implementovat každý případ zvlášt. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 9 / 44

Proč testovat Studie softwarových projektů Požadované základní vlastnosti procesu testování Žádá se, stěžuje se na, diskutuje se,... Opakované použití: testovací metodika by neměla být vyvíjena pouze pro jediný projekt. Flexibilita: vyjádření nových konceptů, návrhových šablon. Adaptivita: malé modifikace v implementaci softwaru by měly být pokryty automatizovaně. Komplexita: pokrytí dostatečné části testovacích případů je často za možnostmi manuální přípravy. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 10 / 44

Proč testovat Studie softwarových projektů Požadované odvozené vlastnosti procesu testování Údržba: potřebné úsiĺı je nepřímo úměrné flexibilitě a adaptivitě, přímo úměrné komplexitě testovaného produktu. Prezentace stavu: dokumentace pravidelně obnovovaná, např. WWW stránky. Nástroje: integrovaná řešení adresující výše uvedené položky. Cena/čas: efektivnost vyjádřená pomocí výše uvedených položek. Proveditelnost: trh/cena/čas/zdroje/kvalita efektivnost. Nepřetržitý běh: rychlá odezva, několik fází (zahořovací,..., regresní, dokumentace pravidelně obnovovaná, např. WWW stránky. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 11 / 44

Proč testovat Ovlivňování výsledku projektu Studie softwarových projektů Zákazníci, zadavatelé, manažéři - hodnoty libovolných čtyř proměnných. Vývojový tým - výsledná hodnota zbývající páté proměnné. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 12 / 44

Ariane 5 Proč testovat Typické problémy vývoje softwaru Situace Řada motorů na tekuté a tuhé palivo nahrazena několika s větším tahem. 4.června, 1996, 40 s po startu ve výšce okolo 3700 m se nosič odklonil od své dráhy, rozlomil a explodoval. Raketa, nesené 4 satelity nepojištěny, 500 miliónů $. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 14 / 44

Selhání nosiče Ariane 5 Proč testovat Typické problémy vývoje softwaru Status testování Chyba Žádost o přetestování stabilizační plošiny převzaté z Ariane 4 v podmínkách Ariane 5 byla vetována CNES z důvodu vysokých nákladů. Sextant Avionique po havárii potvrdila, že by závadu svými testy detekovala. softwarová vyjímka v obou Stabilizačních referenčních systémech (SRI). nechráněný převod z 64bitového reálného čísla na 16bitové celé číslo. SRI má význam pouze před zvednutím nosiče, ačkoliv je operativní jestě dalších 50 s. přetečení nastalo z důvodu rozdílných drah. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 15 / 44

Shrnutí Arian 5 Proč testovat Typické problémy vývoje softwaru Typické chyby při procesu vývoje softwaru nedostatek času - veto na testování malé či chybně rozložené náklady - veto na testování, chybné nebo chybějící požadavky - jak dlouho by měl podsystém fungovat, chyby v kódu - nechráněné převody, opakované využití - změna specifikací, řada chyb vzniká striktním oddělením vývoje softwaru a jeho testování. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 16 / 44

Radiační předávkování Proč testovat Typické problémy vývoje softwaru Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 17 / 44

Therac 25 Proč testovat Typické problémy vývoje softwaru červen 1985 - leden 1987 lineární urychlovač používaný v lékařství k ozařování rakovinných nádorů, povrchové tkáně ozařovány elektrony, pro hlubší tkáně gama záření, 6 incidentů přezáření, z toho 3 smrtelné, 20000 rad místo 86 rad, systém reálného času vytvořený 1 programátorem, neexistující formální specifikace a testovací kritéria, hardwarové zámky nahrazeny programovými, pokud byla vstupní data změněna mezi 1 až 8 s, pak zářič a polohovací stůl pracovaly v různých módech, k nastavování logické proměnné použita inkrementace bytové proměnné. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 18 / 44

Shrnutí Therac 25 Proč testovat Typické problémy vývoje softwaru uživatelské rozhranní kontra bezpečnost, složitý návrh systémové testování není dostatečné, chybějící specifikace, typicky problémy systémů: paralelních (angl. parallel) souběžných (angl. concurrency). Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 19 / 44

Zkušenosti z chyb Proč testovat Typické problémy vývoje softwaru Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 20 / 44

Proslulé chyby Proč testovat Typické problémy vývoje softwaru Oběžná dráha Apollo 13: program testován za pomalu měnících se podmínek. Při velké dynamice došlo k vydělení nulou na netestované cestě. Mariner let k Venuši: 80 miliónů $, záměna za + vedla k odklonu z dráhy, Minutí Merkuru: proměnná Fortranu DO10I DO 10 I=1.5 DO 10 I=1,5 Selhání rakety Patriot: během Války v zálivu v 1991 kvůli kumulativní chybě v časové synchronizaci (ve skutečnosti: 0.34 s, 100 hodin; navrženo: 14 hodin), F16 simulace: letadlo se překlápělo při překročení rovníku, Návrh jaderné elektrárny: v roce 1979 muselo být 5 jaderných elektráren uzavřeno z důvodu poddimenzování potrubí, velikost vektoru počítána jako součet složek, modul byl napsán studentem na praxi. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 21 / 44

Testování softwaru Definice Testování softwaru - výchozí definice Hetzel 1973 Testování je proces určení věrohodnosti, že program či systém dělá to, co se o něj předpokládá. Myers 1979 Testování je proces spouštění programu či systému s úmyslem nalézt chyby. Hetzel 1983 Testování je jakákoliv aktivita s cílem vyhodnotit atribut či schopnost plnění požadovaných výsledků programem nebo systémem. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 23 / 44

Testování softwaru Definice Testování softwaru - přehled definic Testování je kontrola programů vzhledem ke specifikacím, nalézání chyb v programech, určení míry akceptování uživatelem, ujištění se o tom, že systém je připraven k používání, získání důvěry, že program pracuje, prezentace, že program běží správně, demonstrace toho, že program je bez chyb, porozumění omezení výkonnosti programu, učení se toho, co systém není schopen dělat, hodnocení schopností programu, verifikace dokumentace. Testování je měření kvality softwaru. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 24 / 44

Testování softwaru Testování kontra Verifikace Testování a verifikace Testování softwaru Neformální/formální oraculus pro validaci skutečných výsledků. Řízené vzorkování chování softwaru za účelem snížení pravděpodobnosti selhání softwaru či míry nespokojenosti zákazníka. Verifikace softwaru Založená na formálních modelech softwaru. Matematický důkaz, že model softwaru je správný. Pouze omezená množina použitelných technologíı: Vnořený software založený na konečných automatech. Verifikace protokolů. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 26 / 44

Verifikace a Validace Testování softwaru [Kit95, KFN93] Testování a verifikace Verifikace Validace dle definice IEEE/ANSI, je proces hodnocení systému či komponenty s cílem určit, zda produkty dané vývojové fáze splňují podmínky dané na začátku této fáze. Program se verifikuje vzhledem k nejbĺıže určujícím dokumentům nebo specifikacím. Jestliže existuje externí specifikace, pak funkční test verifikuje program vůči této specifikaci. dle definice IEEE/ANSI, je proces hodnocení systému či komponenty během nebo ke konci vývojového procesu s cílem určit, zda splňuje specifikované požadavky. Program je validován vůči publikovaným požadavkům uživatele nebo systémovým požadavkům. Testování = verifikace + validace testování bílé + černé skříňky Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 27 / 44

Definice kvality Koncept teorie kvality Pojem kvality Rozsah od inženýrských specifikací na úrovni dílny až po definice na úrovni společnosti: Webster s New World Dictionary Kvalita je fyzická či jiná charakteristika, která definuje základní podstatu věci či jednu z jejích vyznačných vlastností. Crosby 1979 Kvalita je mírou souhlasu s požadavky. ISO 9000 Kvalita je souhrn vlastností a charakteristik produktu či služby, která se týká schopnosti uspokojit určené nebo vyplývající potřeby. Taguchi 1986 Kvalita je ztráta, kterou produkt způsobí společnosti po jeho dodání, způsobenou funkčními změnami a škodlivými účinky mimo těch, které vyplývají z vlastních funkcí. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 29 / 44

Aspekty kvality Koncept teorie kvality Pojem kvality operační podmínky - výkonnost v krátkodobém horizontu, spolehlivost - dlouhodobý horizont, pohled zákazníka, IKIWISI - Guaspari: I Know It When I See It [Kit95] Ideální kvalita, kterou zákazník může očekávat, je, že každý produkt poskytuje cílenou výkonnost kdykoliv je použit, za všech zamýšlených operačních podmínek, po celou dobu jeho předpokládaného života, se žádnými škodlivými postranními efekty. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 30 / 44

Kvalita softwaru Koncept teorie kvality Pojem kvality Kvalita znamená splňovat požadavky zákazníka : Faktory: Funkčnost (externí kvalita) správnost, spolehlivost, použitelnost, integrita. Inženýrské řešení (vnitřní kvalita) efektivita, testovatelnost, dokumentace, struktura. Adaptabilita (budoucí kvalita) flexibilita, opětné použití, údržba. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 31 / 44

Koncept kvality Koncept teorie kvality Pojem kvality Vztah mezi skutečnou kvalitou produktu pocit ovanou zákazníkem a kvalitou měřenou na úrovni produkce: Factory production processes Product and process design Materials and supplies Components Product subsystems Finished product Factory test perfomance (Substitute performance) Factory test load Factory test method Factory test environment Transfer of ownership to customer Degree of correspondence Field usage processes Customer product configuration Customer requirements Field performance (True performance) Field environment Field operating method Field application Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 32 / 44

Koncept teorie kvality Taguchiho přístup ke kvalitě Proaktivita a reaktivita [Kol95] Reaktivní zabezpečení kvality je zaměřeno na detekování a korigování problémů, které již nastaly. zdůrazňuje vyhodnocování tradičních ztrát a statistické analýzy nashromážděných pozorování pro podporu akce. vede k omezování ztrát. Proaktivní zabezpečení kvality se orientuje na prevenci, dává důraz na znalost příčin a následků, riskové analýzy, zkušenosti, zdůvodnění akcí, staví na vyšší úrovni spekulace a risku, vede k urychlenému vývoji, umožňuje vyhnutí se ztrátám. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 34 / 44

Koncept teorie kvality Produkce řízená inspekcí Taguchiho přístup ke kvalitě Product inspected out 01 00 11 00 11 00 11 01 000 111 000 111 000000 111111 0000000000 1111111111 00000000000000 11111111111111 00000000000000 11111111111111 Lower specification Target Product inspected out 01 00 11 00 11 01 00 11 000 111 00 11 00000 11111 0000000000 1111111111 0000000000000 1111111111111 00000000000000 11111111111111 Upper specification Charakteristiky třídění/vyřazování produktů ležicích mimo povolený rozsah. ± specifikace Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 35 / 44

Produkce řízená cílem Koncept teorie kvality Taguchiho přístup ke kvalitě Lower specification Target Upper specification Charakteristiky zaměření na pozici cílového produktu a na redukci / řízení variace 6 sigma strategie uvedená Motorolou specifikační omezení produktu je ve vzdálenosti ± 6 násobku standardní odchylky produkce 2 defekty na miliardu produktů (za předpokladu normálního rozložení) 3.4 či méně defektů na milión produktů při ±1.5σ posunu středu Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 36 / 44

Ztrátová funkce kvality Koncept teorie kvality Taguchiho přístup ke kvalitě Ztrátová funkce inspekční strategie Loss $ Loss function LSL Ztrátová funkce cílové strategie Loss $ Target USL Quality characteristic measure Loss function Off target loss $ LSL Off target dimension Target USL Quality characteristic measure př. SONY v USA a Japonsku s rozdílnou kvalitou produktů Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 37 / 44

Koncept teorie kvality Taguchiho přístup ke kvalitě Kvadratická ztrátová funkce [Tag86] y... produkovaná hodnota výkonnostního indexu, m... hodnota indexu výkonosti požadovaná zákazníkem, L(y)... ztrátová funkce vzhledem k rozdílu mezi y a m, L(y) může být rozložena do Taylorovy řady okolo m: L(y) = L(m + y m) = L(m) + L (m) (y m) + L (m) (y m) 2 + 1! 2! za předpokladu L(m) = 0, L(y) je minimální při y = m, L (m) = 0, ztráta může být aproximována: L(y) k(y m) 2 k je neznámý koeficient, K určení k je potřeba vědět ztrátu D způsobenou odchylkou = y m. k = D/ Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 38 / 44

Automatizace testování softwaru Automatizace testování? Proč (ne)automatizovat? Výhody 1 Běh regresních testů na nové verzi programu. 2 Častější testování. 3 Provedení testu, který by jinak bylo obtížné provést. 4 Lepší využití prostředků. 5 Konzistence opakovatelnosti testů. 6 Vícenásobné použití testů. 7 Zkrácení doby uvedení na trh. Problémy 1 Nereálná očekávání. 2 Slabá testovací praxe. 3 Očekávání, že automatizovaný test nalezne mnoho nových defektů. typicky 85% manuální testování či návrh skriptu 4 Údržba automatizovaných testů. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 40 / 44

Porovnání postupů Automatizace testování softwaru Proč (ne)automatizovat? Vlastnost Manuální Automatizovaný Automatizovaný testování běh návrh Cena Nízká Vyšší Velmi vysoká přípravy (omezený Nízká testovací sady rozsah) (existující řešení) Kombinatorické Neschopné Velmi omezené Řízené pokrytí Flexibilita Vysoká (lidé) Zanedbatelná Vysoká a adaptivita (přejmenování) Cena běhu Vysoká Nízká Nízká Vstupy Vágní Vágní Modely softwaru Detekční Vysoká Nízká Střední schopnost Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 41 / 44

Problém údržby Automatizace testování softwaru Proč (ne)automatizovat? Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 42 / 44

Úsiĺı vývoje Automatizace testování softwaru Proč (ne)automatizovat? Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 43 / 44

Literatura I Automatizace testování softwaru Proč (ne)automatizovat? Cem Kaner, Jack Falk, and Hung Quoc Nguyen. Testing Computer Software. International Thomson Computer Press, second edition, 1993. Edward Kit. Software Testing in the Real World. Addison-Wesley, 1995. William J. Kolarik. Creating Quality: Concepts, Systems, Strategies, and Tools. McGRAW-HILL, INC., 1995. Genichi Taguchi. Introduction to Quality Engineering. Asian Productivity Organization, 4-14, Akasaka 8-chome, Minato-ku, Tokyo 107, Japan, 1986. Radek Mařík (radek.marik@fel.cvut.cz) Úvod do testování a verifikace 11. října 2017 44 / 44