SlideShare a Scribd company logo
1 of 19
Download to read offline
TESTY
JEDNOSTKOWE
NA LATA
Marcin Czarnecki, PHP Developer w GOG.com
Wstęp teoretyczny
Trochę książkowej wiedzy nigdy nie
zaszkodzi
Piramida testów
Jednostkowe
Integracyjne
UI
• Nie mają zależności w innych elementach infrastruktury
Definicja testów jednostkowych
• Nie mają zależności w innych elementach infrastruktury
• Skupiają się na jednostce kodu
Definicja testów jednostkowych
• Nie mają zależności w innych elementach infrastruktury
• Skupiają się na jednostce kodu
• Sprawdzają czy dla znanych danych wejściowych, testowana
metoda zwraca właściwe dane wyjściowe
Definicja testów jednostkowych
• Szybkość
Różnice w stosunku do innych testów
• Szybkość
• Bezawaryjność
Różnice w stosunku do innych testów
• Szybkość
• Bezawaryjność
• Pokazują gorsze jakościowo fragmenty naszego kodu
Różnice w stosunku do innych testów
• Szybkość
• Bezawaryjność
• Pokazują gorsze jakościowo fragmenty naszego kodu
• Nie testują funkcjonalności aplikacji
Różnice w stosunku do innych testów
Zatem jak dobrze
pisać testy?
Test coverage
1.
Czy 100% pokrycia daje pewność braku błędów?
Co testować
testami
jednostkowymi
2.
Jeden test - jedna
testowana
odpowiedzialność
3.
Arrange,
Act,
Assert
4.
Given,
When,
Then
Opisujemy
zachowanie
obiektów
5.
testSerialization()
vs
it_serialize_given_game()
Posługujemy się
konkretnymi
przykładami
6.
12
vs
self::GAME_ID
vs
self::WITCHER_ID
Współdzielimy kod
między testami
7.
setUp(), tearDown()
użycie metod prywatnych
Dziękuję za uwagę!
twitter.com/scyzoryck

More Related Content

Similar to 4Developers 2018: Testy jednostkowe na lata (Marcin Czarnecki)

Kariera it Sopot
Kariera it SopotKariera it Sopot
Kariera it Sopot
neoteric-eu
 
Katarzyna Bylec, Testowanie - perspektywa programisty
Katarzyna Bylec, Testowanie - perspektywa programistyKatarzyna Bylec, Testowanie - perspektywa programisty
Katarzyna Bylec, Testowanie - perspektywa programisty
Geek Girls Carrots Poznan
 

Similar to 4Developers 2018: Testy jednostkowe na lata (Marcin Czarnecki) (13)

Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testow
 
Testowanie automatyczne 2024 INCO Academy
Testowanie automatyczne 2024 INCO AcademyTestowanie automatyczne 2024 INCO Academy
Testowanie automatyczne 2024 INCO Academy
 
Techniczna organizacja zespołu
Techniczna organizacja zespołuTechniczna organizacja zespołu
Techniczna organizacja zespołu
 
Tdd - Czyli jak tworzyć dobre jakościowo aplikacje
Tdd - Czyli jak tworzyć dobre jakościowo aplikacjeTdd - Czyli jak tworzyć dobre jakościowo aplikacje
Tdd - Czyli jak tworzyć dobre jakościowo aplikacje
 
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
 
Test na testera. Sprawdź czy nadajesz się do tego zawodu.
Test na testera. Sprawdź czy nadajesz się do tego zawodu.Test na testera. Sprawdź czy nadajesz się do tego zawodu.
Test na testera. Sprawdź czy nadajesz się do tego zawodu.
 
MS - Wprowadzenie do testów jednostkowych
MS - Wprowadzenie do testów jednostkowychMS - Wprowadzenie do testów jednostkowych
MS - Wprowadzenie do testów jednostkowych
 
Testy wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba GajdaTesty wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba Gajda
 
Kariera it Sopot
Kariera it SopotKariera it Sopot
Kariera it Sopot
 
Unit testing w praktyce... czyli właściwie jak?
Unit testing w praktyce... czyli właściwie jak?Unit testing w praktyce... czyli właściwie jak?
Unit testing w praktyce... czyli właściwie jak?
 
Katarzyna Bylec, Testowanie - perspektywa programisty
Katarzyna Bylec, Testowanie - perspektywa programistyKatarzyna Bylec, Testowanie - perspektywa programisty
Katarzyna Bylec, Testowanie - perspektywa programisty
 
Konrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gier
Konrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gierKonrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gier
Konrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gier
 
Dbanie o jakość kodu w dużej organizacji
Dbanie o jakość kodu w dużej organizacjiDbanie o jakość kodu w dużej organizacji
Dbanie o jakość kodu w dużej organizacji
 

4Developers 2018: Testy jednostkowe na lata (Marcin Czarnecki)