Wczoraj po południu użytkownicy mobilnej aplikacji mBanku dostali kilka niespodziewanych powiadomień push. Ich treść była na tyle kuriozalna, że w efekcie nastąpiło przeciążenie serwerów mBanku. To kolejna wpadka deweloperów mBanku w ciągu półtora miesiąca.
Do odważnych świat należy, czyli testowanie „na produkcji”
Nawet w małych, jednoosobowych firmach deweloperskich nowe funkcje przed udostępnieniem użytkownikom, testuje się w wyodrębnionych środowiskach, czasem zwanych „piaskownicami” (Sandbox). W dużych firmach takich wydzielonych środowisk często jest zazwyczaj kilka. Jak wiemy po przykładach, nawet bardzo rygorystyczne testy w środowiskach zamkniętych, nie dają gwarancji, że „na produkcji”, czyli podczas normalnego funkcjonowania, wszystko będzie działać zgodnie z oczekiwaniami. Jednak nie oznacza to, że można sobie pozwolić robić eksperymenty „na żywym organizmie”.
Wpadki mBanku: węszenie w schowku i powiadomienia
Miesiąc temu pisaliśmy o tym, że aplikacja mBanku odczytuje dane ze schowka zaraz po jej uruchomieniu. Dowiedzieli się o tym dopiero użytkownicy bet iOS 14, które informują o takich działaniach. Okazało się, że problem wyniknął z nieusunięcia pewnej funkcji, która służyła do diagnozy błędu w aplikacji. Po przejściu z fazy testów „na produkcję” ktoś zapomniał zmienić odpowiednie flagi lub usunąć procedurę testową.
Wczoraj znów w mBanku ktoś postanowił przetestować najprawdopodobniej kodowanie liter ze znakami diakrytycznymi. Jednak wygląda na to, że pomylił środowiska i zamiast na urządzenia testowe, dziwne powiadomienia trafiły do użytkowników w tym i do mnie. Nawet ich wczoraj nie zauważyłem w natłoku innych spraw.
U wielu użytkowników wywołały one słuszne obawy. Zaczęli oni masowo logować się na konta za pomocą WWW oraz uruchamiać aplikację. To jak w reakcji łańcuchowej przeciążyło serwery jak dobry atak DDOS. Przy okazji Niebzpiecznik, też został zaatakowany tysiącami zgłoszeń i zrzutów ekranu ze wspomnianymi powiadomieniami.
Na wesoło
Melko, się rozlało, wpadka dość poważna zaliczona, więc należy z niej jakoś wybrnąć. mBank zrobił to w sposób, który szanuję, czyli na wesoło.
Jednak pracownikowi, który odpowiada za te testy, zdecydowanie do śmiechu nie będzie.
To nie deweloperzy tylko zespół CRM. W tak dużej organizacji deweloperzy nie mają dostępu do środowisk produkcyjnych.
Serio CRM push testował? OK… o tym nie pomyślałem
No Dev na „bank” nie ma dostępu do PROD w Banku 😉 Instrukcja instalacji przekazana do Adminów zawiodła, albo Admin popełnił błąd rutynowy, nie doczytując dokładnie instrukcji od Dev 🙂