Quality assurance w architekturze mikrousługowej na platformie Java

Kod: qa-ms
Kategoria: Architektura Java
Forma: 30% wykłady, 70% ćwiczenia
Czas trwania: 2 dni
Odbiorcy:
Zapisy: Indywidualne zamówienie i dopasowanie dla grupy.
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.

Praktyki dostarczania oprogramowania typowe dla systemów monolitycznych nie sprawdzają się w świecie mikrousług.

Mnogość ruchomych elementów architektury i procesu wytwórczego sprawiają, że samo testowanie nie jest wystarczające do dostarczenia wysokiej jakości produktu. Czego zatem potrzebujemy? Holistycznego podejścia do quality assurance.

Podczas tego szkolenia dowiemy się jak na jakość produktu wpływają decyzje architektoniczne, struktury organizacyjne i komunikacja. Poznamy praktyczne techniki efektywnego testowania klas, modułów, interfejsów webowych, listenerów i producentów wiadomości. Dowiemy się jak testować aplikacje w obliczu istnienia kolaboratorów takich jak bazy danych, brokery wiadomości, czy usługi HTTP. Omówimy także sposoby ograniczania skutków potencjalnych awarii na środowiskach produkcyjnych i szybkiego reagowania na problemy, zanim zgłosi je nam zdenerwowany klient. Przeanalizujemy pod kątem zapewniania jakości każdy element procesu dostawczego.

Wyróżniki szkolenia

  • Racjonalna strategia testowania
  • Testowalna architektura
  • Osadzenie w procesie wdrażania

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.

  1. Architektura i model C4
    1. Czym jest i na jakie pytania odpowiadać ma architektura?
    2. Model C4
      1. Na jakim poziomie abstrakcji operują mikrousługi?
      2. Na jakim poziomie abstrakcji operują testy?
  2. Wprowadzenie do architektury mikrousługowej
    1. Na czym polega autonomia mikrousług?
    2. Korzyści, problemy i wyzwania
    3. Mikrousługi a struktura organizacyjna zespołów
      1. Testowanie vs Quality Assurance
      2. Zespół QA vs QA per zespół
  3. Techniki integracyjne
    1. Komunikacja synchroniczna vs komunikacja asynchroniczna
    2. REST API
      1. Protokół HTTP
      2. REST jako protokół aplikacyjny a nie transportowy
    3. Messaging
      1. Rodzaje wiadomości i kanałów komunikacyjnych
    4. Jak wybór technik integracyjnych wpływa na jakość?
      1. SLA/SLI/SLO
    5. Integracja z systemami zewnętrznych dostawców
  4. Testowanie - systematyzacja pojęć
    1. Znajomość domeny jako klucz do jakości
    2. Budowa testu - najlepsze praktyki i narzędzia
    3. Test quadrant
    4. Przechodniość implikacji jako sposób na testy integracyjne
  5. Testowanie systemu w architekturze mikrousługowej
    1. Wyzwania
    2. Testy end-to-end w rzeczywistości
      1. Środowiska wdrożeniowe i ich wiarygodność
    3. Testy kontraktowe w heterogenicznym środowisku
      1. Provider contracts
      2. Consumer contracts
      3. Consumer-driven contracts
        1. PACT
        2. Spring Cloud Contract
  6. Testowanie mikrousługi
    1. Piramida testów - fakty i mity
    2. Architektura aplikacyjna a testowalność
    3. Identyfikacja szwów i techniki testowania jednostkowego
    4. Test doubles jako narzędzie do testowania w izolacji
    5. Techniki ukrywania złożoności w testach
    6. Testowanie wywołań asynchronicznych
    7. Testowanie integracyjne udostępnianego REST API
      1. RestAssured
      2. Spring MockMVC
    8. Testowanie integracyjne handlerów wiadomości
    9. Testowanie integracyjne w obecności kolaboratorów
      1. Wiremock
      2. Bazy/brokery pamięciowe
      3. Testcontainers
    10. Jak zagwarantować niezależność testów integracyjnych?
    11. Testowanie wymagań niefunkcjonalnych
    12. TDD a dobry design
  7. Dobre praktyki dostarczania oprogramowania
    1. Miejsca i sposoby kontroli jakości w łańcuchu dostawczym
    2. Co po wdrożeniu na produkcję?
    3. Techniki zwinne a automatyzacji testów
  8. Jak mieć pewność, że system działa po wdrożeniu?
    1. Monitorowanie semantyczne
    2. Metryki techniczne i biznesowe
    3. Design for failure


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

Zamów szkolenie

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Twoje dane osobowe przetwarzamy, aby udzielić odpowiedzi na Twoje pytanie. Administratorem Twoich danych osobowych jest Bottega It Minds Sławomir Sobótka. Przysługuje Ci prawo wniesienia sprzeciwu wobec przetwarzania, prawo dostępu do danych, prawo żądania ich sprostowania, usunięcia lub ograniczenia ich przetwarzania. Szczegółowe informacje dotyczące przetwarzania Twoich danych osobowych znajdują się TUTAJ.