TDD - Test Driven Development

Slides:



Advertisements
Podobné prezentace
Využití Open Source GIS nástrojů ve výuce zeměpisu na střední škole
Advertisements

Něco málo o ICNET s.r.o. Správa kódu v historii – přechod na TFS (TF Server) Nové platformy – přechod na TFS (TF Service) Integrace TFS s nástroji třetích.
ŘEŠENÍ PRO TÝMOVOU INFRASTRUKTURU
Špička v každém směru IT 3 Produktivita práce s Eclipse.
Elektronizace agend nejen ve státní správě
Vyjádření budoucnosti - …. GOING TO …
Workflow Foundation Základy a architektura
Modelování procesů pomocí workflow
Webová aplikace.  Úvod  Možnosti vývoje (komponenty, které dokážeme nabídnout) + ukázka  Možnosti využití Frameworku pro těžkého klienta  Výrobní.
13. Koordinace projektů Realizace změn Koordinace projektů
Informační systémy ZMVŠ. ERP ERP (Enterprise Resource Planning) –Enterprise Resource Planning (ERP) je informační systém, který integruje a automatizuje.
Přínosy metodik  Větší produktivita a kooperace týmů  Komunikační standard  Specializace projektových týmů  Nezávislost na konkrétních řešitelích 
METODOLOGIE PROJEKTOVÁNÍ
1 Extreme programming v praxi Martin Junek, product manager
Agilní Softwarové Procesy
Palatinum Excellence Software na řízení firmy. 1.Proč Software Excellence 2.Představení Software Excellence 3.Jak zavést do praxe Obsah Prezentace.
Hana Kotinová Struktura a cíl práce Metody předzpracování dat Systémy předzpracování dat Historie vývoje DPT Jak program pracuje Budoucnost.
Aukro.cz – projektový management v e-commerce Tereza Kabrdová.
vedoucí oddělení IT, Digis, spol. s r. o.
Flat shapes - obvod geometrických útvarů - matematika Holasová Alena - ZŠ a MŠ Ostrava - Zábřeh, Kosmonautů 15 Metodické pokyny pro učitele Předmět:
Michael Juřek Software Architect Microsoft s.r.o.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Operating Systems Networking for Home and Small Businesses – Chapter.
Rozšíření jednouživatelské verze IS na víceuživatelskou Prezentace Diplomové práce Autor : Libor Tomášek Spoluautoři : Pobucký M., Drábek L. Vedoucí :
Tvorba dokumentů – kritéria Obsah a forma –aktuálnost a správnost informací, variabilní data, –forma adekvátní příjemci, estetika, –účelná struktura, členění.
Databázové systémy Přednáška č. 6 Proces návrhu databáze.
4. Lekce Dílčí procesy funkčního testování
Možnosti modelování požadavků na informační systém
Digitální mapa Prahy.
Transparentní modelování a provádění procesů Michael Juřek Software Architect Microsoft s.r.o.
KOMUNIKACE V PRAXI METODIKA. Vznik metodiky Čtyři moduly v rozsahu 40 hodin 20 hodin e-learningového studia 20 hodin prezenčního studia.
Microsoft Office InfoPath 2003 Tomáš Kutěj Account Technology Specialist
Visual Studio Team System: Kvalita software a Test- Driven Development Michael Juřek Software Architect Microsoft s.r.o.
„Teleworking aneb Práce na dálku“, Praha IBM Learning: „Success is Making Others Successful“ © 2007 IBM Corporation Virtual Working Jana Pradlová.
Souběžný návrh hardware a software (Language for Instruction Set Simulator-Oriented Model) MPO ČR, FT-TA3/128, Jazyk a vývojové prostředí pro.
Nebezpečí webových aplikací Tomáš Strýček Invex Forum Brno
Logika a umělá inteligence pro multi-agentní systémy Mobilní agent řízený neuronovou sítí.
1 Průběh implementace IS Přehled jednotlivých etap.
B2 – Analýza požadavků a jejich zajištění Systém dalšího vzdělávání pracovníků výzkumu a vývoje v Moravskoslezském kraji a jeho realizace.
Moderní vývoj web aplikací na Dominu Martin Jinoch, MAP Systems, s.r.o
Global network of innovation Identity a Access Management v heterogenním prostředí Marta Vohnoutová 19. dubna 2015.
Miroslav Skokan IT Security Consultant
ŠKOLA: Gymnázium, Tanvald, Školní 305, příspěvková organizace ČÍSLO PROJEKTU: CZ.1.07/1.5.00/ NÁZEV PROJEKTU: Šablony – Gymnázium Tanvald ČÍSLO.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B6 Autor Ing. Jiří Kalousek Období vytvoření listopad.
Softwarové inženýrství semestrální projekt
Young CYBER Lions 2015 INTEGRATED SOCIAL MEDIA CAMPAIGN TEMPLATE of your submission (Do not include this slide into your presentation. Start straight with.
Geografický výzkum periferních oblastí Česka 1. Úvod do tématu, cíle přednášky, organizační záležitosti.
Helios Orange - Implementace systému
Počítačové hry a animace
si Vám dovoluje představit
Smart Cities v zemích V4 Výstupy z konference Smart Cities: The Pathway to Sustainable Development of Cities Pavla Vidanová Oddělení politiky a strategií.
ANALÝZA IS. Životní cyklus IS Specifikace problému, požadavků (studijní fáze) Analýza Návrh Implementace (realizace) Zavedení (instalace) a testování.
Psát není tak složité, aneb pojďte s námi tvořit Metodický portál.
Testování aplikací v Javě Petr Adámek IBA CZ, s.r.o. © 2010.
BI-Exercise/Project Topics October 2016 TUL Ing. Athanasios Podaras, Ph.D.
Randstad Java Academy vše o kurzu Gabriela Hrbáčková Director Randstad Professionals.
V Českých Budějovicích, únor 2017
SOLID principy v OOP návrhu
Obsah a úvod do předmětu: Počítačová podpora řízení
I am going to go shopping. What are you going to do tomorrow?
ZÁKLADNÍ ŠKOLA, JIČÍN, HUSOVA 170 Číslo projektu
Budování Integrovaného informačního systému Národního památkového ústavu Petr Volfík, NPÚ ÚP
Facility management jako součást efektivní správy společnosti
Management Tvorba prezentací ppt.
Tradiční metodiky vývoje softwaru
Tradiční metody vývoje softwaru
METODOLOGIE PROJEKTOVÁNÍ
Mgr. Alena Mátlová The English dates VY_32_INOVACE_Aj.20 prosinec 2012
DevOps (nejen) pro mobilní aplikace
1. Exercise Tomas Hogenauer
Dfdfdf.
Transkript prezentace:

TDD - Test Driven Development Petr Šťovík, Software Developer & Architect I 11.4.2017 I Ostrava 2017 - © GMC Classification: PUBLIC

Agenda Teoretické seznámení Demo příklad (> 50%) Doména: Bowlingové skóre DEV workflow: pomocí nástroje bobril-build Zhodnocení TDD, aneb kdy použít Kooperace týmů – CI Server Závěr a volné otázky 2017 - © GMC Classification: PUBLIC

Teorie 2017 - © GMC Classification: PUBLIC

Cost of Change http://www.agilemodeling.com/essays/costOfChange.htm 2017 - © GMC Classification: PUBLIC

Cost of Change http://www.agilemodeling.com/essays/costOfChange.htm NOTES u SW vývoje vždy zvažovat otestovatelnost - TDD tlačí k psaní testovatelného kódu 2017 - © GMC Classification: PUBLIC

TDD – Test Driven Development https://en.wikipedia.org/wiki/Test-driven_development Add a test – tvorba očekávání je nejdůležitější fáze Run all tests and see if the new test fails Write the code Run tests Refactor code Repeat Protiklad – psaní funkcionality a následné pokrytí testy 2017 - © GMC Classification: PUBLIC

TDD – Test Driven Development https://en.wikipedia.org/wiki/Test-driven_development 2017 - © GMC Classification: PUBLIC

Demo příklad 2017 - © GMC Classification: PUBLIC

Bowling Game Kata 1 hra má 10 kol (10 frames) kolo má 1 nebo 2 hody (rolls) na 10 kuželek (pins) 10. kolo je jiné má 2 nebo 3 hody bonus za „strike“, „spare“ podle následných hodů http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata https://github.com/hontas/bowling-game-kata 2017 - © GMC Classification: PUBLIC

Demo 10:05 Intro: nástroj „bobril-build“ Fáze 1: vizuální očekávání – návrh datových struktur Fáze 2: očekávané chování – logika výpočtu 10:05 NOTES: TDD i jako technika pro implementaci GUI prvků 2017 - © GMC Classification: PUBLIC

The Flow & Feedback „Pocit hlubokého zaujetí úkolem, aniž cítíme zvláštní námahu. Splynutí činnosti a vědomí, z mysli jsou vypuzeny běžné myšlenky.“ https://cs.wikipedia.org/wiki/Flow http://dilbert.com/strip/2017-01-05 NOTES: Průběžný refactoring a rychlý feedback 2017 - © GMC Classification: PUBLIC

TDD Evaluation 2017 - © GMC Classification: PUBLIC

TDD Evaluation [1/2] TDD jako myšlenkový nástroj Kdy rozhodně ANO Base philosophy TDD jako myšlenkový nástroj Kdy rozhodně ANO Jasné vstupy / výstupy Rozložitelnost na části s jasnými vstupy / výstupy Oblast již testy pokrytá (+ bug fixing) Kdy zvážit Složité nastavení prostředí „5 minutový projekt“ bez budoucnosti Nemám nástroje pro pouštění testů Čitelný projekt bez logiky „Test Driven: It is the mindset not the tool!“ http://blog.jonasbandi.net/2011/08/test-driven-it-is-mindset-not-tool.html NOTES: nejde o řešení příkladu ale o postup uvažování není to o dogmatismu, ale o tom vědět, co kdy pomůže a efektivně použít těžko se prezentuje něco, co prezentovat nelze... ale musí se zažít – jako kladivo 2017 - © GMC Classification: PUBLIC

Specification/Test writting TDD Evaluation [2/2] Specification/Test writting Popis testu by měl odpovědět na „proč?“ Typy očekávání Mít očekávané „success scénáře“ Mít očekávané „error scénáře“ Neočekávané scénáře doplňovat při bugfixingu Vrstvy abstrakce Interní funkce Knihovna Integrace (mockování) I testy potřebují údržbu Deduplikace (buildery, lokální funkce …) Čitelnost záměru důležitější než u produkčního kódu „Test Driven: It is the mindset not the tool!“ http://blog.jonasbandi.net/2011/08/test-driven-it-is-mindset-not-tool.html 2017 - © GMC Classification: PUBLIC

Team Cooperation 2017 - © GMC Classification: PUBLIC

DEV Team & Build Server DEV je nejefektivnější ve Flow Spouštění všech testů trvá Build server (CI - Continous Integration) Ukázka – Jenkins (https://jenkins.io/) Tým A Tým B Build Server 2017 - © GMC Classification: PUBLIC

Summary 2017 - © GMC Classification: PUBLIC

Summary 5 kroků TDD Ukázka „Bowling Game Kata“ pomocí „bobril-build“ Návrh struktur Definice chování Zhodnocení TDD Přínos pro tým(y) Protiklad – psaní funkcionality a následné pokrytí testy 2017 - © GMC Classification: PUBLIC

What next http://www.peterprovost.org/blog/2012/05/02/kata-the-only-way-to-learn-tdd/ https://sites.google.com/site/tddproblems/all-problems-1 http://www.bowlinggenius.com/ 2017 - © GMC Classification: PUBLIC

Your Questions 2017 - © GMC Classification: PUBLIC

TDD se musí zažít! p.stovik@gmc.net 2017 - © GMC Classification: PUBLIC