W ramach rozwijania się oglądam i czytam różne materiały. Następnie wiedzę z nich umieszczam w Anki oraz w notatkach i uzupełniam własnymi przemyśleniami. Ostatnio zapoznałem się z materiałem o tym, jak testować: Testing: Love, Hate, Love Jakuba Pilimona.
Notatka z materiału o tym, jak testować: Testing: Love, Hate, Love:
Zanotowałem z tego materiału:
- Strategie testowania:
- Testy nigdy nie są robione
- Testy psują się regularnie i są olewane przez zespół.
- Testy wstrzymują deploye.
- Jak testować:
- Wypisz wszystkie możliwe scenariusze dla danego komponentu.
- Przetestuj szczegóły implementacji, jeżeli są istotne.
- Problem: Mała zmiana w kodzie może zepsuć wiele testów. Test sprawdzał za dużo.
- Rozwiązanie: Robić testy sprawdzające decyzję i sprawdzające zachowania. I zrobić dwie klasy – jedna generuje zachowanie, a druga decyzję. Łatwiej będzie to testować.
- Problem: Do kodu dodana została kolejna zależność. W testach brakuje nowej zależności.
- Rozwiązanie: Tworzyć zależności w Setup.
- Problem: Tworząc mocki zależności, trzeba znać szczegóły implementacji.
- Rozwiązanie: Rozdzielić kod na: klasę:
- mającą wiele zależności, ale nie podejmującą decyzji,
- mającą mało zależności i podejmującą decyzję.
- Rozwiązanie: Rozdzielić kod na: klasę:
- Problem: Jeżeli jest wiele czerwonych testów po zmianie w danej klasie, to nikt nie chce jej zmieniać.
- Rozwiązanie: Bardzo możliwe, że ta klasa ma zbyt wiele odpowiedzialności (patrz Single Responsibility Principle).
- Wyjątki:
- Problem: Część programistów chce używać mocków w testach, a inni nie chcę.
- Rozwiązanie: Klasy są różnego rodzaju. Dla jednych należy mockować, a dla drugich nie należy.
- Jak testować, to z TDD:
- TDD prowadzi do dobrego designu:
- Dobre nazewnictwo.
- Istnieje kontrakt.
- Jest przetestowane.
- Łatwo refaktoryzować.
- Ale:
- Pod spodem coraz bardziej możemy odbiegać od rzeczywistości.
- Więc:
- Musimy cały czas uważać na design i pogłębiać wiedzę na temat domeny. Ponieważ nie znając domeny TDD nie uchroni nas przed napisaniem złego oprogramowania.
- TDD prowadzi do dobrego designu:
- Testy i TDD to (i programiści muszą to zrozumieć, zobaczyć i poczuć!):
- Mniej bugów.
- Lepszy kod.
- Więcej zabawy.
Wszystkie posty związane z notatkami z nauki:
- Growth hacking technologii – czyli jak uruchomić globalny startup – Notatka z nauki
- Własny biznes jako sposób na realizacje celów – Notatka z nauki
- Ten biznes nie wie czego chce ci z IT znowu skopali projekt – Notatka z nauki
- Logiczne podejście do logiki w kodzie – Notatka z nauki
- Jak uniknąć nieprzespanych nocy przy tworzeniu SaaS techniką MVP – Notatka z nauki
- Nieszablonowe podejście do automatyzacji testów bez znajomości XPath – Notatka z nauki
- Prawo podatkowe- Andrzej Paczuski – Notatka z nauki
- Wideo Marketing – Karol Modzelewski – Notatka z nauki
- Bartek Gola (Speedup) – Notatka z nauki
- Startupy duże i małe – Maciej Zieliński (Automater.pl) – Notatka z nauki
- SOCIAL MEDIA BUSINESS – Michał Szafrański – Notatka z nauki
- Inwigilacja – co muszę wiedzieć? – Maciej Broniarz – Notatka z nauki
- Adam Haertle – Bank hakerzy i system w Javie – historia pewnego włamania – Notatka z nauki
- Kamila Sidor O Geek Girls Carrots – Notatka z nauki
- Michał Szafrański – www.jakoszczedzacpieniadze.pl – Notatka z nauki
- Adam Haertle – [PL] Katalog złych praktyk – Notatka z nauki
- Ja w Social Media – Karol Paciorek – Notatka z nauki
- Rozwijamy Startupy – Paula Pul i Michał Kulka (LAWMORE) – Notatka z nauki
- Moda Uroda i Startupy – Artur Kurasiński (Fokus) – Notatka z nauki
- Bezpieczeństwo w sieci – Łukasz Bromirski i Maciej Broniarz – Notatka z nauki
- Bo to zła praktyka była (Adam Haertle) – Notatka z nauki
- Marcin Marciniak – Czego informatyka może nauczyć się od kolei – Notatka z nauki
- Uber i “Dolina Krzemowa” – Kacper Winiarczyk (Uber) – Notatka z nauki
- Helen Pryłowska “O tym czego nie widać” – Notatka z nauki
- Inwestowanie w Startupy – Bartłomiej Gola (SpeedUP Group) – Notatka z nauki
- BIG DATA Piotr Waglowski (VaGla.pl) – Notatka z nauki
- Startupy duże i małe – Łukasz Haluch (Brainly.com) – Notatka z nauki
- Tomasz Kolinko – Bulwar złamanych marzeń – Notatka z nauki
- SaaS w Polsce – blaski i cienie – Michał Sadowski – Brand24 – Notatka z nauki
- Bitcoin i inne kryptowaluty – Maciej Ołpiński – Notatka z nauki
- Ewolucja z monolitu do architektury opartej na zdarzeniach – Notatka z nauki
- Utrzymanie systemu legacy w praktyce – Notatka z nauki
- Jak się robi PR w spółkach technologicznych – Mateusz Krogulec – Notatka z nauki
- E-COMMERCE Piotr Szatybełko Piotr Płyś (Grupa Allegro) – Notatka z nauki
- Wdrożenia IT w biznesie Które mają najlepszy smak? – Notatka z nauki
- Mierzenie i analiza w biznesie – Michał Sadowski (Brand24) – Notatka z nauki
- Startup: co zrobić żeby rosnąć? – Edyta Zbroja (Idea Bank) – Notatka z nauki
- Wyzwania przed jakimi stają startupy w fazie rozwoju – Artur Bednarz – Notatka z nauki
- 12 lekcji które pozwoliły mi być ultra produktywnym — Michał Guzowski – Notatka z nauki
- Story of the green chair – Sebastian Rabiej – Notatka z nauki
- Jak zdobyć subskrypcje na YouTube – Notatka z nauki
- Schemat opracowania zakresu czynności stanowiskowych – Notatka z nauki
- Jak być bardziej zdyscyplinowanym? – Notatka z nauki
- Między Bogiem a prawdą Metafizyczne przygody roztargnionego profesora — Marek Abramowicz – Notatka z nauki
Źródła
Obraz główny
Materiał o tym, jak testować: Testing: Love, Hate, Love:
Sorry, there was a YouTube error.