Pewnie już znasz historię o tym jak mBank testował powiadomienia push na produkcji. Jeśli jesteś na wakacjach, albo żyjesz pod kamieniem, to pisał o tym na przykład Niebezpiecznik i Jerzy Wickowski. Poza tym, że bank przeprosił swoich klientów i świetnie wykorzystał sprawę marketingowo, to do końca nie wiadomo co się stało.

 

 

Kaskada zdarzeń

Mogło to być zagranie celowe, osoba na stażu mogła nieumyślnie testować na produkcji, albo to był atak. Może doczekamy się jakiegoś podsumowania w stylu lesson learned, a może nie. Najgorsze jednak nie jest to, że wysłali swoim klientom testowe powiadomienia (według danych bankier.pl w 2019 mBank miał ponad 2 miliony użytkowników mobilnych), tylko to co stało się potem.

Ponieważ powiadomienia wyglądały podejrzanie, klienci masowo logowali się do aplikacji, żeby sprawdzić czy wszystko jest w porządku. Zabili w ten sposób serwery produkcyjne. mBank to nie jest firma, której aplikacja śmiga na laptopie prezesa, są przygotowani na wiele, ale nie na wszystko.

 

Testy (nie tylko na produkcji)

Jeśli myślisz, że testowanie na produkcji to rzadkość, to chyba nie używasz Facebooka, Twittera, Instagrama, ani Spotify. To nie jest tak, że to jest najgorsze zło. Kto nigdy nie poczuł tego dreszczyka na kręgosłupie związanego z wpadką, nie zna inżynierskiego życia 😉 Można jednak oszczędzić sobie wielu stresów uzbrajając się w testy na różnych poziomach i solidny monitoring.

Jaki jest pierwszy krok do lepszej jakości kodu jeśli nie masz żadnych testów? Testy jednostkowe. Co prawda nie uchronią Cię przed wysłaniem przypadkowych powiadomień push do milionów użytkowników, ale już przed złym zaokrągleniem kwoty transakcji mogą. Testy jednostkowe są wykorzystywane głównie do sprawdzania logiki biznesowej i są tym lepsze, im bliższe wymaganiom (a nie implementacji).

 

Warsztaty TDD

W procesie Test Driven Development uczymy się czytać ze zrozumieniem wymagania i na ich podstawie pisać testy. To na zawsze zmienia sposób, w jaki tworzymy oprogramowanie. Organizuję warsztaty TDD, ponieważ to jest najbardziej skuteczny sposób przyswojenia tego procesu. W poprzednich edycjach warsztaty zostały ocenione na 4.7! Poświęcisz dwa popołudnia, żeby zaoszczędzić sobie czasu i stresów w projekcie?

 

Kategorie: Wyzwania