Lekcja 1Priorytetyzacja dla automatyzacji: które testy automatyzować najpierw (API, krytyczne przepływy, regresja), dlaczego i kryteria ROI automatyzacjiTen rozdział wyjaśnia, jak priorytetyzować testy do automatyzacji, skupiając się na API, krytycznych przepływach użytkownika i zestawach regresji, oraz definiuje kryteria ROI automatyzacji, utrzymywalności i redukcji ryzyka do kierowania decyzjami inwestycyjnymi.
Identyfikacja wysokowartościowych kandydatów do automatyzacjiAutomatyzacja testów API przed złożonymi przepływami UIAutomatyzacja krytycznych ścieżek i happy pathBudowa stabilnego szkieletu automatyzacji regresjiObliczanie i śledzenie ROI automatyzacjiDecydowanie, kiedy nie automatyzować testuLekcja 2Kontrola wydań i kryteria wyjścia testów powiązane z kryteriami akceptacji i metrykamiTen rozdział definiuje kontrolę wydań i kryteria wyjścia testów, pokazując, jak powiązać je z kryteriami akceptacji, ryzykiem i metrykami takimi jak wskaźniki defektów, pokrycie i wydajność, aby decyzje o wydaniu były przejrzyste i oparte na dowodach.
Definiowanie jasnych kryteriów wejścia i wyjściaPowiązywanie kryteriów wyjścia z kryteriami akceptacjiMetryki jakości dla decyzji o wydaniu lub wstrzymaniuProgi ważności defektów i limity otwartych błędówObsługa wyjątków opartych na ryzyku i odstępstwDokumentowanie decyzji o wydaniu i zatwierdzeńLekcja 3Traceability: mapowanie wymagań na testy i raportowanie pokryciaTen rozdział obejmuje traceability od wymagań do testów, w tym budowanie i utrzymywanie macierzy traceability, powiązywanie testów z historiami użytkownika i ryzykami oraz raportowanie luk w pokryciu, które informują planowanie i decyzje o wydaniu.
Tworzenie lekkiej macierzy traceabilityPowiązywanie historii użytkownika, ryzyk i przypadków testowychTraceability w narzędziach agile i zarządzaniu testamiPomiar pokrycia poza prostymi liczbamiIdentyfikacja i priorytetyzacja luk w pokryciuUżywanie traceability w audytach i zgodnościLekcja 4Typy testów wymagane: funkcjonalne, regresja, smoke/sanity, E2E, wydajność/ obciążenie/stres, bezpieczeństwo, dostępność, cross-browser i responsywne, lokalizacja i walidacja danychTen rozdział opisuje wymagane typy testów dla aplikacji webowych, w tym funkcjonalne, regresję, smoke, end-to-end, wydajność, bezpieczeństwo, dostępność, cross-browser, responsywne, lokalizację i walidację danych, z wskazówkami, kiedy stosować każdy.
Zestawy funkcjonalne i regresji dla głównych przepływówKontrola smoke i sanity dla szybkiego feedbackuCele testów wydajności, obciążenia i stresuTesty bezpieczeństwa dla powszechnych luk webowychTesty dostępności, cross-browser i responsywneRozważania lokalizacji i walidacji danychLekcja 5Strategia testów manualnych: eksploracyjne, użyteczność, ad-hoc, testy oparte na sesjach, walidacja przypadków brzegowychTen rozdział skupia się na strategiach testów manualnych uzupełniających automatyzację, w tym eksploracyjne, użyteczność, ad-hoc i oparte na sesjach, plus techniki odkrywania przypadków brzegowych i przechwytywania wysokiej jakości notatek testowych i charterów.
Planowanie i strukturyzacja eksploracyjnych charterów testowychHeurystyki i tours do odkrywania ukrytych defektówOcena użyteczności dla przepływów webowych i wzorców UIZarządzanie testami opartymi na sesjach i notatkiTesty ad-hoc do szybkich sond ryzyk i spike'ówProjektowanie scenariuszy przypadków brzegowych i kontroli granicznychLekcja 6Środowiska testowe, konfiguracja stagingu, maskowanie danych, wirtualizacja usług dla płatności zewnętrznych i kanałów real-timeTen rozdział szczegółowo opisuje, jak projektować i zarządzać środowiskami testowymi webowymi, w tym konfiguracjami stagingu, realistycznymi ale zamaskowanymi danymi oraz wirtualizacją usług dla płatności zewnętrznych i kanałów real-time, aby umożliwić bezpieczne, powtarzalne testowanie.
Projektowanie stagingu lustrzącego ryzyka produkcyjneStrategie dla syntetycznych i zamaskowanych danych testowychZarządzanie konfiguracją środowiska i dryftemWirtualizacja usług dla bramek płatniczychSymulacja kanałów real-time i webhookówMonitorowanie stanu zdrowia i dostępności środowiskaLekcja 7Strategia automatyzacji testów: wybór frameworków, piramida testowa, integracja CI/CD, zarządzanie danymi testowymi i środowiskamiTen rozdział definiuje zrównoważoną strategię automatyzacji dla aplikacji webowych, obejmującą wybór frameworków, piramidę testową, integrację CI/CD oraz solidne podejścia do zarządzania danymi testowymi i środowiskami, które utrzymują zestawy szybkimi, stabilnymi i łatwymi w utrzymaniu.
Kryteria wyboru frameworków automatyzacji UI i APIProjektowanie utrzymywalnej piramidy testowej dla produktów webowychIntegracja automatycznych testów z potokami CI/CDZarządzanie danymi testowymi: seedowanie, fabryki, anonimizacjaStabilizacja niestabilnych testów i obsługa zachowań asynchronicznychWersjonowanie testów obok kodu aplikacjiLekcja 8Przegląd komponentów strategii testowej: zakres, poziomy, typy, środowiska, harmonogram, roleTen rozdział rozkłada kluczowe komponenty strategii testowej, w tym zakres, poziomy, typy, środowiska, harmonogram i role, pokazując, jak je jasno dokumentować, aby zespoły dzieliły wspólne zrozumienie celów jakościowych.
Definiowanie funkcji w zakresie i poza zakresemWybór odpowiednich poziomów testów dla każdej warstwyWybór typów testów na podstawie ryzyk produktuPlanowanie środowisk i wymaganych konfiguracjiDokumentowanie ról, własności i schematów RACIUtrzymywanie i wersjonowanie dokumentu strategiiLekcja 9Harmonogramowanie testów i alokacja zasobów dla osi czasu betyTen rozdział wyjaśnia, jak harmonogramować aktywności testowe i alokować ludzi, środowiska i narzędzia w ramach osi czasu bety, równoważąc ryzyko, zakres i ograniczenia, jednocześnie informując interesariuszy realistycznymi, opartymi na danych planami.
Definiowanie faz testowania w ramach osi czasu betySzacowanie wysiłku z użyciem ryzyka i złożonościAlokacja testerów, narzędzi i środowiskDopasowywanie kamieni milowych testów do wydańBufory, kontyngencje i obsługa opóźnieńKomunikacja harmonogramu i zmian do interesariuszyLekcja 10Poziomy testowania: jednostkowe, integracyjne, komponentowe, systemowe, end-to-end — cele i przykładowe rezultaty dla każdegoTen rozdział wyjaśnia każdy poziom testowania dla systemów webowych — jednostkowe, integracyjne, komponentowe, systemowe i end-to-end — wyjaśniając cele, własność, przykładowe rezultaty i jak poziomy współdziałają, dostarczając warstwowe feedback jakościowy.
Testy jednostkowe: zakres, izolacja i kontrakty koduTesty integracyjne dla usług i warstw danychTesty komponentowe dla widżetów i modułów UITesty systemowe dla pełnego zachowania aplikacji webowejTesty end-to-end dla krytycznych podróży użytkownikaWybór własności i narzędzi per poziom