Testowanie oprogramowania
Czas trwania szkolenia:3 dni (24h)
Kod kursu:APP/TEST
Poziom zaawansowania:
O szkoleniu Testowanie oprogramowania
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Dla kogo?
- Programistów wszystkich języków programowania
Wymagania
- Podstawowa umiejętność programowania
- Podstawowa znajomość frameworków do testowania
Zalety
- Poznasz różne typy testowania i dowiesz się, w jakich sytuacjach i miejscach z nich korzystać
- Nauczysz się pisać czytelne i zrozumiałe testy
- Dowiesz się, jakie są różnice pomiędzy technikami testowania oraz jak wykorzystać ich zalety
Cele szkolenia
- Kompleksowe przedstawienie tematu testowania kodu
- Przedstawienie narzędzi umożliwiających efektywne tworzenie testów oraz ich automatyzację
- Zademonstrowanie dobrych praktyk prowadzących do zwiększenia jakości wytwarzanego oprogramowania
Program
Wprowadzenie
- Cele testowania
- Fakty i mity
- Metryki pokrycia testami
Statyczna Analiza Kodu
- Czym jest statyczna analiza kodu
- Przegląd narzędzi
- Metryki jakości kodu
Typy testów
- White box testing
- Black box testing
Piramida Testów
- Wprowadzenie
- Odwrócona piramida testów
- Pozostałe typy testów
Jak pisać czytelne testy?
- Given-When-Then
- Test Fixtures
- Fluent interface
- Factory
- Continuous Refactoring
Testy jednostkowe
- Definicja i zakres odpowiedzialności
- Cechy dobrych testów jednostkowych
- Jak i co testować?
Test Double Patterns
- Dummy
- Fake
- Stub
- Spy
- Mock
- Wyzwania
Testy integracyjne
- Definicja i zakres odpowiedzialności
- Cechy dobrych testów integracyjnych
- Przygotowanie i konfiguracja środowiska testowego
- Tworzenie testów integracyjnych
Test-Driven Development
- Definicja, zalety, wyzwania
- Strategie implementacji wymagań
- Refaktoryzacja w kontekście TDD
Behavior-Driven Development
- Definicja, zalety, wyzwania
- Strategie implementacji wymagań
- Kiedy nie warto korzystać z BDD
Testy wysokopoziomowe i automatyzacja
- Testowanie architektury
- Consumer-Driven Contract
- Testy obciążeniowe
- Continuous Integration