KIV/ASWI 2007/2008 Techniky zajištění kvality software. Kvalita software Techniky včasné detekce

Podobné dokumenty
Obsah. Úvod 9 Poděkování 10 Co je obsahem této knihy 10 Pro koho je tato kniha určena 11 Zpětná vazba od čtenářů 11 Errata 11

SOFTWAROVÉ INŽENÝRSTVÍ 1

A7B36SI2 Tematický okruh SI11 Revidoval: Martin Kvetko

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme

Testování software. Jaroslav Žáček

Design systému. Komponentová versus procesní architektura

12 Zajištění kvality programového vybavení

ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ

CASE nástroje. Jaroslav Žáček

CASE. Jaroslav Žáček

Chyby software. J. Sochor, J. Ráček 1

PROCESY CO ZÍSKÁTE: Předpoklad pro certifikace ISO. Lean Six Sigma Fast Track

12 Zajištění kvality programového vybavení

Řízení reálných projektů, agilní metodiky

Kvalita SW produktů. Jiří Sochor, Jaroslav Ráček 1

Vývoj řízený testy Test Driven Development

MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY

End-to-end testování. 26. dubna Bořek Zelinka

Návod k požadavkům ISO 9001:2015 na dokumentované informace

Analýza a Návrh. Analýza

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

Analytická specifikace a její zpracování

Zajištění kvality programového vybavení - testování

5 Požadavky a jejich specifikace

KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství. Cíle předmětu Organizační informace Opakování

Testování softwaru. 10. dubna Bořek Zelinka

5 Požadavky a jejich specifikace

Metriky softwarové kvality

MVS a Knihovny.cz jak to vzniklo, proč a kde jsme Jednání Sekce pro služby, SDRUK Národní knihovna

Inženýr IT a řídících systémů

Význam měřm. Mgr. Anna Borovcová doc. Ing. Alena Buchalcevová, Ph.D. VŠE Praha

Systémy pro podporu. rozhodování. 2. Úvod do problematiky systémů pro podporu. rozhodování

Zuzana Šochová MFF Modelování a realizace softwarových projektů

WS PŘÍKLADY DOBRÉ PRAXE

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

Nástroje pro průběžnou integraci a testování

Architektura softwarových systémů

Jak auditovat systémy managementu bez příruček a směrnic Ing. Milan Trčka

PowerOPTI Řízení účinnosti tepelného cyklu

Custom Code Management. Přechod na S/4HANA

Řízení kvality SW produktů Jiří Sochor, Jaroslav Ráček 1

CobiT. Control Objectives for Information and related Technology. Teplá u Mariánských Lázní, 6. října 2004

Systémy pro podporu rozhodování. Hlubší pohled 2

Agilní metodiky vývoje softwaru

Metodika analýzy. Příloha č. 1

1 Úvod 1.1 Vlastnosti programového vybavení (SW)

Spolehlivost. INP 2008 FIT VUT v Brně

2 Životní cyklus programového díla

Návrh softwarových systémů - úvod, motivace

14 Úvod do plánování projektu Řízení projektu

Nebojte se přiznat, že potřebujete SQA

01 Teoretické disciplíny systémové vědy

Informační systém pro centrální správu lokální sítě a služeb ISP

Informační systémy. Jaroslav Žáček

Kritérium relevance v hodnocení udržitelného rozvoje. Doc. PaedDr. Tomáš Hák, PhD. Doc. RNDr. Svatava Janoušková, PhD.

BI-TIS Případová studie

Modelování požadavků

[ 1 ] Ing. František Chuchma, CSc. Seminář SVP/SDP, Státní ústav kontrolu léčiv

14 Úvod do plánování projektu Řízení projektu

Inovace bakalářského studijního oboru Aplikovaná chemie

Vaše jistota na trhu IT. Národní distribuce oficiálních dokumentů EU. IS EU Extranet ČR. Jiří Truxa, S.ICZ a.s , Hradec Králové.

2012 STÁTNÍ ÚSTAV PRO KONTROLU LÉČIV

Agile Software Development

TREND POPIS ODPOVĚDNOSTI PRACOVNÍKA MANAŽER VÝVOJE

Výkonnostní audit a výkonnost veřejné správy

VeriFIT Automatizovaná analýza a verifikace

Testování SW produktů. Jiří Sochor, Jaroslav Ráček 1

SPECIFIKA CERTIFIKACE PODLE ČSN EN ISO 9001:2001 V ORGANIZACÍCH, KTERÉ SE ZABÝVAJÍ VÝVOJEM SOFTWARE

Bezepečnost IS v organizaci

Inovace bakalářského studijního oboru Aplikovaná chemie

Cíl vzdělávacích modulů:

Informační systémy ve strojírenství

POSUDEK VEDOUCÍHO BAKALÁŘSKÉ PRÁCE

MST - sběr dat pomocí mobilních terminálů on-line/off-line

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Efektivnost informačních systémů. strategické řízení taktické řízení. operativní řízení a provozu

Testování webové stránky Alza.cz

Co musí zahrnovat dokumentace systému managementu kvality? 1 / 5

Monitor, monitoring KH Inspekce GCP Audit

Rozvoj a údržba systémů

Seznámení s přípravou platformy pro zajištění služeb dodávaní dokumentů včetně MVS: ZÍSKEJ

K vývoji aktivit v organizaci výzkumu

aktivita A0705 Metodická a faktografická příprava řešení regionálních disparit ve fyzické dostupnosti bydlení v ČR

Řízení rizik. Ing. Petra Plevová.

Ing. Pavel Reich, PA Consulting Group 31. října 2001

Zdravotnické laboratoře. MUDr. Marcela Šimečková

Cíl semináře. Pomáháme Vám s úspěchem.

Metriky v informatice

Semestrální práce z předmětu 4IT421 Téma: CMMI-DEV v.1.3 PA Project Monitoring and Control

IBM Analytics Professional Services

Příloha č. 86. Formulář pro audity (Formulář A, MS Excel)

Michal Hala. Radek Baloun

Déle než rok se účastníme diskusí s předními odborníky v oboru a poskytujeme našim partnerům poradenství s přípravami na GDPR.

256/2006 Sb. VYHLÁŠKA. ze dne 22. května o podrobnostech systému prevence závažných havárií. Úvodní ustanovení

Obsah. Ohlasy na Vývojářův kód 9 Poděkování 11 Zpětná vazba od čtenářů 13 Errata 13

10 Metody a metodologie strukturované analýzy

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

Řízení projektového cyklu. Fáze projektového cyklu

Nástroje pro vývoj software

Transkript:

KIV/ASWI 2007/2008 Techniky zajištění kvality software Kvalita software Techniky včasné detekce

Obsah a cíl Vysvětlení pojmu kvalita software Motivace pro zajištění kvality Základní techniky včasné detekce chyb Pochopit, že where quality is pursued, productivity follows ASWI 2006 - Techniky zajištění kvality 2

Jaký software je kvalitní Klíčový pojem: fitness for purpose vhodnost pro zamýšlený účel použití primární měřítko jsou uživatelské požadavky Aspekty kvality vnější spolehlivost, výkonnost, použitelnost, bezpečnost, vnitřní architektura, odolnost proti změnám, testovatelnost, dokumentovanost,» vnitřní kvalita je základem pro vnější ASWI 2006 - Techniky zajištění kvality 3

Úroveň dosahované kvality Široké spektrum» semestrální práce» utilita» systémový produkt» fault-tolerant systém» safety-critical systém faktor dopadu na majetek a lidské životy Určení úrovně kvality důležité pro technické i organizační aspekty projektu ASWI 2006 - Techniky zajištění kvality 4

Opak kvality Omyl (error ) přehlédnutí, omyl nebo špatné designové rozhodnutí programátora; důsledkem je Defekt (defect, též fault či bug ) závada, nedostatek v [zdrojovém kódu dodaného] produktu; důsledkem může být Chybový stav (run-time fault ) jiný než očekávaný (správný) run-time stav nebo výstup (sub)systému; důsledkem může být Selhání (failure ) neschopnost systému nebo jeho části vykonávat požadované funkce v požadovaných výkonnostních limitech; pozorovatelné navenek. ASWI 2006 - Techniky zajištění kvality 5

Prevence je vždycky lepší Jednou vzniklá chyba působí řetězovou reakci Model zesilování defektu (IBM 1981) Čím později odhalena tím dražší náprava relativní cena odstranění chyby následky chyby se zvětšují během vývoje ASWI 2006 - Techniky zajištění kvality 6

Způsoby zajištění kvality ASWI 2006 - Techniky zajištění kvality 7

Způsoby zajištění kvality Preventivní techniky cíl: zabránit vzniku event. dalšímu šíření chyby racionální proces a best practices kontroly a měření meziproduktů» častější v úvodních fázích Detekční a opravné techniky cíl: najít a opravit již existující chybu testování a ladění» typické v koncových fázích ( výstupní kontrola ) ASWI 2006 - Techniky zajištění kvality 8

Kontroly Preventivní techniky automatizované testy prověření meziproduktu nezávislým oponentem» dříve než se z něj začne vycházet v další práci technická oponentura a podobné techniky párové programování, refactoring Měření kvantitativní ukazatele pomáhají najít slabiny kvality přesnost a dokazatelnost, možnost statistik GQM přístup, FURPS ASWI 2006 - Techniky zajištění kvality 9

Refactoring Změna interní struktury software, která jej činí srozumitelnějším a snáze upravitelným, aniž by změnila jeho vnější chování» též proces k takové změně vedoucí Detekce zapáchajícího kódu Změna designu, oprava» katalog úprav Nutný sourozenec: automatické testy ASWI 2006 - Techniky zajištění kvality 10

Automatizované testování Základní kontrola kvality kódu» typicky unit testy Nemá-li [část kódu] automatizovaný test, který by dokazoval jeho funkčnost, je nutné jej pokládat za chybový. Nástroje: JUnit, NUnit, Souputníci: refactoring, automatizovaný build» test-driven development ASWI 2006 - Techniky zajištění kvality 11

Technická oponentura Též Faganovská inspekce (Fagan, IBM 1976) Skupinová technika (využití diverzity pohledů, cca 4-7 lidí) Cíl: odhalit chyby v návrhu/kódu, sledování standardů, vzdělávání Ne: dělat potíže autorovi (neúčast vedení), hledat nápravu chyb Role ve skupině moderátor řídí diskusi průvodce předkládá dílo (není autor) autor vysvětluje nejasnosti zapisovatel zaznamenává nalezené problémy oponenti hledají chyby, obvykle podle seznamů otázek ASWI 2006 - Techniky zajištění kvality 12

Technická oponentura postup Příprava distribuce díla (moderátor), projití a hledání problémů (oponenti)» několik dní předem, cca 2h práce Schůzka sekvenční procházení díla (průvodce či moderátor) vznášení připomínek zapisování nálezů (chyb a otevřených otázek)» nejvýše 2 hodiny» nepřipouštět dlouhé diskuse, řešení chyb (moderátor)» možná následná schůzka pro vyjasnění otázek Závěry verdikt: v pořádku / drobné chyby / nutné přepracování / nová oponentura autor odstraní chyby dle nálezů, moderátor zkontroluje» dokument Nálezy oponentury ASWI 2006 - Techniky zajištění kvality 13

Zhodnocení technické oponentury Přínosy použitelné ve všech fázích životního cyklu» zejména v analýze a návrhu, kdy neexistují strojovězpracovatelné artefakty velmi dobrá detekce chyb (až 75%)» některé studie uvádí 10-100x nižší výsledný počet chyb při používání inspekcí» většina chyb (až 60%) nalezena před testováním výsledkem jsou nižší náklady na vývoj a vyšší produktivita» úspora 40-70% nákladů díky levnější opravě chyb v dřívějších fázích cyklu» ze studií IBM (60 projektů) plyne až o 35% vyšší DSLOC při použití inspekcí Nároky náročné na čas nejde automatizovat» podle IBM optimální rychlost procházení cca 60-80 SLOC / hod je třeba zkušenost» důraz na zaškolení lidí, zejména moderátora» účinnost podle pořadí inspekce: č.1: 15%, č.2: 41%, č.3: 61% [Humprey89] ASWI 2006 - Techniky zajištění kvality 14

Lehčí techniky Strukturované procházení podobné Faganovské inspekci menší důraz na formálnost, větší flexibilita Peer review» shodné: příprava předem, schůzka s procházením, checklist» není: striktně rozdělené role, následná kontrola oprav, statistiky kontrola nezaujatým čtenářem autor prochází kód a vysvětluje kolega hledá problémy a komentuje» častý jev: autor najde chyby ve svém kódu, když jej má vysvětlit ASWI 2006 - Techniky zajištění kvality 15

Prevence je vždycky lepší (2) Účinnost detekce chyb modelování, prototypování 65% avg 80% max formální oponentury návrhu 55% 75% neformální procházení 40% 60% čtení kódu 40% 60% integrační testování 45% 60% testování modulů 25% 50% Jednotlivé způsoby doplňkové ASWI 2006 - Techniky zajištění kvality 16

Opravdová prevence chyb je být dobrým softwarovým inženýrem Osobní snaha o kvalitu Best practices» dvakrát měř, jednou řež» 3-tier, test-first, refactoring, modelování, návrhové vzory, Učit se, učit se, učit se ASWI 2006 - Techniky zajištění kvality 17

Formální verifikace Matematické důkazy správnosti návrhu implementace Model checking formální model systému Petriho sítě, algebry (CSP)» a-priori nebo získaný analýzou kódu model checker => deadlock-free, liveness, soulad s implementací ASWI 2006 - Techniky zajištění kvality 18

Statistické kontroly Základ: metriky» indikátor někde je něco špatně Aplikace spolehlivost MTBF = MTTF + MTTR dostupnost [%] = (MTTF / MTBF) x 100 Kód složitost, přehlednost McCabe cyclomatic complexity, fan-in / fan-out možná někdy případně i také LOC pokrytí testy Projektové metriky defect removal project velocity / burndown ASWI 2006 - Techniky zajištění kvality 19