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