Trzy kroki do lepszego TDD

Ostatnie dni upłynęły mi pod znakiem Test Driven Development (TDD). Kiedyś poświęciłam dużo czasu na doskonalenie tego procesu. Wykorzystywałam go nawet poza Coding Dojo. Kiedy oswoisz się już z traktowaniem testów jak obywateli pierwszej kategorii, starasz się to stosować wszędzie. Oczywiście z biegiem czasu ten proces ewoluuje, robisz pewne uproszczenia i skróty. Kiedy chciałam pokazać to na żywo, musiałam znów wrócić do zasad, żeby moje skrzywienia nie wpłynęły na czyjąś naukę.   Wyzwania Najpierw przez pięć dni codziennie organizowałam webinary, na których prezentowałam rozwiązanie innego kata. Ludzie, którzy pojawiali się na webinarach dużo wnosili w sam proces. Byli suflerami, którzy Read more…

Te 3 rzeczy pomogą Ci przyspieszyć pisanie testów!

Czy wiesz jak pisać testy szybciej? Możesz iść na kurs szybkiego pisania… możesz też spróbować tych trzech rzeczy:   1. Używaj wyłącznie klawiatury. Jeśli jesteś jak ja, to uczysz się skrótów klawiszowych, a potem coraz częściej sięgasz po mysz i zapominasz większość skrótów… Ostatnio z pomocą przychodzi mi Key Promoter. To wtyczka do IntelliJ, która dba o to, żebym używała więcej klawiatury. To naprawdę działa! Na początku wszystko trwa dwa razy dłużej, ale jak się nabiera wprawy, to tworzenie kodu i refaktoryzacja idą dużo szybciej. No i dla człowieka z boku wygląda to bardziej pro 😉   2. Generuj jak Read more…

Piszemy testy do open source – podsumowanie wyzwania

W ubiegłym tygodniu ponad 300 osób pisało testy i kod dla projektów open source oraz uczyło się dobrych praktyk. Pod okiem 7 mentorów i dwóch ekspertów domenowych spora grupa stawiała swoje pierwsze kroki w tym świecie.   Jak to się stało? Wszystko zaczęło się od pomysłu. Wystarczająco szalonego, żeby chciało się go robić i wystarczająco realnego, żeby ktokolwiek chciał do niego dołączyć. Kiedy przekułam pomysł w plan, napisałam do osób, które uważam za świetnych specjalistów i fajnych ludzi. To drugie jest równie ważne jak to pierwsze. Podczas wyzwania ludzie szybko się poddają, jeśli dostają w twarz jedynie “konstruktywną” informacją zwrotną. Read more…

Jaki jest koszt programistycznych decyzji?

Poznajesz nową bibliotekę, nowy framework, uczysz się nowego podejścia do architektury. Wydaje się, że będzie pasować do Twojego projektu. Przekonujesz zespół, namawiasz “biznes” i wprowadzacie to z sukcesem na produkcję. Leje się szampan, klepiecie się plecach. Dla takich dni warto było przewalać ten cały kod legacy przez lata.   Rok później Potem zmieniają się trendy, połowa zespołu odeszła do innych projektów, ktoś inny jest zainspirowany wystąpieniem na konferencji. Społeczność przestała się interesować zeszłorocznym skarbem i coraz mniej udziela się w tym temacie na StackOverflow. Co teraz?Macie dwie drogi. Albo znów rzucicie się na coś nowego ku zadowoleniu całego zespołu, albo Read more…

Masz “prawdo jazdy” na pisanie testów. Co dalej?

Na swojej drodze do doskonalenia testów można zdobywać wiedzę na różne sposoby. Można czytać książki, oglądać prezentacje, kończyć kursy i zdobywać certyfikaty. Jednak najważniejsze jest to, co dzieje się później. Zdobycie wiedzy teoretycznej na temat testów i poprzestanie na tym jest jak zrobienie prawa jazdy i wrzucenie go do szuflady. Po jakim czasie zapomnisz, jak się jeździ?   Trening czyni mistrza! Nie tak dawno zdawałam egzamin na prawo jazdy kategorii A i odkryłam, że dokument prawa jazdy pozwala na rozpoczęcie nauki, a nie jej zakończenie. Podobnie jest z większością książek technicznych. Przykładowo czerwona książka do Scali (jedna z najlepszych jakie Read more…

Jakich testów powinno być najwięcej?

Pewnie znasz piramidę testów. Według niej testów jednostkowych powinno być w projekcie najwięcej. Mniej powinno być integracyjnych, a najmniej end-to-end (e2e) ze względu na koszt tworzenia i utrzymania. Jest to dość logiczne podejście. Testy jednostkowe są tanie i proste. Dają bardzo szybką informację zwrotną. Można je też wykonywać lokalnie bez stawiania środowiska testowego, czy łączenia się z zewnętrznymi serwisami. Testy wyższego rzędu są nieco droższe i nie powinny być nadużywane. Czy to jest święta prawda każdego projektu?   Rysunek pochodzi z bloga Maćka Gajdzicy, który pisze o systemach embeded. Polecam jego artykuły i wystąpienia!!   Testy jednostkowe Testy jednostkowe sprawdzają odizolowaną funkcjonalność. Nie Read more…