Clean Architecture i testowanie automatyczne w środowisku Androida

Kod: android-clean
Kategoria: Android
Forma: 40% wykłady / 60% warsztaty
Czas trwania: 2 dni
Odbiorcy: developerzy
Zapisy: Indywidualne zamówienie i dopasowanie dla grupy.
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.

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

  • 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.

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.