| Tytuł: | Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia |
| Kod: | craft-test-receptury |
| Kategoria: | Testowanie automatyczne |
| Forma: | 50% wykłady / 50% warsztaty |
| Czas trwania: | 3 dni |
| Odbiorcy: | developerzy |
| Zapisy: |
Indywidualne zamówienie i dopasowanie dla grupy. |
| Logistyka: |
W siedzibie klienta lub w innym dowolnym miejscu. |
Szkolenie przeznaczone jest dla programistów, którzy posiadają podstawowe umiejętności testowania automatycznego i pragną poszerzyć je o szersze spojrzenie na problemy i strategie ich rozwiązywania.
Uczestnicy szkolenia:
- zostaną zapoznani z technikami, które są użyteczne w kontekście ich pracy
- następnie nabędą umiejętność świadomego składania technik w taktyki
- w kolejnym etapie będą uczyć się klasyfikować problemy i dobierać do nich odpowiednie strategie (na które składają się taktyki i techniki poznane wcześniej)
Praktyki i techniki działają na poziomach:
- wymagań,
- architektury,
- modelu domenowego,
- procesu implementacji,
- testów (end-to-end i jednostkowych).
Materiały wstępne
Przed szkoleniem możesz zapoznać się z serią naszych artykułów: Testowanie automatyczne.
Wyróżniki szkolenia
- Zagadnienia architektury aplikacji wspierającej testowalność kodu
- Najlepsze wzorce i praktyki
- Aspekty Behavior Driven Development i Domain Driven Design
Program Szkolenia
Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.-
Problemy- Eksplozja kombinatoryczna przypadków – w górnych warstwa multiplikują się możliwe stany obiektów domenowych
- Koszt stworzenia i utrzymania testów – zaślepki (Fake/Mock/Stub), dane testowe np. w bazie danych
- Nieaktualna dokumentacja (nikt jej nie czyta ani nie aktualizuje)
- Problem z komunikacją - brak zrozumienia celów biznesowych, biznes nie rozumie systemu
- Kosztowne w utrzymaniu skrypty do „wyklikania”
- Dobór zakresu testów do rzeczywistych potrzeb (Unit, End-to-End-komponent, End-to-End-system, Integracyjne)
- Rola testów: jakość dev. czy jakość biz.
- Architektura wspierająca testability (zależności, rozwarstwienie i rygor warstw)
- OO Design (SOLID, GRASP, RDD, DDD)
- Smells: Delikatne testy (fragile), Nieczytelne testy, Wolne testy, Testy niedeterministyczne
- Eksplozja kombinatoryczna przypadków – w górnych warstwa multiplikują się możliwe stany obiektów domenowych
-
Strategie- Mapowanie piramidy testów na warstwy aplikacji
- Perfekcja domeny, ogólna zgodność wymagań
- Obniżanie kosztów poprzez unikanie zbędnej pracy
- Tworzenie wykonywalną dokumentację
- Skupienie dokumentację wokół celów biznesowych i flow użytkownika
- Operowanie słownictwem domenowym
- Orientacja na Flow a nie na skrypt UI
- Orientacja na Specyfikację a nie Flow
- Ciągła refaktoryzacja
- Mapowanie piramidy testów na warstwy aplikacji
-
Taktyki- Warstwa Aplikacji – Testy End-to-end – Komponentowe
- Warstwa Domenowa – Testy jednostkowe
- Abstrakcje Warstwy Infrastruktury – Testy integracyjne
- Unikaj pracy z serwerem
- Dwuwarstwowe Historyjki akceptacyjne
- Trójwarstwowe Wykonywalne Specyfikacje
- Struktura Given-When-Then: W proponuje dev, GT definiuje ekspert
- Testowanie przed refaktoryzacją (odpowiednie testy)
- Warstwa Aplikacji – Testy End-to-end – Komponentowe
-
Techniki- Struktura Testów
- Testowanie niezmienników Agregatów
- Assembler Agregatów
- Assert Object
- Testowanie Serwisów Domenowych w stylu funkcyjnym
- Jak tworzyć zaślepki: Command-Mock, Query-Stub
- Testowanie Serwisów Domenowych w stylu funkcyjnym
- Agenty abstrahujące od protokołu komunikacyjnego
- Struktura Given-When-Then: W przez UI, GT niżej
- Niektóre specyfikacje testuj jednostkowo w warstwie domeny
- Techniki świadomej refaktoryzacji
- Struktura Testów
-
Narzędzia- Narzędzia testowania jednostkowego (frameworki, asercje, matchery, mockowanie)
- Narzędzia testowania end-to-end
- Narzędzia automatyzacji UI
- Narzędzia mapowania wykonywalnych specyfikacji na kroki
- Narzędzia testowania jednostkowego (frameworki, asercje, matchery, mockowanie)
Pobierz program w formacie PDF