.

Sprzedaż kursu trwa jeszcze tylko...

Pierwsza edycja kursu dla juniorów i midów

Android ❤️ Unit Testy 

Oto, co otrzymasz w pierwszej edycji Android Unit Testy:

  • 11 modułów – kompleksowy program nauki unit testów na Androidzie
  • dożywotni dostęp do materiałów (jeśli zechcesz przerobić kurs później, nie ma problemu – korzystasz kiedy chcesz!)
  • dostęp do aktualizacji kursu we wszystkich przyszłych edycjach
  • dostęp do społeczności ludzi, którym zależy na tworzeniu wysokiej jakości testów na Androidzie

Cena kursu w przedsprzedaży pierwszej edycji wynosi 1499zł. To mniej niż ZUS w Nowym Ładzie.

28.01.2022 kończą się zapisy do pierwszej edycji

 Same konkrety

W materiałach tekstowych i wideo znajdziesz konkretne patterny, praktyczne wskazówki. Bez lania wody.

 Grupa dla kursantów

Wsparcie od ekspertów i innych uczestników kursu. Podyskutujesz w dobrym gronie i wymienisz się doświadczeniami.

Gwarancja satysfakcji

Jeśli kurs z dowolnego powodu nie spełni Twoich oczekiwać, masz 30 dni na zwrot pieniędzy bez żadnych pytań.

Cześć, tu Jarek. Nauczę Cię pisać dobre testy na Androidzie.

Buduję aplikacje mobilne oraz pomagam firmom wdrażać rozwiązania IT.

Od 2017 roku aktywnie działam dzieląc się wiedzą na temat programowania – co roku występuję na konferencjach serii DevFest, Mobilization czy Droidcon. Udzielam się także w krakowskim środowisku Google Developer Group.
Moje wystąpienia i nadchodzące wydarzenia możesz znaleść na tej stronie.

Prowadzę bloga KotlinTesting.com – znajdziesz tam treści związane z używaniem języka Kotlin w testowaniu kodu. Dodatkowo, w ramach działalności KotlinTesting prowadzę indywidualne konsultacje dla developerów chcących podnieść swoje umiejętności w unit testach oraz wysyłam comiesięczny newsletter z twardym contentem o testowaniu na JVM

Czy testy są konieczne?

Pozwól, że opowiem Ci pewną historię. Dołączyłem kiedyś do projektu w jednej z krakowskich agencji. Nie było w projekcie w nim ani grama testów. Aplikacja działała już od jakiegoś czasu na produkcji.

Spytasz się mnie, czy zespół palił się do refaktorowania apki i wdrażania nowych funkcjonalności? Otóż nie. Nikt nie miał odwagi żeby coś zmienić, bo z każdą istotniejszą zmianą trzeba było przebudowywać aplikację, wgrywać na telefon i ręcznie klikać przeróżne scenariusze.  

Nowe ficzerki były estymowane na ogromne ilości story pointów, a niektóre poważne bugi dostawały labelkę „won’t do”. Cóż, Jira wszystko przyjmie. Psychika deweloperów niekoniecznie. Przecież tak się nie da pracować. 

Jako że byłem „nowy” w zespole i nie cały ten marazm mnie jeszcze nie dotyczył, postanowiłem coś z tym zrobić. Na początek napisałem kilka testów do najprostszych przypadków i dodałem podstawowy flow CI/CD. Tyle wystarczyło, by zespół przekonał się do pracy w ten sposób, a testów powstawało coraz więcej.

Członkowie zespołu nie bali się już refaktoru. Ficzerki dało się estymować bardziej realistycznie.   A wiesz co jest w tym najlepsze? W żadnym momencie nie zastanawialiśmy się nad tym czy w naszych estymatach uwzględniać czas potrzebny na napisanie testów, lub czy product owner „da przyzwolenie” na takie prace.

Unit testy stały się integralnym elementem dowożenia tasków i całego procesu dostarczania oprogramowania. Tak trzeba żyć.

Tak wyglądał jedyny test w projekcie.

Tworzenie unit testów nie musi być trudne. Trzeba do tego podejść dobrze.

Program kursu

Konfiguracja środowiska

Omówimy pokrótce wszelkie narzędzia z których będziemy korzystać. Zostaną tutaj zarchiwizowane wszelkie linki do frameworków i bibliotek testowych. Stworzymy pusty test, skonfigurujemy jUnit5 w androidowym projekcie i omówimy sobie struktury testów. Poznasz tutaj wzorce given-when-then i dowiesz się czy warto używać adnotacji typu @BeforeClass. Poznasz również sposoby na odpalanie testów jUnit4 i jUnit5 w obrębie jednego projektu.

Asercje bez tajemnic

Zobaczysz czym tak naprawdę są asercje, odkryjesz potencjał drzemiący w bibliotekach standardowych jUnit5, zapoznasz się z zewnętrznymi libkami do asercji i wreszcie zbudujesz własne, reużywalne metody do asercji.

Test Doubles: stuby i fake

Poznasz konkretne sposoby na tworzenie stubów z Mockito, MockK, Mockito-Kotlin, a także bez użycia frameworków. Nauczysz się jak wydajnie wykorzystywać te narzędzia, żeby mieć porządek w testach. 

Test Doubles: mocki i weryfikacje

Jak sprawdzić side effecty? Jak używać matcherów? Jak do tego wszystkiego ma się Mockito? Na te i inne pytania znajdziesz odpowiedzi w tym module. 

Testowanie use case’ów

Mając już niezbędne podstawy ze struktury testów, asercji i mockowania, stworzysz pełen test dla rzeczywistego use case’u. Omówię tutaj kilka podejść do testowania takich komponentów.

Kotlin Coroutines w testach

Coroutines stają się standardem w Androidzie. W tym module poznasz metody testowania kodu opartego o Kotlin Coroutines , także z wykorzystaniem zewnętrznych bibliotek.

RxJava

RxJava była złotym standardem zanim korutyny na dobre przejęły serca i dusze Android devów. W tych lekcjach poznasz sprawdzone sposoby na ogarnięcie kodu reaktywnego. 

ViewModele!

Poznasz filozofię stojącą za testowaniem androidowych ViewModeli. Zobaczysz jak zaplanować testy z tym komponentem i co tak naprawdę powinno się przetestować. Nauczysz się również budować testy klas wykorzystujących LiveData i StateFlow.

Model-View-Cokolwiek

Testowanie przez weryfikację metod? Albo asercje na stanie widoku? W tym module poznasz konkretne i sprawdzone sposoby na testowanie kodu zbudowanego ze wzorcami Model-View-Presenter, Model-View-Intent, a także Model-View-Cokolwiek (zobaczysz, że filozofia testowania nie różni się aż tak bardzo między różnymi implementacjami MVC)

Dirty Architecture

Prześledzimy słabo zaprojektowaną apkę, oczywiście taką bez żadnych sensownych testów. Pokażę jak w takich sytuacjach podejść do tworzenia testów i co możemy zrobić, żeby podnieść jakość w projekcie.

Moduł bonusowy – różne smaczki

W module bonusowym poznasz kilka smaczków i hacków na mniej standardowe rzeczy. Pokaże tutaj jak zamockować loggery, jak radzić sobie z datami i czasem w kodzie, a także jak ogarnąć testy dla klas wykorzystujących Context.

FAQ

Jak działa 30 dniowa gwarancja?

Jeśli z dowolnego powodu nie przypasuje Ci kurs, to dajesz mi znać mailem, a ja dokonuję zwrotu pieniędzy. Masz na to 30 dni od momentu dołączenia do kursu.

Czy otrzymam fakturę VAT?

Tak, wystarczy, że w formularzu zamówienia podasz dane firmy w odpowiednim polu. System wygeneruje fakturę, którą bez problemu wrzucisz w koszta swoje, lub swojego pracodawcy.

Nie pisałem/nie pisałam nigdy testów, czy dam radę?

Dasz radę. Zadbam o to. Opowiem od podstaw co, jak, gdzie i dlaczego. Przejdziemy pełną ścieżkę – od konfiguracji odpowiednich frameworków w projekcie po sensownie wyglądające pokrycie testami. 

Jestem seniorem, czy nauczę się czegoś nowego?

Kurs jest kierowany do osób stawiających pierwsze kroki w testach na Androidzie. Szkolenia masterclass planuję na późniejszy termin. Zapisz się tutaj, a ich nie przegapisz. 

Jestem juniorem, czy to kurs dla mnie?

Jeśli chcesz zdobyć konkretne skille i nie boisz się zagłębić w zaawansowane tematy – owszem. Jeśli jednak nie znasz jeszcze języka, możesz się pogubić. W takim wypadku odradzam zakup kursu w tym momencie.

Czy muszę znać Kotlina?

Zakładam, że pracując z Androidem zdażyło Ci się liznąć co nieco Kotlina. Podstawowa znajomość tego języka jest konieczna. Nie musisz jednak wymiatać w tej dziedzinie – będziemy używać podstawowych konstrukcji. 

Jestem iOS developerem, czy to kurs dla mnie?

Będziemy się skupiać na aspektach specyficznych dla ekosystemu Androida. Wszystkie narzędzia przedstawione w kursie mają jakiś związek z JVM. Jeśli znasz podstawy Kotlina i chcesz przenieść później te same koncepty na Swift/iOS – zapraszam. Jeśli nie masz jednak chęci zagłębiania się w środowiska JVM – odradzam.

Jestem backend developerem, czy to kurs dla mnie?

Większość przykładów będzie dotyczyć programowania na Androida, w Kotlinie. Z kursu wyniesiesz konkretne umiejętności mockowania, budowania asercji i zarządzania środowiskiem jUnit5. Nie będziemy rozmawiać o Springu, Hibernate czy też mikroserwisach. Poznasz za to uniwersalne techniki testowania komponentów w różnych wariantach MVC 

Kiedy wystartuje kurs?

Startujemy w ostatnim tygodniu stycznia 2022

Czy są szkolenia firmowe?

Są. W siedzibie Twojej firmy lub w innej dogodnej lokalizacji. Odezwij się na szkolenia@michalik.tech i dogadamy szczegóły.

Jarosław Michalik
NIP:6252464759
jarek@michalik.tech