Quality assurance a testování

Podobné dokumenty
Software Quality Assurance. Tomáš Krátký, Bohumír Zoubek

Quality assurance a testovací nástroje v praxi. Bohumír Zoubek bohumir.zoubek@profinit.eu

Softwarový proces. Bohumír Zoubek, Tomáš Krátký

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

27/11/2017. Business analýza a sběr požadavků. Dotazy na event #G865

Agenda. Docházka Návrat k minulému praktickému cvičení Zápočtové práce. Dokumentace. Dotazy, přání, stížnosti. Co, jak a proč dokumentovat

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

Vývoj řízený testy Test Driven Development

Účel, použití, analýza rizik Milan Turinský Únor 2018

SOFT-ENG ACADEMY 2017/2018

A7B36SI2 Tematický okruh SI11 Revidoval: Martin Kvetko

Softwarový proces Martin Hlavatý 4. říjen 2018

Maintenance. Tomáš Krátký, Bohumír Zoubek

Testování software. Jaroslav Žáček

Kvalita procesu vývoje SW. Jaroslav Žáček

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

Softwarový proces Bohumír Zoubek 1. říjen 2018

Rozvoj a údržba systémů

A7B36SI2 Tematický okruh SI08 Revidoval: Martin Kvetko

Jak efektivně testovat IB. Otakar Ertl

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

30/10/2017. Odhady, nabídky, měření a historie. Dotazy na event #L554

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

Odhady, nabídky, měření a historie

Účel, použití, analýza rizik Milan Turinský Únor 2019

CASE. Jaroslav Žáček

SOFTWAROVÉ INŽENÝRSTVÍ 1

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

Návrh softwarových systémů - softwarové metriky

Dotazy na event #E256

Dotazy na event #6334

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

CASE nástroje. Jaroslav Žáček

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

Hardening ICT platforem: teorie nebo praxe. Pavel Hejduk ČEZ ICT Services, a. s.

PLM VDM. Lístek k úspěšné implementaci

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

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

Řízení SW projektů. Lekce 3. Projektové procesy a znalostní oblasti. přednáška pro studenty FJFI ČVUT. zimní semestr 2012

Testování prakticky Otakar Ertl 17. ledna 2018

Agilní metodiky vývoje softwaru

Agenda. Smysl teoretických cvičení Klasifikace Obecná pravidla Bugzilla Klasické problémy Poznámky k jednotlivým pojmům Antipatterns Testování testů

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

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

Obsah. Základní pojmy, zkratky Předpisy a literatura přehled Přístup k validacím počítačových systémů URS Validace Předpisy a literatura

Úvod do validace počítačových systémů Ing. Miroslav Mík. Obsah

Analýza a Návrh. Analýza

Dokumentace, konfigurační řízení

Kvalita procesu vývoje (SW) Jaroslav Žáček

Odhady, nabídky, měření a historie

Zhodnocení architektury podniku. Jiří Mach

Novinky v UML 2.5 a agilní modelování

Projekt Velryba Ozdravné pobyty pro děti. Semestrální projekt

Ročníkový projekt. Jaroslav Žáček

Testování software. Co projektový manažer může očekávat od test manažera a co test manažer očekává od projektového manažera Praha, 7.3.

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

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

Návrh softwarových systém. Návrh softwarových systémů

SIEM Mozek pro identifikaci kybernetických útoků. Jan Kolář , Praha, Cyber Security konference 2014

Informační bezpečnost. Dana Pochmanová, Boris Šimák

Mib:S4Road přechod k SAP S/4HANA. Jiří Palát

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

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

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

Specializace Návrhář software na základě analýzy vytváří návrh softwarových aplikací ve formě schémat a diagramů.

Testování Java EE aplikací Petr Adámek

Identifikace změny Definice změny a jejího rozsahu a dopadu Schválení změny Prioritizace změn Úprava plánu projektu

Centrum kompetence automobilového průmyslu Josefa Božka - AutoSympo a Kolokvium Božek až , Roztoky -

Procesní dokumentace Process Management. Pavel Čejka

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

Životní cyklus vývoje SW. Jaroslav Žáček

Projekty a změny v PRE. Teze z praxe

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

Odbor informatiky a provozu informačních technologií

Projekt Partner ČSOB Leasing. 02/12/2013 Jaromír Mayer Domain Process Manager Head of Department

QualityRisk Management. Úvod do problematiky. Září 2015

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

Risk management in the rhythm of BLUES. Více času a peněz pro podnikatele

POPIS STANDARDU CEN TC278/WG1. Oblast: ELEKTRONICKÉ VYBÍRÁNÍ POPLATKŮ (EFC) Zkrácený název: ZKUŠEBNÍ POSTUPY 2. Norma číslo:

Vazba na Cobit 5

PŘÍLOHA C Požadavky na Dokumentaci

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda

Bootkity v teorii a praxi. Martin Dráb martin.drab@ .cz

Jak testovat software v praxi. aneb šetříme svůj vlastní čas

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

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

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

V Brně dne a

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

Zabezpečené vzdálené přístupy k aplikacím případová studie. Ing. Martin Pavlica Corpus Solutions a.s. divize Security Expert

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

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

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

Softwarové komponenty a Internet

Jakub Čermák Microsoft Student Partner

Testing as a Service. Přístupné, flexibilní a cenově výhodné řešení pro ověření kvality softwaru. Kompletní portfolio služeb testování softwaru

Přehled mezinárodních norem (ISO) Označení mezinárodní normy Názvy mezinárodních norem Rok vydání

Vnitřní kontrolní systém a jeho audit

Vnořený Ensemble nové integrované aplikace. Martin Zubek, Account manager

Transkript:

Quality assurance a testování Bohumír Zoubek, Otakar Ertl 17. ledna 2018

Dotazy na https://www.sli.do event #W485

Definice pojmů QUALITY ASSURANCE KVALITA? VALIDACE, VERIFIKACE TESTOVÁNÍ 3

Definice pojmů Kvalita The totality of features and characteristics of a product or service that bear on its ability to meet stated or implied needs. (ISO 8402-1986) Souhrn vlastností nebo charakteristik produktu či služby, které souvisí s jeho či její schopností splnit explicitně uvedené či implicitně předpokládané potřeby. V podstatě to znamená mít spokojeného zákazníka/uživatele Quality assurance Množina aktivit, jejichž cílem je zajistit kvalitu produktu či služby systematickým a věrohodným způsobem. QA nedokáže na 100% zajistit tvorbu kvalitního software, výrazně však dokáže zvýšit pravděpodobnost, že se tak stane. Testování Množina aktivit s cílem změřit kvalitu vytvářeného software. 4

Definice pojmů Validace, Verifikace Proces/množina aktivit s cílem zjistit, zda určitý artefakt splňuje nároky na něj kladené Validace end-to-end verifikace dle specifikace Validace building the right thing Verifikace building it right http://www.easterbrook.ca/steve/2010/11/the-difference-between-verification-and-validation/ 5

Definice pojmů shrnutí QA je o zajištění kvality! V&V je o zjišťování (měření) kvality! Testování je jedna z forem V&V! 7

Proč kvalita? krátký kvíz Druhá nejmenší Má dva měsíce Čtvrtá planeta sluneční soustavy 8

Mars Polar Lander 3.1.1999 Mys Canaveral 3.12.1999 vstup do atmosféry 40 metrů na povrchem vypnuty motory Volný pád Víc se neví... Falešný signál od jedné nohy vyhodnocen jako informace o tom, že modul přistál. Chyba identifikována na 1 řádku kódu Cena mise 327,6 mil. USD (celý Mars Surveyor 98) 9

Víc? Pokud Vám to nestačí Mars Climate Orbiter (MCO) metric/imperial (náklady viz MPL) Ariane 5 64 floating point 16 bit signed integer (7 billion USD/10 let vývoje) Procesor Pentium chybný algoritmus dělení Trocha čtení http://nssdc.gsfc.nasa.gov/nmc/spacecraftdisplay.do?id=1998-073a ftp://ftp.hq.nasa.gov/pub/pao/reports/1999/mco_report.pdf http://www.ima.umn.edu/~arnold/disasters/ariane.html http://www.around.com/ariane.html http://www5.in.tum.de/~huckle/bugse.html 10

Proč kvalita? Kvalita je finančně efektivní Základní cena (za práci samotnou) Cena za nízkou kvalitu Náklady na prevenci Náklady na posouzení/zhodnocení Náklady na opravu chyb nalezených zákazníkem nebo při posouzení / zhodnocení Často více než 50 % nákladů za nízkou kvalitu! 11

Náklady Proč kvalita Chyby Zhodnocení Méně chyb Lépe zaměřené inspekce a testy Prevence Více prevence Základní Lepší základní procesy Čas 12

QA v praxi

Poznatky z praxe QA je nutné naplánovat Proces musí být pragmatický O kvalitě je nutné uvažovat na všech úrovních od organizace až po jedince Přezkoumání je efektivní (a mnohdy jediný) způsob zajištění kvality Začínat s QA ve fázi vývoje je pozdě 14

Softwarový proces 15

INICIALIZACE ANALÝZA DESIGN KONSTRUKCE TESTOVÁNÍ PROVOZ 16

Minimální praktiky Požadované praktiky softwarového procesu Checklisty Pokrývají tyto oblasti: Organizace softwarového projektu Konfigurační řízení Prostředí Požadavky Design Programování Testování Dokumentace Validace a Verifikace 17

Odhady Definovaná metodika Unifikovaná napříč firmou Založená na best practices a vyladěná na naše typy projektů 18

Seznam projektů Všechny projekty 19

Seznam projektů Všechny projekty Priority P1 = kritický, potřeba denního monitoringu P2 = problematický, například riziko nárůstu rozsahu P3 = bezproblémový projekt Hlavička WIP existuje QA quality assurance na vyšší úrovni Problém rozsah, čas, kvalita, jiný Obchodník, zákazník Jméno projektu 20

Projektová stránka v Confluence Všechny základní informace Provázaný na seznam projektů 21

Projektové revize - PM Dedikovaná osoba Systémový přístup Soulad s minimálními praktikami 22

Projekt/člověk revize - technické Softwarový proces Revize architektury Revize designu Revize kódu 23

Procedury, checklisty, Typicky projektově specifické 24

QA příklady METODIKA ODHADŮ REVIZE SPECIFIKACE REVIZE DESIGNU REVIZE KÓDU INICIALIZACE ANALÝZA DESIGN KONSTRUKCE TESTOVÁNÍ PROVOZ MINIMÁLNÍ NÁROKY / PROJEKTOVÉ REVIZE / CHECKLISTY / PROJEKTOVÁ STRÁNKA / EVIDENCE PROJEKTŮ 25

Shrnutí Systematický přístup Začít brzy od iniciální fáze projektu Pokračovat v rámci projektu Snadno přístupné informace 26

Testování

Agenda Co je testování Vývojový proces a testování Teorie testování základní pojmy Cíl přednášky: Cílem je porozumět principům, pojmům, závislostem a problémům testování. 28

Schematický pohled Co je Software testing? Zkoušení /simulace provozu SW Ustanovení důvěry v to, že SW dělá, co má, a nedělá, co nemá Analýza SW s cílem nalézt chyby a problémy Měření funkcionality a kvality SW Zhodnocení atributů a schopností SW, zda dosahují požadovaných či akceptovatelných výsledků Inspekce, stejně jako provádění testů kódu Execution Testing Evaluation 29

Softwarový proces 30

Základní principy Neexistuje software bez chyb Kompletní testování není možné Práce testerů je kreativní a náročná Testování je řízeno riziky Analýza, plánování a návrh jsou důležité Motivace je důležitá Čas a zdroje jsou důležité Časování přípravy testů hraje velkou roli Měření a sledování pokrytí je důležité 31

Trocha historie Cíle testování Pomoci jasně popsat chování systému Nalézt defekty v požadavcích, designu, dokumentaci a kódu, jak nejdříve je to možné DEMONSTRACE Ukázat fungování DETEKCE Hledat defekty PREVENCE Řízení kvality 1960s 1970s 1990s 32

Načasování testů aneb V model Business case Product verification review Requirements User acceptance tests review Functional design System, integration tests review Design & Coding Unit tests, code analysis 33

Development Testing Časování v projektu Analysis release 2 TEST PLANING TEST DESIGN Execution IFAT SIT UAT CLOSURE Development Unit testing Bug fixing 34

Trocha teorie testování

Typologie testů Tři různé dimenze co testujeme za konfigurační jednotku jaký aspekt konfigurační jednotky testujeme s jakým cílem testujeme - Funkční testy - Výkonové testy - Bezpečnostní testy - Testy dostupnosti - Testy spolehlivosti - - Unit testy - Integrační testy - Systémové testy - Akceptační testy - Uživatelské - Operační - - Regresní testy - Kvalifikační testy - 36

Základy základů Pozitivní vs. negativní testy funguje, co fungovat má nefunguje, co fungovat nemá neomezovat se na přípustné hodnoty, operace, vždy zkoušet, jak se SW chová v případě nepřípustných hodnot, operací, Black box Testujeme oproti rozhraní Nezajímá nás implementace Robustnější není nutné často upravovat VS. White box Strukturální testy Přihlížíme k implementaci Křehčí změna implementace je rozbije path testing Boundary and Equivalence Analysis Testů je příliš mnoho Partitioning (rozdělení testů do tříd ekvivalence) Provádění více testů ze stejné skupiny je redundantní Volba nejvhodnějšího reprezentanta skupiny - ten s max. pravděpodobností odhalení chyby Hraniční testovací případy jsou obvykle velmi mocné a identifikují často chyby 37

Testovací techniky Testovací techniky / paradigmata Definuje typy testů, které jsou relevantní a zajímavé Vytváří určitý způsob myšlení a přístup k testováni Implicitně určuje limity co je relevantní, zajímavé nebo možné Existuje velké množství technik, cca 150 Překrývají se Jak je využíváme ke tvorbě testů? Analýza situace Modelování testovacího prostoru Volba pokrytí Konfigurace testovacího systému Provoz testovacího systému Pozorování testovacího systému Zhodnocení výsledků testu Testovací technika je recept pro provádění těchto činností s cílem objevit něco, co stojí za reporting. 38

Výběr vhodné techniky Na základě cíle testů Požadavky na testy Najít důležité bugy, aby byly odstraněny Pomoci udělat ship /no-ship rozhodnutí Ověřit interoperabilitu s jiným produktem Minimalizovat náklady na technickou podporu Ověřit shodu se specifikací Změřit kvalitu 39

Jak vybrat vhodnou techniku Na základě atributů Atributy techniky Power vysoká pravděpodobnost nalezení problému, pokud existuje Valid odhalí skutečné chyby Value odhalí chyby důležité pro uživatele Credible odpovídá očekávanému chování uživatele Representative odpovídá tomu, čeho si uživatel nejpravděpodobněji všimne Non-redundant reprezentuje skupinu testů, které se zaměřují na stejné riziko Motivating klient bude chtít chyby nalezené testem opravit Performable proveditelný v souladu s návrhem Maintainable udržovatelný při změnách systému Repeatable snadno a levně znovupoužitelný Pop (Karl Popper) odhalí věci týkající se základních či kritických předpokladů Coverage vyzkouší systém způsobem, kterým to nečiní jiné testy Easy to evaluate snadné a jasné vyhodnocení Appropriately complex dostatečná komplexnost Accountable obhajitelnost, prokazatelnost testu Supports troubleshooting poskytuje užitečné informace k ladění nalezených problémů Cost přímé náklady, čas a pracnost Opportunity cost náklady, které se ušetří provedením testu 40

Dominantní techniky Function Specification-based Domain Risk-based Scenario Stress User High volume automated Exploratory Regression Regresní testování není technika sama o sobě, jde o využití testů vytvořených dle jiných technik, zde explicitně vytaženo pro svou důležitost 41

Technika Specification based - atributy Atributy techniky Power vysoká pravděpodobnost nalezení problému, pokud existuje Valid odhalí skutečné chyby Value odhalí chyby důležité pro uživatele Credible odpovídá očekávanému chování uživatele Representative odpovídá tomu, čeho si uživatel nejpravděpodobněji všimne Non-redundant reprezentuje skupinu testů, které se zaměřují na stejné riziko Motivating klient bude chtít chyby nalezené testem opravit Performable proveditelný v souladu s návrhem Maintainable udržovatelný při změnách systému Repeatable snadno a levně znovupoužitelný Pop (Karl Popper) odhalí věci týkající se základních či kritických předpokladů Coverage vyzkouší systém způsobem, kterým to nečiní jiné testy Easy to evaluate snadné a jasné vyhodnocení Appropriately complex dostatečná komplexnost Accountable obhajitelnost, prokazatelnost testu Supports troubleshooting poskytuje užitečné informace k ladění nalezených problémů Cost přímé náklady, čas a pracnost Opportunity cost náklady, které se ušetří provedením testu 42

Technika Stress - atributy Atributy techniky Power vysoká pravděpodobnost nalezení problému, pokud existuje Valid odhalí skutečné chyby Value odhalí chyby důležité pro uživatele Credible odpovídá očekávanému chování uživatele Representative odpovídá tomu, čeho si uživatel nejpravděpodobněji všimne Non-redundant reprezentuje skupinu testů, které se zaměřují na stejné riziko Motivating klient bude chtít chyby nalezené testem opravit Performable proveditelný v souladu s návrhem Maintainable udržovatelný při změnách systému Repeatable snadno a levně znovupoužitelný Pop (Karl Popper) odhalí věci týkající se základních či kritických předpokladů Coverage vyzkouší systém způsobem, kterým to nečiní jiné testy Easy to evaluate snadné a jasné vyhodnocení Appropriately complex dostatečná komplexnost Accountable obhajitelnost, prokazatelnost testu Supports troubleshooting poskytuje užitečné informace k ladění nalezených problémů Cost přímé náklady, čas a pracnost Opportunity cost náklady, které se ušetří provedením testu 43

Materiály

45

Hodnocení přednášky https://www.surveymonkey.com/r/2fq876s nebo https://goo.gl/8g5eue

Diskuze 47

Děkujeme za pozornost Profinit EU, s.r.o. Tychonova 2, 160 00 Praha 6 Telefon + 420 224 316 016 Web LinkedIn Twitter Facebook Youtube www.profinit.eu linkedin.com/company/profinit twitter.com/profinit_eu facebook.com/profinit.eu Profinit EU