Clean Architecture i testowanie automatyczne w środowisku Androida

Kod: android-clean
Kategoria: Android
Forma: 40% wykłady / 60% warsztaty
Czas trwania: 2 dni
Grupa docelowa: developerzy
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.
Data i dokładny zakres do ustalenia podczas analizy przed-szkoleniowej.

Szkolenie zostało przygotowane z myślą o programistach Android, którzy szukają lepszych sposobów na strukturyzację architektury aplikacji i organizację porządku w kodzie.

Podczas szkolenia tworzona jest od podstaw aplikacja oparta o Clean Architecture oraz rozwiązania, które z niej wynikają: testability logiki biznesowej i modularyzacja.

Materiały wstępne

Przed szkoleniem możesz zapoznać się z serią naszych artykułów: Zaawansowane programowanie na platformie Android.

Wyróżniki szkolenia

Podczas zajęć możesz oczekiwać szczególnych akcentów położonych na poniższe aspekty:

  • Aspekty bezpieczeństwa
  • Architektura i wzorce projektowe
  • Bazujemy na Clean Architecture

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. Aplikowanie Clean Architecture
    1. Uniezależnienie logiki aplikacji od frameworka za pomocą Dependency Inversion Principle
    2. Modelowanie logiki biznesowej
    3. Persystencja danych w kontekście Clean Architecture
    4. Komunikacja z usługami zewnętrznymi w kontekście Clean Architecture
    5. Model View Presenter
      1. Separacja logiki widoku aplikacji od frameworka
      2. Poprawna implementacja MVP w kontekście cyklu życia Activity i zmian konfiguracji
      3. Obsługa operacji asynchronicznych
    6. Techniki Inversion of Control
      1. Dependency Injection (Dynamiczne wstrzykiwanie zależności)
        1. Dostarczanie zależności przy użyciu narzędzia Dagger 2
        2. Definiowanie własnych scopów kontenera wstrzykiwania zależności
        3. Wstrzykiwanie zaślepek na czas testów
      2. Events
        1. Separacja i decoupling testowanych modułów
        2. Luźne wiązanie komponentów z użyciem Event Bus
    7. Dobre praktyki i użyteczne wzorce projektowe na platformie Android
  2. Testowanie i programowanie Object Oriented
    1. Podstawy testowania
      1. Rodzaje testów i przykłady ich wykorzystania
      2. Zakres testów (Jednostkowe, Integracyjne, End 2 End)
      3. Rola testów (Akceptacyjne, Regresywne)
      4. Strategia budowania piramidy testów
    2. Projektowanie przypadków testowych
      1. Testowanie przypadków granicznych
      2. Nacisk na testy jednostkowe w celu osiągnięcia wysokiego pokrycia testami
      3. Rozwarstwienie logiki na Aplikacyjną i Domenową
      4. Modelowanie logiki przy pomocy Building Blocks z Domain Driven Design
      5. Powtarzalność testów, wyeliminowanie losowości z testów
      6. Najlepsze praktyki tworzenia przypadków testowych
    3. Testowanie jednostkowe
      1. Określanie zakresu jednostki i nazwy testów
      2. Implementacja testów (JUnit, Spock)
      3. Tworzenie własnych asercji
      4. Techniki: Mock, Stub, Fake (Mockito & Spock)
      5. Dobór technik do potrzeb - czym się kierować
      6. Zalety i wady testowania w izolacji
      7. Nagrywanie zachowania
      8. Weryfikacja wywołań
    4. Testability - podatność kodu na testy
      1. Jak pisać kod, który daje się testować
      2. Najlepsze praktyki: SOLID
      3. Wybrane wzorce projektowe, które zwiększają testability: Factory, Strategy, Value Object
      4. Wprowadzenie do testowania z użyciem narzędzia Spock
      5. Code smell - "zapachy" nietestowalnego kodu
    5. Android
      1. Testowanie w środowisku Andorida
      2. Mockowanie w środowisku Androida
      3. Narzędzia, pułapki, najlepsze praktyki
      4. Tworzenie szybkich testów z wykorzystaniem biblioteki Robolectric
      5. Werbalizacja asercji z użyciem AssertJ oraz rozszerzenia AssertJ - Android
      6. Przegląd narzędzi wspomagających testowanie


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.

Zapytaj o 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ń