Szkolenie: Testowanie oprogramowania
Podczas szkolenia uczestnicy na praktycznych przykładach poznają różne aspekty testów automatycznych.
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:3 dni (24h)
Kod kursu:APP/TEST
Testowanie oprogramowania
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
Dla kogo?
Programistów wszystkich języków programowania
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
Wymagania
Podstawowa umiejętność programowania
Podstawowa znajomo ść frameworków do testowania
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
Program szkolenia
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