Testy jednostkowe. Świat niezawodnych aplikacji. Wydanie II
- Autor:
- Roy Osherove
- Wydawnictwo:
- Helion
- Wydawnictwo:
- Helion
- Ocena:
- 4.5/6 Opinie: 11
- Stron:
- 320
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
![Wyłącznie](https://static01.helion.com.pl/ebookpoint/img/img_wylacznie.png)
Opis ebooka: Testy jednostkowe. Świat niezawodnych aplikacji. Wydanie II
Poznaj możliwości testów jednostkowych!
System informatyczny to inteligentne połączenie modułów i zależności, otoczone setkami tysięcy, a nawet milionami linii kodu źródłowego. Zmiana w jednym obszarze może mieć fatalny wpływ na działanie systemu w zupełnie innym miejscu. Ta zależność prowadzi do ogromnych kosztów wprowadzenia nawet najdrobniejszej zmiany w oprogramowaniu. Czy istnieje rozwiązanie tego problemu? Jak stworzyć system, w którym błyskawiczna weryfikacja lub wprowadzona zmiana nie spowodują nowych błędów w innej części? Oczywiście, że można to zrobić! Odpowiedzią na te i wiele innych problemów są testy automatyczne.
Ten przewodnik to doskonała okazja, by głębiej poznać temat testów jednostkowych. Jeżeli uważasz, że ich pisanie jest uciążliwe, czasochłonne, trudne lub po prostu nie wiesz, jak je tworzyć, ta książka rozwiąże wszystkie Twoje problemy! W trakcie lektury dowiesz się, jak pisać testy, tworzyć zestawy testowe oraz przygotowywać makiety i namiastki. Poznasz narzędzia Moq, FakeItEasy oraz Typemock Isolator. Ponadto zdobędziesz wiedzę na temat organizacji testów oraz strategii testowania kodu odziedziczonego. Książka ta jest obowiązkową lekturą dla wszystkich programistów C# szukających świetnego przewodnika po świecie testów jednostkowych!
Dzięki tej książce:
- rozwiejesz swoje wątpliwości dotyczące testów
- poznasz najpopularniejsze narzędzia wspomagające testowanie
- zorganizujesz swoje testy jednostkowe
- zapoznasz się z kluczowymi elementami dobrych testów
- stworzysz niezawodny i tani w utrzymaniu kod
Niezawodny kod jest w Twoim zasięgu!
Wiesz, że powinieneś pisać testy jednostkowe, więc dlaczego tego nie robisz? Jeśli jesteś nowicjuszem w dziedzinie testów jednostkowych, jeśli uważasz, że testowanie jednostkowe jest uciążliwe lub jeśli po prostu nie widzisz wystarczających korzyści, aby poświęcać na nie czas, przeczytaj tę książkę.
Drugie wydanie książki Testy jednostkowe. Świat niezawodnych aplikacji. Wydanie II prowadzi Czytelnika krok po kroku, od pisania pierwszych, prostych testów jednostkowych do budowania kompletnych zestawów testów, które są łatwe w utrzymaniu, czytelne i wiarygodne. Szybko przejdziesz do bardziej skomplikowanych zagadnień takich, jak makiety i namiastki, a jednocześnie nauczysz się korzystania z frameworków izolacji (makiet) takich, jak Moq, FakeItEasy i Typemock Isolator. Zapoznasz się z wzorcami testów i ich organizacją, aplikacjami do refaktoryzacji kodu, a także dowiesz się, w jaki sposób przetestować kod, który jest „niesprawdzalny”. Po drodze zapoznasz się z testowaniem integracyjnym oraz poznasz techniki przeprowadzania testów z bazami danych.
W tej książce omówiono następujące tematy:
- Tworzenie czytelnych, łatwych w utrzymaniu i wiarygodnych testów jednostkowych
- Sztuczne obiekty, namiastki, makiety oraz frameworki izolacji
- framework
- Proste techniki wstrzykiwania zależności
- Refaktoryzacja kodu odziedziczonego
Przykłady w książce zostały napisane w C#, ale może z nich skorzystać każdy, kto używa języka o typach statycznych takiego, jak Java lub C++.
Roy Osherove jest programistą z ponad 15-letnim doświadczeniem. Pracuje jako konsultant i przeprowadza szkolenia z zespołami programistów na całym świecie w zakresie delikatnej sztuki testów jednostkowych oraz projektowania sterowanego testami. Prowadzi blog pod adresem ArtOfUnitTesting.com.
„Ta książka jest czymś wyjątkowym. Kolejne rozdziały krok po kroku tworzą całość o zaskakującej głębi. Przygotuj się na ucztę”.Fragment słowa wstępnego Roberta C. Martina,
cleancoder.com
„Najlepszy sposób na nauczenie się testów jednostkowych — z książki, która należy do klasyki w tej dziedzinie”.Raphael Faria,
LG Electronics
„Książka uczy filozofii, jak również szczegółów dotyczących skutecznego pisania testów jednostkowych”.Pradeep Chellappan,
Microsoft
„Kiedy członkowie mojego zespołu zapytają mnie, jak należy pisać prawidłowe testy jednostkowe, po prostu odpowiem im: Przeczytajcie tę książkę!”Alessandro Campeis,
Vimar SpA
„Najlepsze źródło wiedzy o testach jednostkowych”.Kaleb Pederson,
Next IT Corporation
![Summer BOOOK FEST / Ebooki -50%, książki -40%, audiobooki po 12,90zł](https://static01.helion.com.pl/ebookpoint/img/promocje/bannery/19761/Ebp_summer_book_fest_2024_Sonia_d910d93e4_1180x419_.png)
Wybrane bestsellery
-
Dzięki tej książce dowiesz się, jak pozyskiwać, analizować i wizualizować dane, a potem używać ich do rozwiązywania problemów biznesowych. Wystarczy, że znasz podstawy Pythona i matematyki na poziomie liceum, aby zacząć stosować naukę o danych w codziennej pracy. Znajdziesz tu szereg praktycznych...
Data science i Python. Stawianie czoła najtrudniejszym wyzwaniom biznesowym Data science i Python. Stawianie czoła najtrudniejszym wyzwaniom biznesowym
(44.85 zł najniższa cena z 30 dni)41.40 zł
69.00 zł(-40%) -
Ta książka zawiera szereg praktycznych wskazówek dotyczących przygotowania, przeprowadzania i oceniania wyników kontrolowanych eksperymentów online. Dzięki niej nauczysz się stosować naukowe podejście do formułowania założeń i oceny hipotez w testach A/B, dowiesz się także, jak sprawdzać wiarygod...
Kontrolowane eksperymenty online. Praktyczny przewodnik po testach A/B Kontrolowane eksperymenty online. Praktyczny przewodnik po testach A/B
(51.35 zł najniższa cena z 30 dni)47.40 zł
79.00 zł(-40%) -
Dzięki tej książce poznasz od podstaw Gita i GitLaba. Dowiesz się, jak skonfigurować runnery GitLaba, a także jak tworzyć i konfigurować potoki dla różnych etapów cyklu rozwoju oprogramowania. Poznasz zasady interpretacji wyników potoków w GitLabie. Nauczysz się też wdrażania kodu w różnych środo...
Automatyzacja metodyki DevOps za pomocą potoków CI/CD GitLaba. Buduj efektywne potoki CI/CD do weryfikacji, zabezpieczenia i wdrażania kodu, korzystając z rzeczywistych przykładów Automatyzacja metodyki DevOps za pomocą potoków CI/CD GitLaba. Buduj efektywne potoki CI/CD do weryfikacji, zabezpieczenia i wdrażania kodu, korzystając z rzeczywistych przykładów
(51.35 zł najniższa cena z 30 dni)47.40 zł
79.00 zł(-40%) -
Ta książka wyjaśni Ci rolę matematyki w tworzeniu, renderowaniu i zmienianiu wirtualnych środowisk 3D, a ponadto pozwoli odkryć tajemnice najpopularniejszych dzisiaj silników gier. Za sprawą licznych praktycznych ćwiczeń zorientujesz się, co się kryje za rysowaniem linii i kształtów graficznych, ...
Matematyka w programowaniu gier i grafice komputerowej. Tworzenie i renderowanie wirtualnych środowisk 3D oraz praca z nimi Matematyka w programowaniu gier i grafice komputerowej. Tworzenie i renderowanie wirtualnych środowisk 3D oraz praca z nimi
(57.84 zł najniższa cena z 30 dni)53.40 zł
89.00 zł(-40%) -
ChatGPT, chatbot opracowany i udostępniony przez firmę OpenAI, szybko stał się obiektem zainteresowania internautów na całym świecie — i na nowo wzbudził gorące dyskusje wokół sztucznej inteligencji. Ludzie mediów prześcigają się w skrajnych wizjach, jedni podchodzą do tematu entuzjastyczni...(10.95 zł najniższa cena z 30 dni)
10.95 zł
21.90 zł(-50%) -
Mam wrażenie, że wokół sieci neuronowych narosło wiele mitów. Nawet niektórzy starsi członkowie mojej rodziny na hasło "sztuczna inteligencja" robią posępną minę, niezależnie od tego, czy mowa jest o generowaniu obrazów czy - na przykład - o rozpoznawaniu odręcznego pisma czy też tłumaczeniu teks...(24.57 zł najniższa cena z 30 dni)
24.57 zł
28.90 zł(-15%) -
Tę książkę docenią przede wszystkim inżynierowie oprogramowania, programiści i administratorzy systemów, którzy muszą szybko zrozumieć praktyki DevOps. Znajdziesz tu bezcenną wiedzę, która ułatwi Ci efektywną pracę z nowoczesnym stosem aplikacji i sprawne przystąpienie do zadań związanych z DevOp...
DevOps dla zdesperowanych. Praktyczny poradnik przetrwania DevOps dla zdesperowanych. Praktyczny poradnik przetrwania
(40.20 zł najniższa cena z 30 dni)40.20 zł
67.00 zł(-40%) -
Pytest – nowoczesny framework do uruchamiania testów automatycznych w języku Python. Można używać tej platformy do przeprowadzania testów jednostkowych, ale sprawdzi się świetnie także podczas konstruowania rozbudowanych testów wyższego poziomu (integracyjnych, end-to-end) dla całych aplika...
Pytest. Kurs video. Automatyzacja testów w Pythonie Pytest. Kurs video. Automatyzacja testów w Pythonie
(67.05 zł najniższa cena z 30 dni)81.95 zł
149.00 zł(-45%) -
Książkę szczególnie docenią analitycy bezpieczeństwa, którzy chcą się zapoznać z zestawem poleceń ARM i zdobyć wiedzę umożliwiającą im efektywne korzystanie z technik inżynierii wstecznej. Poza zestawem potrzebnych poleceń znalazło się w niej mnóstwo przydatnych informacji. Znajdziesz tu przegląd...
Niebieski lis. Polecenia procesorów Arm i inżynieria wsteczna Niebieski lis. Polecenia procesorów Arm i inżynieria wsteczna
(53.40 zł najniższa cena z 30 dni)53.40 zł
89.00 zł(-40%) -
Jeśli w swojej pracy masz lub miewasz do czynienia z danymi, z pewnością orientujesz się, że do tego celu stworzono dotąd całkiem sporo narzędzi. Nic dziwnego – przy tej liczbie danych, z jaką spotykamy się w dzisiejszym cyfrowym świecie, zdolność do ich sprawnego analizowania i wyciągania ...
Grafana. Kurs video. Monitorowanie, analiza i wizualizacja danych w czasie rzeczywistym Grafana. Kurs video. Monitorowanie, analiza i wizualizacja danych w czasie rzeczywistym
(39.90 zł najniższa cena z 30 dni)62.55 zł
139.00 zł(-55%)
Ebooka "Testy jednostkowe. Świat niezawodnych aplikacji. Wydanie II" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Testy jednostkowe. Świat niezawodnych aplikacji. Wydanie II" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Testy jednostkowe. Świat niezawodnych aplikacji. Wydanie II" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- Tytuł oryginału:
- The Art of Unit Testing: With Examples in .NET, 2nd Edition
- Tłumaczenie:
- Radosław Meryk
- ISBN Książki drukowanej:
- 978-83-246-8774-9, 9788324687749
- Data wydania książki drukowanej:
- 2014-08-29
- ISBN Ebooka:
- 978-83-246-8777-0, 9788324687770
- Data wydania ebooka:
-
2014-08-29
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 168x237
- Numer z katalogu:
- 20678
- Rozmiar pliku Pdf:
- 5.6MB
- Rozmiar pliku ePub:
- 6.4MB
- Rozmiar pliku Mobi:
- 13.8MB
- Pobierz przykładowy rozdział PDF
Spis treści ebooka
- 1.1. Definicja testu jednostkowego krok po kroku (28)
- 1.1.1. Dlaczego ważne jest pisanie "dobrych" testów jednostkowych (29)
- 1.1.2. Wszyscy piszemy testy jednostkowe (w pewnym sensie) (30)
- 1.2. Właściwości dobrego testu jednostkowego (31)
- 1.3. Testy integracyjne (31)
- 1.3.1. Wady niezautomatyzowanych testów integracyjnych w porównaniu z automatycznymi testami jednostkowymi (33)
- 1.4. Co sprawia, że test jednostkowy jest dobry (36)
- 1.5. Prosty przykład testu jednostkowego (37)
- 1.6. Wytwarzanie oprogramowania sterowane testami (40)
- 1.7. Trzy zasadnicze umiejętności potrzebne do skutecznego stosowania technik TDD (43)
- 1.8. Podsumowanie (44)
- 2.1. Frameworki testów jednostkowych (46)
- 2.1.1. Co oferują frameworki testów jednostkowych (46)
- 2.1.2. Frameworki xUnit (49)
- 2.2. Wprowadzenie w tematykę projektu LogAn (49)
- 2.3. Pierwsze kroki z NUnit (49)
- 2.3.1. Instalacja frameworka NUnit (50)
- 2.3.2. Ładowanie rozwiązania (51)
- 2.3.3. Wykorzystanie atrybutów NUnit w kodzie (54)
- 2.4. Piszemy pierwszy test (55)
- 2.4.1. Klasa Assert (55)
- 2.4.2. Uruchomienie pierwszego testu za pomocą frameworka NUnit (56)
- 2.4.3. Dodanie testów pozytywnych (58)
- 2.4.4. Od czerwonego do zielonego: dążenie do spełnienia testów (59)
- 2.4.5. Styl kodu testów (59)
- 2.5. Refaktoryzacja w kierunku testów z parametrami (59)
- 2.6. Więcej atrybutów NUnit (62)
- 2.6.1. Atrybuty Setup i TearDown (62)
- 2.6.2. Testowanie występowania oczekiwanych wyjątków (65)
- 2.6.3. Ignorowanie testów (67)
- 2.6.4. Składnia fluent frameworka NUnit (68)
- 2.6.5. Ustawianie kategorii testowych (69)
- 2.7. Testowanie wyników metod, które nie zwracają wartości, tylko zmieniają stan systemu (70)
- 2.8. Podsumowanie (74)
- 3.1. Wprowadzenie w tematykę namiastek (77)
- 3.2. Identyfikacja zależności od systemu plików w klasie LogAnalyzer (78)
- 3.3. Określenie sposobu łatwego testowania klasy LogAnalyzer (79)
- 3.4. Refaktoryzacja projektu w celu ułatwienia testowania (82)
- 3.4.1. Wyodrębnienie interfejsu umożliwiającego zastąpienie istniejącej implementacji (84)
- 3.4.2. Wstrzykiwanie zależności: wstrzyknięcie sztucznej implementacji do testowanej jednostki (86)
- 3.4.3. Wstrzyknięcie sztucznego obiektu na poziomie konstruktora (86)
- 3.4.4. Symulowanie wyjątków z poziomu sztucznych obiektów (90)
- 3.4.5. Wstrzyknięcie sztucznego obiektu za pomocą gettera lub settera właściwości (91)
- 3.4.6. Wstrzyknięcie sztucznego obiektu bezpośrednio przed wywołaniem metody (93)
- 3.5. Odmiany technik refaktoryzacji (100)
- 3.5.1. Wykorzystanie techniki "wyodrębnij i przesłoń" do tworzenia sztucznych wyników (100)
- 3.6. Pokonanie problemu hermetyzacji (102)
- 3.6.1. Korzystanie ze składowych internal oraz atrybutu [InternalsVisibleTo] (103)
- 3.6.2. Wykorzystanie atrybutu [Conditional] (103)
- 3.6.3. Korzystanie z dyrektyw #if i #endif do warunkowej kompilacji (104)
- 3.7. Podsumowanie (104)
- 4.1. Testy bazujące na wartości, testy bazujące na stanach a testy integracyjne (108)
- 4.2. Różnica pomiędzy obiektami-makietami a namiastkami (110)
- 4.3. Napisany ręcznie prosty przykład obiektu-makiety (111)
- 4.4. Wykorzystywanie obiektów-makiet razem z namiastkami (114)
- 4.5. Jedna makieta na test (118)
- 4.6. Łańcuch sztucznych obiektów: namiastki, które generują makiety lub inne namiastki (119)
- 4.7. Problemy z pisanymi ręcznie makietami i namiastkami (120)
- 4.8. Podsumowanie (121)
- 5.1. Dlaczego stosujemy frameworki izolacji? (124)
- 5.2. Dynamiczne tworzenie sztucznych obiektów (126)
- 5.2.1. Wykorzystanie frameworka NSubstitute w testach (126)
- 5.2.2. Zastąpienie sztucznego obiektu napisanego ręcznie obiektem dynamicznym (127)
- 5.3. Symulacja sztucznych wartości (130)
- 5.3.1. Wprowadzamy do testu makietę razem z namiastką (131)
- 5.4. Testowanie działań związanych ze zdarzeniami (136)
- 5.4.1. Testowanie obiektu nasłuchującego zdarzenia (136)
- 5.4.2. Testowanie, czy zostało wyzwolone zdarzenie (138)
- 5.5. Współczesne frameworki izolacji dla środowiska .NET (138)
- 5.6. Zalety i pułapki frameworków izolacji (140)
- 5.6.1. Pułapki, których należy unikać w przypadku korzystania z frameworków izolacji (140)
- 5.6.2. Nieczytelny kod testu (141)
- 5.6.3. Weryfikacja niewłaściwych rzeczy (141)
- 5.6.4. Więcej niż jedna makieta w teście (141)
- 5.6.5. Nadspecyfikacja testów (141)
- 5.7. Podsumowanie (142)
- 6.1. Frameworki ograniczone i nieograniczone (146)
- 6.1.1. Frameworki ograniczone (146)
- 6.1.2. Frameworki nieograniczone (146)
- 6.1.3. Jak działają nieograniczone frameworki bazujące na profilerze (148)
- 6.2. Wartość dobrych frameworków izolacji (151)
- 6.3. Własności wspierające długowieczność i użyteczność (152)
- 6.3.1. Imitacje rekurencyjne (152)
- 6.3.2. Domyślne ignorowanie argumentów (153)
- 6.3.3. Rozległe imitacje (153)
- 6.3.4. Nieścisłe zachowania sztucznych obiektów (154)
- 6.3.5. Nieścisłe makiety (154)
- 6.4. Antywzorce projektowe frameworków izolacji (155)
- 6.4.1. Mylące pojęcia (155)
- 6.4.2. Zarejestruj i odtwórz (156)
- 6.4.3. Lepkie zachowania (158)
- 6.4.4. Złożona składnia (158)
- 6.5. Podsumowanie (159)
- 7.1. Testy uruchamiane w ramach automatycznych kompilacji (164)
- 7.1.1. Anatomia skryptu kompilacji (165)
- 7.1.2. Inicjowanie kompilacji i integracji (167)
- 7.2. Klasyfikacja testów na podstawie szybkości i typu (168)
- 7.2.1. Czynnik ludzki oddzielenia testów jednostkowych od testów integracyjnych (169)
- 7.2.2. Bezpieczna zielona strefa (170)
- 7.3. Zadbanie o umieszczenie testów w repozytorium z kodem źródłowym (171)
- 7.4. Odwzorowanie klas testowych na testowany kod (171)
- 7.4.1. Odwzorowanie testów na projekty (171)
- 7.4.2. Odwzorowanie testów na klasy (172)
- 7.4.3. Odwzorowanie testów na punkty wejścia metod konkretnych jednostek pracy (173)
- 7.5. Wstrzykiwanie zależności cross-cutting (173)
- 7.6. Budowanie API obsługi testów dla aplikacji (176)
- 7.6.1. Wykorzystanie wzorców dziedziczenia w klasach testowych (176)
- 7.6.2. Tworzenie narzędziowych klas i metod obsługi testów (189)
- 7.6.3. Zapoznanie deweloperów ze stworzonym API (190)
- 7.7. Podsumowanie (191)
- 8.1. Pisanie wiarygodnych testów (194)
- 8.1.1. Decydowanie o tym, kiedy należy usunąć lub zmodyfikować testy (194)
- 8.1.2. Unikanie logiki w testach (199)
- 8.1.3. Testowanie tylko jednego aspektu (201)
- 8.1.4. Oddzielenie testów jednostkowych od integracyjnych (202)
- 8.1.5. Zapewnienie przeglądów kodu (203)
- 8.2. Pisanie testów łatwych w utrzymaniu (205)
- 8.2.1. Testowanie metod prywatnych lub chronionych (205)
- 8.2.2. Usuwanie duplikatów (207)
- 8.2.3. Korzystanie z metod konfiguracyjnych w sposób ułatwiający utrzymanie (210)
- 8.2.4. Wymuszanie izolacji testu (213)
- 8.2.5. Unikanie wielu asercji dotyczących różnych aspektów (220)
- 8.2.6. Porównywanie obiektów (222)
- 8.2.7. Unikanie nadmiernej specyfikacji (225)
- 8.3. Pisanie czytelnych testów (227)
- 8.3.1. Nazwy testów jednostkowych (227)
- 8.3.2. Nazwy zmiennych (228)
- 8.3.3. Dobre komunikaty asercji (229)
- 8.3.4. Oddzielenie asercji od akcji (230)
- 8.3.5. Konfigurowanie i rozbiórka (231)
- 8.4. Podsumowanie (231)
- 9.1. Jak zostać agentem zmian? (236)
- 9.1.1. Bądź przygotowany na trudne pytania (236)
- 9.1.2. Przekonaj inne osoby z organizacji: mistrzów i oponentów (236)
- 9.1.3. Określenie możliwych punktów wejścia (237)
- 9.2. Sposoby na odniesienie sukcesu (239)
- 9.2.1. Wdrożenie po partyzancku (dół-góra) (239)
- 9.2.2. Przekonanie kierownictwa (góra-dół) (240)
- 9.2.3. Mistrz z zewnątrz (240)
- 9.2.4. Zadbanie o widoczność postępów (241)
- 9.2.5. Dążenie do konkretnych celów (242)
- 9.2.6. Uświadomienie sobie istnienia przeszkód (244)
- 9.3. Czynniki wpływające na porażkę (244)
- 9.3.1. Brak siły napędowej (245)
- 9.3.2. Brak politycznego wsparcia (245)
- 9.3.3. Złe implementacje i pierwsze wrażenia (245)
- 9.3.4. Brak wsparcia ze strony zespołu (246)
- 9.4. Czynniki wpływające na zachowania członków zespołu (246)
- 9.5. Trudne pytania i odpowiedzi (248)
- 9.5.1. Ile dodatkowego czasu będzie trzeba poświęcić? (248)
- 9.5.2. Czy ze względu na wprowadzenie testów jednostkowych będzie zagrożone moje stanowisko inżyniera jakości? (250)
- 9.5.3. Skąd wiemy, że testy jednostkowe się sprawdzają? (250)
- 9.5.4. Czy istnieje dowód, że testy jednostkowe pomagają? (251)
- 9.5.5. Dlaczego dział kontroli jakości ciągle znajduje błędy? (251)
- 9.5.6. Istnieje mnóstwo kodu, dla którego nie ma testów. Od czego zacząć? (252)
- 9.5.7. Kodujemy w kilku językach 3 czy testy jednostkowe są wykonalne? (252)
- 9.5.8. Co zrobić, jeśli produkt obejmuje kombinację oprogramowania i sprzętu? (253)
- 9.5.9. Skąd możemy wiedzieć, że nie ma błędów w testach? (253)
- 9.5.10. Debuger pokazuje, że mój kod działa 3 do czego są mi potrzebne testy? (253)
- 9.5.11. Czy trzeba stosować kodowanie w stylu TDD? (253)
- 9.6. Podsumowanie (254)
- 10.1. Od czego należy zacząć przy dodawaniu testów? (256)
- 10.2. Wybór strategii selekcji (258)
- 10.2.1. Plusy i minusy strategii "najpierw łatwe" (258)
- 10.2.2. Plusy i minusy strategii "najpierw trudne" (259)
- 10.3. Pisanie testów integracyjnych przed refaktoryzacją (259)
- 10.4. Ważne narzędzia do testów jednostkowych odziedziczonego kodu (261)
- 10.4.1. Łatwe izolowanie zależności za pomocą frameworków izolacji bez ograniczeń (261)
- 10.4.2. Wykorzystanie programu JMockit do pracy z kodem odziedziczonym w Javie (262)
- 10.4.3. Wykorzystanie programu Vise do refaktoryzacji kodu w Javie (264)
- 10.4.4. Przeprowadzenie testów akceptacyjnych przed refaktoryzacją (265)
- 10.4.5. Przeczytaj książkę Michaela Feathersa na temat pracy z kodem odziedziczonym (266)
- 10.4.6. Wykorzystanie programu NDepend do analizy kodu produkcyjnego (266)
- 10.4.7. Wykorzystanie programu ReSharper do refaktoryzacji i poruszania się po kodzie produkcyjnym (267)
- 10.4.8. Wykrywanie powielonego kodu (oraz błędów) za pomocą narzędzi Simian i TeamCity (267)
- 10.5. Podsumowanie (268)
- 11.1. Dlaczego należy dbać o sprawdzalność podczas projektowania? (269)
- 11.2. Sprawdzalność jako cel projektowy (270)
- 11.2.1. Domyślne stosowanie metod wirtualnych (271)
- 11.2.2. Projekt bazujący na interfejsach (272)
- 11.2.3. Domyślne stosowanie klas niezapieczętowanych (272)
- 11.2.4. Unikanie tworzenia egzemplarzy klas skonkretyzowanych wewnątrz metod zawierających logikę (272)
- 11.2.5. Unikanie bezpośrednich wywołań do metod statycznych (273)
- 11.2.6. Unikanie konstruktorów lub konstruktorów statycznych zawierających logikę (273)
- 11.2.7. Oddzielenie logiki singletona od posiadaczy singletona (274)
- 11.3. Plusy i minusy projektowania z myślą o sprawdzalności (275)
- 11.3.1. Ilość pracy (276)
- 11.3.2. Złożoność (276)
- 11.3.3. Eksponowanie wrażliwych IP (277)
- 11.3.4. Czasami nie można (277)
- 11.4. Alternatywy dla projektowania z myślą o sprawdzalności (277)
- 11.4.1. Dyskusje o projektach i języki o dynamicznych typach (277)
- 11.5. Przykład projektu trudnego do testowania (279)
- 11.6. Podsumowanie (283)
- 11.7. Dodatkowe materiały (284)
- A.1. Frameworki izolacji (288)
- A.2. Frameworki testów (292)
- A.3. API testów (296)
- A.4. Kontenery IoC (299)
- A.5. Testowanie baz danych (302)
- A.6. Testowanie stron WWW (303)
- A.7. Testowanie interfejsu użytkownika (w aplikacjach desktop) (305)
- A.8. Testowanie aplikacji wielowątkowych (306)
- A.9. Testy akceptacyjne (306)
- A.10. Frameworki API w stylu BDD (308)
Słowo wstępne do drugiego wydania (11)
Słowo wstępne do pierwszego wydania (13)
Przedmowa (15)
Podziękowania (17)
O tej książce (19)
O ilustracji na okładce (24)
CZĘŚĆ I. ZACZYNAMY (25)
Rozdział 1. Podstawowe informacje o testach jednostkowych (27)
Rozdział 2. Pierwszy test jednostkowy (45)
CZĘŚĆ II. PODSTAWOWE TECHNIKI (75)
Rozdział 3. Wykorzystanie namiastek do rozwiązywania zależności (77)
Rozdział 4. Testowanie interakcji z wykorzystaniem obiektów-makiet (107)
Rozdział 5. Frameworki izolacji (123)
Rozdział 6. Bardziej zaawansowane zagadnienia związane z frameworkami izolacji (145)
CZĘŚĆ III. KOD TESTU (161)
Rozdział 7. Hierarchie testów i ich organizacja (163)
Rozdział 8. Filary dobrych testów jednostkowych (193)
CZĘŚĆ IV. PROJEKTOWANIE I PROCES (233)
Rozdział 9. Wdrażanie testów jednostkowych w organizacji (235)
Rozdział 10. Praca z kodem odziedziczonym (255)
Rozdział 11. Projekt a sprawdzalność (269)
Dodatek A. Narzędzia i frameworki (287)
Skorowidz (309)
Helion - inne książki
-
Dzięki tej świetnie napisanej, miejscami przezabawnej książce dowiesz się, na czym naprawdę polega testowanie granic bezpieczeństwa fizycznego. To fascynująca relacja o sposobach wynajdywania niedoskonałości zabezpieczeń, stosowania socjotechnik i wykorzystywania słabych stron ludzkiej natury. Wy...(38.35 zł najniższa cena z 30 dni)
35.40 zł
59.00 zł(-40%) -
Współpraca z ChatGPT wymaga pewnego przygotowania. Niewątpliwą zaletą tej technologii jest to, że można się z nią porozumieć za pomocą języka naturalnego ― takiego, jakim komunikujemy się ze sobą na co dzień. Rzecz w tym, by nauczyć się w odpowiedni sposób zadawać pytania i wydawać poleceni...(32.43 zł najniższa cena z 30 dni)
29.94 zł
49.90 zł(-40%) -
To czwarte, zaktualizowane wydanie znakomitego przewodnika poświęconego zastosowaniu uczenia maszynowego do rozwiązywania rzeczywistych problemów w analizie danych. Dzięki książce dowiesz się wszystkiego, co trzeba wiedzieć o wstępnym przetwarzaniu danych, znajdowaniu kluczowych spostrzeżeń, prog...
Uczenie maszynowe w języku R. Tworzenie i doskonalenie modeli - od przygotowania danych po dostrajanie, ewaluację i pracę z big data. Wydanie IV Uczenie maszynowe w języku R. Tworzenie i doskonalenie modeli - od przygotowania danych po dostrajanie, ewaluację i pracę z big data. Wydanie IV
(83.40 zł najniższa cena z 30 dni)83.40 zł
139.00 zł(-40%) -
Dzięki tej książce łatwo przyswoisz teoretyczne podstawy i zaczniesz je płynnie wdrażać w rzeczywistych scenariuszach. Dowiesz się, w jaki sposób myślenie przyczynowe ułatwia rozwiązywanie problemów, i poznasz pojęcia Pearla, takie jak strukturalny model przyczynowy, interwencje, kontrfakty itp. ...
Wnioskowanie i związki przyczynowe w Pythonie. Nowoczesne uczenie maszynowe z wykorzystaniem bibliotek DoWhy, EconML, PyTorch i nie tylko Wnioskowanie i związki przyczynowe w Pythonie. Nowoczesne uczenie maszynowe z wykorzystaniem bibliotek DoWhy, EconML, PyTorch i nie tylko
(65.40 zł najniższa cena z 30 dni)65.40 zł
109.00 zł(-40%) -
Na matematykę w szkole kładzie się bardzo duży nacisk. Uczymy się jej przez wiele lat, rozwiązujemy tysiące zadań, często zmagamy się z nią na egzaminach wstępnych i końcowych. Wydawałoby się, że jako ludzie dorośli powinniśmy ją mieć w małym palcu. A jednak mniejsze i większe matematyczne wyzwan...(23.40 zł najniższa cena z 30 dni)
23.40 zł
39.00 zł(-40%) -
Oto przewodnik po inżynierii detekcji, przeznaczony dla inżynierów zabezpieczeń i analityków bezpieczeństwa. Zaprezentowano w nim praktyczną metodologię planowania, budowy i walidacji mechanizmów wykrywania zagrożeń. Opisano zasady pracy z frameworkami służącymi do testowania i uwierzytelniania p...
Inżynieria detekcji cyberzagrożeń w praktyce. Planowanie, tworzenie i walidacja mechanizmów wykrywania zagrożeń Inżynieria detekcji cyberzagrożeń w praktyce. Planowanie, tworzenie i walidacja mechanizmów wykrywania zagrożeń
(53.40 zł najniższa cena z 30 dni)53.40 zł
89.00 zł(-40%) -
Autodesk Fusion 360 jest kompleksowym oprogramowaniem chmurowym, dzięki któremu stworzysz nawet bardzo rozbudowane zunifikowane projekty w 3D. W razie potrzeby wykonasz w nim również symulacje, przygotujesz dokumentację projektu i opracujesz jego dane. Fusion 360 łączy funkcje 3D CAD, CAM, CAE i ...(34.20 zł najniższa cena z 30 dni)
34.20 zł
57.00 zł(-40%) -
Dzięki temu praktycznemu przewodnikowi sprawdzisz, jak działa Angular podczas tworzenia dziesięciu zróżnicowanych funkcjonalnych aplikacji internetowych. Nauczysz się też integrować go z różnymi bibliotekami i narzędziami, takimi jak Angular Router, Scully, Electron, wątki robocze usług Angulara ...
Angular. Dziesięć praktycznych aplikacji internetowych z wykorzystaniem najnowszych rozwiązań technologicznych. Wydanie III Angular. Dziesięć praktycznych aplikacji internetowych z wykorzystaniem najnowszych rozwiązań technologicznych. Wydanie III
(41.40 zł najniższa cena z 30 dni)41.40 zł
69.00 zł(-40%) -
Zrób pierwszy krok w stronę fascynującego świata automatyzacji zadań. Poznaj PowerShell, potężne narzędzie, które ułatwia pracę administratorów na całym świecie, i zaprzęgnij go do pracy. Dzięki umiejętnemu posługiwaniu się krótkimi i nieskomplikowanymi poleceniami będziesz w stanie łatwo i szybk...(23.94 zł najniższa cena z 30 dni)
23.94 zł
39.90 zł(-40%) -
Dzięki tej przystępnej książce zrozumiesz metody działania wielkich modeli językowych i techniki szkolenia modeli generatywnych. Następnie zapoznasz się z przypadkami użycia, w których ChatGPT sprawdzi się najlepiej, a w efekcie zwiększy produktywność i kreatywność. Dowiesz się też, jak wchodzić ...
Generatywna sztuczna inteligencja z ChatGPT i modelami OpenAI. Podnieś swoją produktywność i innowacyjność za pomocą GPT3 i GPT4 Generatywna sztuczna inteligencja z ChatGPT i modelami OpenAI. Podnieś swoją produktywność i innowacyjność za pomocą GPT3 i GPT4
(47.40 zł najniższa cena z 30 dni)47.40 zł
79.00 zł(-40%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
![Loader](https://static01.helion.com.pl/ebookpoint/img/ajax-loader.gif)
![ajax-loader](https://static01.helion.com.pl/ebookpoint/img/ajax-loader.gif)
Oceny i opinie klientów: Testy jednostkowe. Świat niezawodnych aplikacji. Wydanie II Roy Osherove (11)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(3)
(3)
(4)
(0)
(0)
(1)
więcej opinii