SlideShare une entreprise Scribd logo
1  sur  45
Testy jednostowe Hubert Marzec ( [email_address] ) www.dzbanyit.pl
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object]
Testy jednostkowe def. ,[object Object]
Po co pisać testy jednostkowe? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Znajdź błędy nim one znajdą ciebie
Bezproblemowy refactoring ,[object Object]
Bezproblemowy refactoring Test: źle Test: dobrze Napisz test Napisz kod
Praca w grupie
Dokumentacja ,[object Object],[object Object]
Redukcja kosztów >100zł Po wdrożeniu 50zł Testy akceptacyjne 22zł Testy integracyjne 15zł Testy jednostkowe 10zł Kodowanie 5zł Projekt 1zł Analiza Koszt Faza
Redukcja kosztów > 10 h Po wdrożeniu 5 h Testy akceptacyjne 2,2 h Testy integracyjne 1,5h Testy jednostkowe 1h Kodowanie 0,5 h Projekt 6 min Analiza Koszt Faza
Wyższa jakość kodu ,[object Object],[object Object],googletesting.blogspot.com
Co testować? ,[object Object],[object Object],[object Object]
Cel ,[object Object],[object Object],[object Object],[object Object]
Cel ,[object Object],[object Object],[object Object],[object Object],Rozwiązanie: Framework
PHPUnit Framework
Frameworki testowe: PHPUnit ,[object Object],[object Object],[object Object],[object Object],[object Object]
Przypadki testowe ,[object Object],[object Object],[object Object],[object Object],KontoBankowe
Przypadki testowe ,[object Object],[object Object],Warunki
Przypadki testowe
Asercje w PHPUnit ,[object Object],[object Object],[object Object],[object Object],[object Object],Spodziewany wynik Działania   Wartość będąca  wynikiem rzeczywisty, pozyskanym podczas testu
Przypadki testowe
Przypadki testowe
Przypadki testowe
Przypadki testowe
Przypadki testowe
setUp() i tearDown()
setUp() i tearDown()
Zestawy testów: test suite
Niekompletne testy
Niekompletne testy
Niekompletne testy Test: źle Test: dobrze ?
Niekompletne testy
Opuszczone testy
Opuszczone testy
Obiekty współpracujące ,[object Object],[object Object],[object Object]
Programowanie sterowane testami ,[object Object],[object Object],[object Object],[object Object],[object Object]
Programowanie sterowane testami TEST CODE REFACTOR
Programowanie sterowane testami
Jak zapewnić jakość testów ,[object Object],[object Object],[object Object],[object Object],[object Object]
Code coverage ,[object Object],[object Object],[object Object]
Statements/line coverage ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Code coverage - PHPUnit
Code coverage - PHPUnit
Pytania, uwagi ? Hubert Marzec ( [email_address] ) www.dzbanyit.pl

Contenu connexe

En vedette

Memoria global guarderia_municipal_de_tazacorte
Memoria global guarderia_municipal_de_tazacorteMemoria global guarderia_municipal_de_tazacorte
Memoria global guarderia_municipal_de_tazacorte
Antonio Tuñon Perez
 
Altas noviembre 2012
Altas noviembre 2012 Altas noviembre 2012
Altas noviembre 2012
Dominios.es
 
9. Prowadzenie dokumentacji stomatologicznej
9. Prowadzenie dokumentacji stomatologicznej9. Prowadzenie dokumentacji stomatologicznej
9. Prowadzenie dokumentacji stomatologicznej
Wiktor Dąbrowski
 
Lebenslauf_Tamas_Zsiros_02_2016
Lebenslauf_Tamas_Zsiros_02_2016Lebenslauf_Tamas_Zsiros_02_2016
Lebenslauf_Tamas_Zsiros_02_2016
Tamás Zsiros
 
Session 4 - Internet Issues & E Commerce Engine Platform
Session 4 - Internet Issues & E Commerce Engine PlatformSession 4 - Internet Issues & E Commerce Engine Platform
Session 4 - Internet Issues & E Commerce Engine Platform
Purnama Anaking
 
Alfa construcción estrategia publicitaria
Alfa construcción  estrategia publicitariaAlfa construcción  estrategia publicitaria
Alfa construcción estrategia publicitaria
AriRodrigz
 

En vedette (20)

Dossier comercial Curses Trilavall 2016
Dossier comercial Curses Trilavall 2016Dossier comercial Curses Trilavall 2016
Dossier comercial Curses Trilavall 2016
 
Memoria global guarderia_municipal_de_tazacorte
Memoria global guarderia_municipal_de_tazacorteMemoria global guarderia_municipal_de_tazacorte
Memoria global guarderia_municipal_de_tazacorte
 
Altas noviembre 2012
Altas noviembre 2012 Altas noviembre 2012
Altas noviembre 2012
 
Metodologías participativas (1). [downloaded with 1st browser]
Metodologías participativas (1). [downloaded with 1st browser]Metodologías participativas (1). [downloaded with 1st browser]
Metodologías participativas (1). [downloaded with 1st browser]
 
Borang hafazan cantik
Borang hafazan cantikBorang hafazan cantik
Borang hafazan cantik
 
Gestion de proyectos culturales sesión 1
Gestion de proyectos culturales sesión 1Gestion de proyectos culturales sesión 1
Gestion de proyectos culturales sesión 1
 
¿Qué es y cómo se construye un ecosistema digital?
¿Qué es y cómo se construye un ecosistema digital?¿Qué es y cómo se construye un ecosistema digital?
¿Qué es y cómo se construye un ecosistema digital?
 
Symfonite
SymfoniteSymfonite
Symfonite
 
10 Disruptive Business Models
10 Disruptive Business Models10 Disruptive Business Models
10 Disruptive Business Models
 
Tester.pl - Numer 2
  Tester.pl - Numer 2  Tester.pl - Numer 2
Tester.pl - Numer 2
 
13. Prowadzenie dokumentacji stomatologicznej
13. Prowadzenie dokumentacji stomatologicznej13. Prowadzenie dokumentacji stomatologicznej
13. Prowadzenie dokumentacji stomatologicznej
 
Tester.pl - Numer 5
Tester.pl - Numer 5Tester.pl - Numer 5
Tester.pl - Numer 5
 
9. Prowadzenie dokumentacji stomatologicznej
9. Prowadzenie dokumentacji stomatologicznej9. Prowadzenie dokumentacji stomatologicznej
9. Prowadzenie dokumentacji stomatologicznej
 
Lebenslauf_Tamas_Zsiros_02_2016
Lebenslauf_Tamas_Zsiros_02_2016Lebenslauf_Tamas_Zsiros_02_2016
Lebenslauf_Tamas_Zsiros_02_2016
 
EL FRENTE “IDEAs” ES EL INTENTO POR RESTAURAR EL PODER DE LA ROSCA MASISTA EN...
EL FRENTE “IDEAs” ES EL INTENTO POR RESTAURAR EL PODER DE LA ROSCA MASISTA EN...EL FRENTE “IDEAs” ES EL INTENTO POR RESTAURAR EL PODER DE LA ROSCA MASISTA EN...
EL FRENTE “IDEAs” ES EL INTENTO POR RESTAURAR EL PODER DE LA ROSCA MASISTA EN...
 
El romeral CAZA DE TESOROS
El romeral  CAZA DE TESOROSEl romeral  CAZA DE TESOROS
El romeral CAZA DE TESOROS
 
MA Class Advanced Info Lit PPT
MA Class Advanced Info Lit PPTMA Class Advanced Info Lit PPT
MA Class Advanced Info Lit PPT
 
Internatinal Medical Edu Services (IMES) profile
Internatinal Medical Edu Services (IMES) profileInternatinal Medical Edu Services (IMES) profile
Internatinal Medical Edu Services (IMES) profile
 
Session 4 - Internet Issues & E Commerce Engine Platform
Session 4 - Internet Issues & E Commerce Engine PlatformSession 4 - Internet Issues & E Commerce Engine Platform
Session 4 - Internet Issues & E Commerce Engine Platform
 
Alfa construcción estrategia publicitaria
Alfa construcción  estrategia publicitariaAlfa construcción  estrategia publicitaria
Alfa construcción estrategia publicitaria
 

Similaire à Testy Jednostokowe

[PL] Jak programować aby nie zwariować
[PL] Jak programować aby nie zwariować[PL] Jak programować aby nie zwariować
[PL] Jak programować aby nie zwariować
Jakub Marchwicki
 

Similaire à Testy Jednostokowe (20)

Testy jednostkowe - PHPUnit
Testy jednostkowe - PHPUnitTesty jednostkowe - PHPUnit
Testy jednostkowe - PHPUnit
 
Więcej testów/mniej kodu - Michał Gaworski, kraQA 13
Więcej testów/mniej kodu - Michał Gaworski, kraQA 13Więcej testów/mniej kodu - Michał Gaworski, kraQA 13
Więcej testów/mniej kodu - Michał Gaworski, kraQA 13
 
4Developers 2018: Unit testing - introduction (Marek Kawczyński)
4Developers 2018: Unit testing - introduction (Marek Kawczyński)4Developers 2018: Unit testing - introduction (Marek Kawczyński)
4Developers 2018: Unit testing - introduction (Marek Kawczyński)
 
Nie rozwiązuj w testach jednostkowych problemów z testowanym kodem.
Nie rozwiązuj w testach jednostkowych problemów z testowanym kodem.Nie rozwiązuj w testach jednostkowych problemów z testowanym kodem.
Nie rozwiązuj w testach jednostkowych problemów z testowanym kodem.
 
Wprowadzenie do PHPUnit
Wprowadzenie do PHPUnitWprowadzenie do PHPUnit
Wprowadzenie do PHPUnit
 
[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...
[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...
[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...
 
[QE 2015] Tomasz Wierzchowski - Property-based testing
[QE 2015] Tomasz Wierzchowski - Property-based testing[QE 2015] Tomasz Wierzchowski - Property-based testing
[QE 2015] Tomasz Wierzchowski - Property-based testing
 
Confitura 2015 - Code Quality Keepers @ Allegro
Confitura 2015 - Code Quality Keepers @ AllegroConfitura 2015 - Code Quality Keepers @ Allegro
Confitura 2015 - Code Quality Keepers @ Allegro
 
PHPUnit - jak zacząć pisać testy automatyczne [PL]
PHPUnit - jak zacząć pisać testy automatyczne [PL]PHPUnit - jak zacząć pisać testy automatyczne [PL]
PHPUnit - jak zacząć pisać testy automatyczne [PL]
 
Testy jednostkowe - 8 rzeczy, które musisz wiedzieć
Testy jednostkowe - 8 rzeczy, które musisz wiedziećTesty jednostkowe - 8 rzeczy, które musisz wiedzieć
Testy jednostkowe - 8 rzeczy, które musisz wiedzieć
 
KraQA VIII - Techniki projektowania testów
KraQA VIII - Techniki projektowania testów KraQA VIII - Techniki projektowania testów
KraQA VIII - Techniki projektowania testów
 
05 - Testowalność
05 - Testowalność05 - Testowalność
05 - Testowalność
 
Podstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxPodstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptx
 
Refaktoryzacja
RefaktoryzacjaRefaktoryzacja
Refaktoryzacja
 
Monika Braun - "Tester i frameworki agilowe - rola testera w różnych metodyka...
Monika Braun - "Tester i frameworki agilowe - rola testera w różnych metodyka...Monika Braun - "Tester i frameworki agilowe - rola testera w różnych metodyka...
Monika Braun - "Tester i frameworki agilowe - rola testera w różnych metodyka...
 
[PL] Jak programować aby nie zwariować
[PL] Jak programować aby nie zwariować[PL] Jak programować aby nie zwariować
[PL] Jak programować aby nie zwariować
 
Testowanie automatyczne 2024 INCO Academy
Testowanie automatyczne 2024 INCO AcademyTestowanie automatyczne 2024 INCO Academy
Testowanie automatyczne 2024 INCO Academy
 
MS - Wprowadzenie do testów jednostkowych
MS - Wprowadzenie do testów jednostkowychMS - Wprowadzenie do testów jednostkowych
MS - Wprowadzenie do testów jednostkowych
 
Czy na pewno wiesz już wszystko o testach jednostkowych w Javie?
Czy na pewno wiesz już wszystko o testach jednostkowych w Javie?Czy na pewno wiesz już wszystko o testach jednostkowych w Javie?
Czy na pewno wiesz już wszystko o testach jednostkowych w Javie?
 
Benchmarking
Benchmarking Benchmarking
Benchmarking
 

Testy Jednostokowe