Jak mogłyby wyglądać testy w mBanku?

Sierpień był dość pechowy dla mBanku. Najpierw testy powiadomień push na produkcji, o których już pisałam. Potem znacznie gorsza wpadka, która mocno podważyła wiarygodność oprogramowania tej firmy. Zamiast szukać winnych zastanówmy się co jako rzemieślnicy oprogramowania możemy wynieść z tej lekcji. Co zawiodło? Jak można było temu zapobiec? Jakie testy zwiększą pewność w podobnych przypadkach? Co się w ogóle stało? Ktoś na Facebooku napisał, że dostał SMSa o tym, że jego dane zostały zmienione. Po zalogowaniu się do systemu okazało się, że widnieją tam dane innej osoby. Próba interwencji na infolinii zakończyła się porażką, ponieważ dane klienta nie zostały zweryfikowane Czytaj dalej…

ęśąćż 🔥 nie regulujcie odbiorników, to tylko testy na produkcji

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 Czytaj dalej…

Czy jakość kodu jest równoważna jakości projektu?

Pewnie lubisz pisać dobry kod? Zakładam, że skoro czytasz tego bloga, to temat jakości jest Ci bliski. Bardzo mnie to cieszy! Jakość projektu to nasza wspólna sprawa.  Tylko czy my zawsze mówimy o tym samym? Czy wysoka jakość dla programistów, testerów, managerów to to samo, co dla klienta? Jeśli tak myślisz, to trochę Cię rozczaruję. Jako programistka lubię dbać o jakość kodu. Lubię kiedy mój kod jest czytelny, wykorzystuje wzorce projektowe, no i ma testy. Czuję się wtedy jak skaut, który powinien dostać order z ziemniaka za dobrze wykonaną pracę. A potem przychodzi ktoś i mi ten order depcze, bo Czytaj dalej…

Piszesz testy do wymagań biznesowych, czy do implementacji?

Zastanawiasz się czasem po co piszesz testy? Poza tym, że tak trzeba, albo tak każą… Piszesz testy, żeby sprawdzić, czy kod działa, czy żeby udowodnić, że działa? Czy testy opierają się o wymagania biznesowe, czy o implementację? Poza dopisywaniem testów do odziedziczonego kodu, powinniśmy się raczej kierować wymaganiami, niż naszą interpretacją, nie uważasz? I tutaj przychodzi nam z pomocą TDD. Nawet jeśli nie korzystasz na codzień z tej techniki, to ona jednak trochę układa w głowie. Pisząc testy przed kodem musisz opierać się o scenariusz biznesowy, bo implementacja jeszcze nie istnieje. W ten sposób lepiej projektujesz kod i skupiasz się Czytaj dalej…

Jak zapewniać jakość kiedy pracujesz zdalnie?

Wiele osób jest teraz zmuszonych do pracy zdalniej. To najczęściej jednak nie jest prawdziwa praca zdalna. Jeśli przełożeni podejrzewają, że cały Twój zespół właśnie gra w Wiedźmina, albo ogląda Dom z papieru, to znaczy, że nie ma tutaj zaufania. Jeśli każą Wam się sto razy dziennie wdzwaniać na spotkania, albo wypełniać szczegółowe raporty, żeby temu zapobiec, to nie ma tutaj zaufania. A zaufanie jest niezbędne, jeśli chcesz pracować zdalnie, zwłaszcza asynchronicznie. Zaufanie nie pojawi się od razu. Może się w Tobie rodzić frustracja. Przecież płacą Ci za wykorzystywanie swojego intelektu i swoich umiejętności, a potem sprawdzają, czy na pewno to Czytaj dalej…

Mój kod legacy. Jakie dziedzictwo tworzysz?

Kiedy przygotowywałam prezentację o jakości, wyszukiwałam różne obrazy na Pixabay. Wpisałam legacy i dostałam wiele zdjęć starych budynków, instrumentów i antycznych mebli. Słowo dziedzictwo ma raczej pozytywny przekaz. Dlaczego w IT jest inaczej? Ile osób, tyle definicji kodu legacy. Jedni mówią, że to kod bez testów. Inni, że kiepskiej jakości. Jeszcze inni, że obcy obecnemu zespołowi. Tak, czy siak, jest to kod trudny we współpracy. Nie chodzi tylko o linijki w edytorze, ale o cały ekosystem i proces wytwarzania. Często czujemy niechęć do takiego kodu, chociaż tak naprawdę w takich projektach uczymy się najwięcej. W tym podcaście możesz posłuchać, jak Czytaj dalej…