Miroslav Kovář Čeněk Škarda

Slides:



Advertisements
Podobné prezentace
Elektromagnetická slučitelnost. Název projektu: Nové ICT rozvíjí matematické a odborné kompetence Číslo projektu: CZ.1.07/1.5.00/ Název školy:
Advertisements

Hotel Tatra, Velké Karlovice 23. – 25. dubna 2007 S4U – Seminář o Univerzitním informačním systému 1 Osobní management Tomáš Procházka.
Vytvořila:Monika Hradilová. NA ÚVOD… NA ÚVOD… Přátelství a internet…Tohle téma je hodně otevřené. Na celém světě existují milióny sociálních stránek.
:-) Asymptotická složitost algoritmů Autor: Antonín DANĚK Semestrální projekt 1 – Y14TED.
TeamSpeak - komunikační program ● TeamSpeak je flexibilní a výkonný program, který ● umožňuje lidem navzájem spolu mluvit přes internet. ● TeamSpeak se.
Hudební písňová forma Název školy: Základní škola Karla Klíče Hostinné Autor: Mgr. Renáta Jehličková Název: VY_32_INOVACE_09_C_04_HUDEBNÍ PÍSŇOVÁ FORMA.
Tým 32, varianta b/4/I.  Jakub Kadlubiec  Roman Pijáček  Petr Pliska  Jan Štourač  Václav Tunka (vedoucí)
Systém správy dokumentace akreditované zkušební laboratoře Bc. Jan Randl, 4912.
2.3 ROZKLAD VÝRAZŮ NA SOUČIN Mgr. Petra Toboříková.
Volný pád a svislý vrh Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Radim Frič. Slezské gymnázium, Opava, příspěvková organizace.
DUM:VY_32_INOVACE_IX_1_3 Měření proudu a napětí Šablona číslo: IXSada číslo: 1Pořadové číslo DUM:3 Autor:Mgr. Milan Žižka Název školyZákladní škola Jičín,
Management počítačových sítí Počítačové sítě VUT v Brně Fakulta podnikatelská Lekce 4 – Management síťové vrstvyIng. Viktor Ondrák, Ph.D.strana 1 Lekce.
Název školy : Základní škola a mateřská škola, Název školy : Základní škola a mateřská škola, Svoboda nad Úpou, okres Trutnov Svoboda nad Úpou, okres Trutnov.
Funkce Lineární funkce a její vlastnosti 2. Funkce − definice Funkce je předpis, který každému číslu z definičního oboru, který je podmnožinou množiny.
Název školy: ZŠ Klášterec nad Ohří, Krátká 676 Autor: Mgr. Veronika Kubincová Název materiálu: VY_32_INOVACE_7_11_test, osobnost Číslo projektu: CZ.1.07/1.4.00/
Název školy: Základní škola a Mateřská škola, Hradec Králové, Úprkova 1 Autor: Aleš Hladík Název: VY_32_INOVACE_6A_3_Vlastní a obecná jména Téma: 6A_ČJ7.roč.
Název školy Základní škola Jičín, Husova 170 Číslo projektu
Základy automatického řízení 1
MICROSOFT WINDOWS.
Demoverze QI Informace pro partnery DCC
Elektronická učebnice - II
Interpolace funkčních závislostí
Matematika – 8.ročník Přímka a kružnice
Integrace VISION a VIS Mail do NS-VIS – VIS Mail fáze II projekt spolufinancovaný z ročního programu Fond pro vnější hranice (FVH)
Matematika 3 – Statistika Kapitola 4: Diskrétní náhodná veličina
Co je algoritmizace kromě programování?
Správce virtuálních strojů
Uživatelem definované datové typy
Pes domácí NIKOLA VEJRYCHOVÁ.
PŘÍRODOVĚDA 5. ročník Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Jiřina Jeršovová.
Systém jednotné autentizace - SJA
PB071 – Programování v jazyce C
Název školy: Speciální základní škola, Louny,
Jedno-indexový model a určení podílů cenných papírů v portfoliu
NÁZEV ŠKOLY: ZÁKLADNÍ ŠKOLA TIŠICE, okres MĚLNÍK AUTOR:
Škola ZŠ Masarykova, Masarykova 291, Valašské Meziříčí Autor
JEdit Open source programování – – Marek Bílý.
Filmová animace Náhodné změny Mgr. Jiří Mlnařík
Řadič Orbis pictus 21. století
Číslo projektu MŠMT: Číslo materiálu: Název školy: Ročník:
Financováno z ESF a státního rozpočtu ČR.
Souběh Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
1. ročník oboru Mechanik opravář motorových vozidel
Digitální učební materiál
AUTOR: Mgr. Jitka Křížková, MBA NÁZEV: VY_32_INOVACE_1A_15
Název školy: Základní škola Městec Králové
8.1.3 Lineární obal konečné množiny vektorů
Informatika pro ekonomy přednáška 8
Základní škola Ústí nad Labem, Anežky České 702/17, příspěvková organizace   Číslo projektu: CZ.1.07/1.4.00/ Název projektu: „Učíme lépe a moderněji“
Číslicové měřící přístroje
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
Jak postupovat při měření?
Instalace OS Linux Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Programovatelné automaty (Programmable logic controllers – PLC)
Matematika – 8.ročník Přímka a kružnice
Principy fungování spolku BISON
Remote login.
ZÁKLADNÍ ŠKOLA, JIČÍN, HUSOVA 170 Číslo projektu
Fitování Konstrukce křivky (funkce), která co nejlépe odpovídá naměřeným hodnotám. - může podléhat dodatečným podmínkám Lineární vs. nelineární regrese.
Primitivní funkce Přednáška č.3.
AUTOR: Mgr. Marcela Šašková NÁZEV: VY_32_INOVACE_4B_17
Lineární regrese.
Fitování Konstrukce křivky (funkce), která co nejlépe odpovídá naměřeným hodnotám. - může podléhat dodatečným podmínkám Lineární vs. nelineární regrese.
Modely obnovy stárnoucího zařízení
Analýza informačního systému
Lineární funkce a její vlastnosti
Matematika – 7.ročník Mnohočleny VY_32_INOVACE_
Procesy – základní pojmy
Advanced .NET Programming I 1st Lecture
Digitální učební materiál
Transkript prezentace:

Miroslav Kovář Čeněk Škarda Jednotkové testy Miroslav Kovář Čeněk Škarda

Co jsou jednotkové testy Součást procesu testování software Jsou navrhovány, psány a spouštěny vývojáři Ověřují správnost a úplnost chování nejmenších jednotek programu Účelem je tyto jednotky testovat nezávisle jednu na druhé a tak usnadnit lokalizaci chyb

Druhy softwarových testů Manuální testy Jednotkové testy Integrační, regresní testy Výkonostní, stress, destruction testy Black, white, gray box testy Acceptance, sanity, smoke testy A/B testy Alpha, beta testy ...

Schéma tradičního vývoje software Navrhnout Implementovat Otestovat Opravit

Tradiční testování Testuje se především manuálně Testy jsou pomalé, těžko opakovatelné Testuje se systém jako celek Chyby se odhalí dlouho po uvedení, pokud vůbec Chyby se těžko hledají a opravují

S rostoucí entropií projektu: Je obtížnější provést regresní testování Je obtížnější je nalézt příčiny chyb a otestovat je Je program náchylnější k chybovému chování při malé změně Agilní metodika Testy řízený vývoj

Tradiční schéma vývoje software Navrhnout Implementovat Otestovat Opravit Testy řízený vývoj Navrhnout Otestovat Implementovat

Napsat neúspěšný test Provést změny v kódu Test úspěšný Refaktorovat

Výhody jednotkových testů Regresní testování je velmi rychlé a jednoduché, chyby se objeví ihned po uvedení Je jednoduší zjistit, jestli změna existujícího kódu změnila chování programu Nutí vývojáře přemýšlet o funkcionalitě dříve než o implementaci (je prvním uživatelem svého programu) Funkce mají dobře definované chování – testy mohou sloužit jako automaticky generovaná dokumentace nebo uživatelská příručka Testování funkce může poučit o jejím chování

Zvyklosti Testy jako vlastní projekt nebo ve vlastním adresáři Unit testy by se měla pokrýt většina kódu (>85%) Výjimkou jsou nejvíce triviální části kódu Závislé na jazyce Jaké testovat vstupy? Výstup nemusí záviset pouze na vstupech – závislost na čase, manupulace s HW, context switching mezi vlákny, ...

Příklad v Javě – JUnit a Mockito U prikladu zminit: Test suites shlukuji testy podle jejich ucelu - smoke tests, stress tests, casove narocne testy testy, testy, ktere v posledni verzi neprosly Oracles Weak, medium, strong Mozne zpusoby poznani toho, ze test selhal Snazime se nalezt konecnou mnozinu trid ekvivalence na prostoru vsech moznych vstupu progrmamu Junit integrovatelny s Gradle i Maven Suites a Categories Chceme mluvit o Rules nebo Mockito?