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

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

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

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

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

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

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

Implementace SAP. Předběžná kalkulace 8 školitelů, 500 Kč/hod Kč

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

A7B36SI2 Tematický okruh SI08 Revidoval: Martin Kvetko

RUP - Disciplíny. Jaroslav Žáček jaroslav.zacek@osu.cz

Analýza a Návrh. Analýza

ZMĚNA ČESKÉHO OBRANNÉHO STANDARDU. AAP-48, Ed. B, version 1

2 Životní cyklus programového díla

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

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

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

Quality assurance a testování

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

Implementace informačního systému pro knihovnu Jiřího Mahena v Brně

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

Seminární práce Vývoj informačního systému. Manažerská informatika 2 Ing. Miroslav Lorenc

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

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

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

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

Agilní metodiky vývoje softwaru

Mobile application developent

Vývoj řízený testy Test Driven Development

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

Software generické produkty - smluvní, zakázkové produkty - - udržovatelnost spolehlivost efektivita použitelnost specifikace

Analýza a design na reálném projektu. Richard Michalský

Procesní dokumentace Process Management. Pavel Čejka

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

A7B36SI2 Tematický okruh SI11 Revidoval: Martin Kvetko

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

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

Projektování informačních systémů - Restaurace

Řízení SW projektů. Lekce 1 Základní pojmy a jejich vztahy. přednáška pro studenty FJFI ČVUT. zimní semestr 2012

Testování software. Jaroslav Žáček

Projektový management

ANALÝZA A PROJEKTOVÁNÍ SYSTÉMŮ Řízení projektů zavádění IS

POČÍTAČE A PROGRAMOVÁNÍ

10 Metody a metodologie strukturované analýzy

Agenda. Docházka Odhadování Neohlášený test Vedení projektů Historie projektů

Honeywell & Masarykova univerzita v Brně

CASE. Jaroslav Žáček

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

Analýza a design na reálném projektu. Richard Michalský

Vedení projektů, Odhadování, historie

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

Agile Software Development

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

Získání OTZ pro LPZ 2009

Semestrální práce ke kurzu 4IT421 Zlepšování procesů budování IS

Obsah. Zpracoval:

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

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

CASE nástroje. Jaroslav Žáček

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

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

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

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

Teorie systémů TES 7. Výrobní informační systémy

Základy analýzy. autor. Jan Novotný února 2007

2. Systémová analýza SA návrhová část projektu = příručka projektu - systémový přístup k analýze problémů, nejdůležitější etapa projektu - podrobné st

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

Předmluva 11. Poděkování 11 O autorech 12 Úvodem 12 Komu je tato kniha určena 13 Jak byste měli tuto knihu číst 13 Web 14

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

IB111 Úvod do programování skrze Python Přednáška 12

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

Design systému. Komponentová versus procesní architektura

TÉMATICKÝ OKRUH Softwarové inženýrství

Project management. Příprava projektu Zahájení High level plánování. Vykonávání Detailní plánování Vykonávání Řízení a monitorování

Joelův test. 12 kroků k lepšímu programování. Jaroslav Šnajdr

Modelování procesů s využitím MS Visio.

Projektové prostředí a přístup dle Logického rámce

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

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

Prototypování, testování prototypů

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

Náklady na odstranění chyby stoupají, v čím pozdější fázi životního cyklu aplikace je chyba nalezena.

zswi/pc-testování.d 10. května

Dotazy na event #E256

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

Jak efektivně testovat IB. Otakar Ertl

Obsah Charakteristiky software Programování ve velkém... 3

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

Zlepšování softwarových procesů a sladění se strategií

Školení v rámci zemědělské a lesnické činnosti 2014

Prototypy a testování

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

PROBLÉMY A SPECIFIKA VÝVOJE SOFTWARE

XINF1. Jaroslav Žáček

Programování II. Modularita 2017/18

Řízení projektu a rizik vývoje softwaru

SOFT-ENG ACADEMY 2017/2018

Elektronická technická dokumentace Bc. Lukáš Procházka

EXTRAKT z technické normy ISO

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

D8 Plánování projektu

Transkript:

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

Cena testování během vývoje 7% požadavky 29% 16% předběžný návrh podrobný návrh 24% 24% testování kódu a jednotek integrační a systémové testy Jiří Sochor, Jaroslav Ráček 2

Zdroje defektů 27% 56% 10% 7% návrh jiné kód požadavky Jiří Sochor, Jaroslav Ráček 3

Pokud by 99.9% funkcí bylo správně... 9,703 šeků by bylo každou hodinu proplaceno z jiných bankovních účtů. 27,800 dopisů by se každou hodinu ztratilo. 3,000,000 nesprávných předpisů na léky by se ročně vydalo. 8,605 komerčních letů by každoročně během startu havarovalo. Jiří Sochor, Jaroslav Ráček 4

Produkty podle etap Possible Deliverables by Phase Concept Document Statement of Work (SOW) Project Charter RFP & Proposal Software Concept Requirements Document (Software Requirements Specification) Work Breakdown Structure (WBS) Requirements Functional Specification ( Top Level Design Specification) Entity Relationship Diagram Data Flow Diagram Project Development Plan (Software Development Plan ) Baseline Project Plan Quality Assurance Plan Configuration Management Plan Risk Management Plan Analysis Integration Plan Detailed SQA Test Plan SQA Test Cases Design Coding and Debugging Detailed Design Specification Object Diagrams Detailed Data Model Systems Testing Coding Standards Working Code Unit Tests Acceptance Test Procedures Tested Application Maintenance Specification Deployed Application User Documentation Training Plan Deployment & Maintenance Jiří Sochor, Jaroslav Ráček 5

Co je testování? Testování je proces spuštění programu s cílem nalézt chyby. Dobrý testovací případ má vysokou pravděpodobnost nalezení dosud nenalezené chyby. Úspěšný test je takový, který odhalí dosud neodhalenou chybu. -Myers Jiří Sochor, Jaroslav Ráček 6

... takže: Def.: Test je úspěšný, pokud neodhalí žádné anomálie na výstupu programu. Def.: Test je úspěšný, pokud zjistí přítomnost jedné či více chyb v programu. - Myers, 1979 Jiří Sochor, Jaroslav Ráček 7

V - procesní model Project Requirements and Planning Non-functional Requirements Load & Performance Test Production, Operations, and Maintenance Product Requirements and Specification Analysis User Interface Design Usability Test System Testing and Acceptance Testing High-Level Desig Integration and Testing Detailed Design Unit Testing Coding Jiří Sochor, Jaroslav Ráček 8

Co testování ukazuje? Testování nemůže ukázat nepřítomnost defektů, může pouze ukázat, že v softwaru jsou chyby. Testování také ukazuje funkce a výkon. A je také ukazatelem kvality software. Jiří Sochor, Jaroslav Ráček 9

Verifikace &Validace Každý inženýrský výrobek může být testován dvěma způsoby: test proti specifikovaným funkcím = Validace Dělat správné věci test proti vnitřní činnosti = Verifikace Dělat věci správně Jiří Sochor, Jaroslav Ráček 10

Testování v týmu Testování je destruktivní činnost! Programátor není dobrým testerem vlastního výtvoru. Detailní znalost struktury programu usnadňuje hledání a opravu chyb. Je nutná spolupráce dvou nezávislých, organizačně samostatných týmů. Tým kvality Realizační tým Jiří Sochor, Jaroslav Ráček 11

Úplné testy I u malých programů může být počet různých logických cest ohromný. Program se 100 řádky, několik vnořených cyklů, každý proveden 20 krát. Existuje přibližně 10 14 možných cest, které mohou být provedeny. Při rychlosti 1 test/ms by testování trvalo 3170 roků! Úplné testování není realizovatelné. Jiří Sochor, Jaroslav Ráček 12

Selektivní testy I tehdy, kdy úplné testování není reálné (prakticky vždy!), testování bílá skříňka by nemělo být vynecháno. Důležité logické cesty a cykly by měly být testovány. Selektivní testování validuje rozhraní a vytváří důvěru ve vnitřní činnost software. Jiří Sochor, Jaroslav Ráček 13

Dynamické testování Provedení počítačového programu s předem určenými vstupy. Porovnání dosažených výsledků s očekávanými výsledky. Testování je vlastně vzorkování, nemůže absolutně prokázat absenci defektů. Každý software má vši, testování nezaručí odvšivení. Jiří Sochor, Jaroslav Ráček 14

Testovací případy Klíčové položky plánu testování. Mohou obsahovat skripty, data, kontrolní seznamy. Mohou mít vztah k Matici pokrytí požadavků. - nástroj pro sledování Jiří Sochor, Jaroslav Ráček 15

Černé a bílé skříňky FUNKCE -test činnosti každé funkce -testčerné SKŘÍŇKY VNITŘNÍ PRÁCE - test, zda všechny motory pracují -testbíléskříňky Jiří Sochor, Jaroslav Ráček 16

Testování černá skříňka Funkční testování Program je černá skříňka Nezajímá nás, jak to pracuje, ale co to dělá. Zaměřeno na vstupy & výstupy Testovací případy založené na SRS (specifikacích požadavků) Jiří Sochor, Jaroslav Ráček 17

Návrh testu černé skříňky - příklad s := Hledej (NejakePole,UlozenaHodnota) velikost pole hledaný prvek 1. 1 existuje 2. 1 není 3. 0 4. sudé je první 5. sudé je poslední 6. sudé není 7. liché je první 8. liché je poslední 9. liché není 10. sudé je v obecné pozici 11. liché je v obecné pozici V tomto testu je obsažena zkušenost s mnoha verzemi vyhledávacích programů. Jiří Sochor, Jaroslav Ráček 18

Testování bílá skříňka Zohledňuje strukturu programu Pokrytí provedené příkazy cesty průchodu kódem Jiří Sochor, Jaroslav Ráček 19

Testování bílá skříňka 1. výpočet cyklomatické složitosti: počet rozhodnutí + 1 (predikátové uzly) nebo počet ploch (oblastí) nebo hrany uzly+ 2 Jiří Sochor, Jaroslav Ráček 20

Testování bílá skříňka 1 2. Nalezneme nezávislé cesty. 4 2 3 5 6 7 8 Protože cyklomat. složitost = 4 existují 4 nezávislé cesty: cesta 1: 1,2,3,6,7,8 cesta 2: 1,2,3,5,7,8 cesta 3: 1,2,4,7,8 cesta 4: 1,2,4,7,1,2,4,...7,8 Jiří Sochor, Jaroslav Ráček 21

Testování bílá skříňka Vývojový diagram není nutný, ale obrázek pomůže vysledovat příslušné cesty. Testy základních cest by měly být provedeny u kritických modulů. Jiří Sochor, Jaroslav Ráček 22

Testování jednotek, modulů Typ testování bílá skříňka -někdy ale jako černá skříňka Kdo testuje jednotky? - vývojáři - testy jednotek jsou programovány stejný jazyk jako moduly alt.název Testovací drivery Individuální testy mohou být seskupeny - Kolekce testů (Test suites) Kdy se testují jednotky? - postupně během vývoje - po dokončení individuálních modulů Jiří Sochor, Jaroslav Ráček 23

Integrace & Testování Vývoj/integrace/testování -nejčastější místo, kde dochází k překrývání aktivit Někdy je integrace/testování považováno za jednu etapu Postupně propojuje funkcionalitu QA tým pracuje souběžně s vývojovým týmem Jiří Sochor, Jaroslav Ráček 24

Integrační postupy Shora dolů Nejprve je implementováno jádro (kostra) systému. Zkombinováno do minimální skořápky systému. Pro doplnění neúplných částí se použijí protézy nahrazované postupně aktuálními moduly. Zdola nahoru Začne s individuálními moduly a sestavuje zdola. Individuální jednotky (po testování jednotek) jsou kombinovány do subsystémů. Subsystémy jsou kombinovány do celku. Jiří Sochor, Jaroslav Ráček 25

Testování shora-dolů, zdola-nahoru Shora-dolů (TDT): použití stubs (pahýly, protézy) - jednoduché náhražkové objekty se shodným rozhraním. Zdola-nahoru(BUT): klasický testovací proces s nadřazenými testovacími objekty - drivers. Testování shora-dolů odhaluje chyby analýzy a návrhu, je v souladu s prototypováním. Jiří Sochor, Jaroslav Ráček 26

Nevýhody TDT a BUT Nevýhody TDT: - Složité objekty, moduly, nelze jednoduše zaměnit za protézu. - Výsledky testů na vyšších úrovních nemusí bý přímo viditelné. Nevýhody BUT: - Čas a náklady na konstrukci drivers pro testování jsou obvykle vyšší, než u protéz. - Až v závěru vznikne program použitelný pro předvedení, ve formě prototypu. Obě metody mají své nevýhody, nelze říci, že jedna je nejlepší. Jiří Sochor, Jaroslav Ráček 27

Atributy integrace Kdo dělá integrační testování? vývojářský a/nebo QA tým Počet pracovníků a rozpočet jsou na vrcholu Jde do tuhého Problémy: práce pod tlakem blíží se datum odevzdání neočekávaná selhání (vši) motivační problémy konflikty při přejímání zákazníkem Jiří Sochor, Jaroslav Ráček 28

Integrační testování A B C D Testování modulů A C B D Integrační testování Kde je chyba? Inkrementální integrace a testování Jiří Sochor, Jaroslav Ráček 29

Úkoly Pro svůj projekt (část projektu) vytvořte plán testování a začleňte jej do celkového plánu projektu (pokud jste tak již neučinili). Pro projekt navrhněte příklad konkrétního testu typu černá skříňka. Jiří Sochor, Jaroslav Ráček 30