TDD
Sortowanie
Źródło opisu
Książki, czasopisma i zbiory specjalne
(2)
Forma i typ
Książki
(2)
Publikacje dydaktyczne
(2)
Publikacje fachowe
(2)
Dostępność
tylko na miejscu
(2)
Placówka
Biblioteka WEAiI
(2)
Autor
Callaway John
(1)
Hubisz Jakub
(1)
Hunt Clayton
(1)
Woźniak Dariusz (programista)
(1)
Rok wydania
2010 - 2019
(2)
Okres powstania dzieła
2001-
(2)
Kraj wydania
Polska
(2)
Język
polski
(2)
Odbiorca
Programiści
(2)
Temat
Budownictwo
(2412)
Zarządzanie
(2038)
Matematyka
(1930)
Elektrotechnika
(1896)
Przedsiębiorstwa
(1790)
TDD
(-)
Fizyka
(1535)
Informatyka
(1502)
Maszyny
(1228)
Fizjoterapia
(1175)
Wytrzymałość materiałów
(1157)
Ochrona środowiska
(1023)
Sport
(1013)
Turystyka
(953)
Elektronika
(946)
Ekonomia
(932)
Mechanika
(932)
Automatyka
(916)
Język angielski
(874)
Samochody
(867)
Rachunkowość
(821)
Chemia
(808)
Rehabilitacja
(800)
Polska
(791)
Gospodarka
(778)
Komunikacja marketingowa
(761)
Technika
(743)
Konstrukcje budowlane
(727)
Wychowanie fizyczne
(725)
Przemysł
(723)
Prawo pracy
(712)
Unia Europejska
(699)
Piłka nożna
(696)
Transport
(673)
Elektroenergetyka
(667)
Marketing
(638)
Architektura
(637)
Innowacje
(620)
Naprężenia i odkształcenia
(614)
OZE
(606)
Programowanie (informatyka)
(590)
Trening
(586)
Energetyka
(585)
Programy komputerowe
(584)
Technologia chemiczna
(567)
Rolnictwo
(556)
Biomasa
(543)
Analiza numeryczna
(532)
Prawo
(524)
Odnawialne źródła energii
(520)
Sterowanie
(520)
Komputery
(517)
Materiałoznawstwo
(517)
Produkcja
(517)
Symulacja
(515)
Inwestycje
(508)
Praca
(503)
Zarządzanie jakością
(497)
Zarządzanie zasobami ludzkimi (HRM)
(496)
Analiza matematyczna
(495)
Dzieci
(491)
Energia elektryczna
(489)
Urbanistyka
(488)
Materiały budowlane
(482)
Logistyka gospodarcza
(480)
Rynek pracy
(474)
Finanse
(468)
Maszyny elektryczne
(468)
Przedsiębiorstwo
(468)
Szkolnictwo wyższe
(468)
Psychologia
(467)
Modele matematyczne
(465)
Internet
(464)
Metale
(462)
Nauka
(456)
Marketing internetowy
(453)
Systemy informatyczne
(448)
Statystyka matematyczna
(447)
Języki programowania
(433)
Skrawanie
(432)
Reklama
(431)
Rehabilitacja medyczna
(429)
Mechanika budowli
(425)
Działalność gospodarcza
(422)
Organizacja
(417)
Telekomunikacja
(413)
Metrologia
(412)
Pedagogika
(410)
Drgania
(409)
Trener
(406)
Ubezpieczenia społeczne
(394)
Controlling
(392)
Optymalizacja
(392)
Historia
(388)
Filozofia
(385)
Podatki
(385)
Statystyka
(384)
Socjologia
(383)
Banki
(379)
BHP
(375)
Rachunkowość zarządcza
(374)
Gatunek
Poradnik
(2)
Dziedzina i ujęcie
Informatyka i technologie informacyjne
(2)
2 wyniki Filtruj
Książka
W koszyku
Tytuł oryginału: Practical Test-Driven Development using C# 7 : unleash the power of TDD by implementing real world examples under .NET environment and JavaScript.
Na okładce nazwa oryginalnego wydawcy: Packt publishing.
Na książce także ISBN oryginału: 9781788398787.
Indeks.
Dla programistów posiadających podstawową wiedzę o TDD.
Rozdział 1. Dlaczego TDD jest ważne? 17 Najpierw trochę o nas 18 Historia Johna 18 Historia Claytona 18 Czym jest TDD? 19 Podejście do TDD 19 Podejście alternatywne 20 Proces 20 Po co zawracać sobie tym głowę? 21 Argumenty przeciwko TDD 21 Testowanie wymaga czasu 21 Testowanie jest kosztowne 22 Testowanie jest trudne 22 Nie wiemy jak 22 Argumenty za TDD 23 Mniejsza pracochłonność testowania manualnego 23 Mniej błędów 23 Pewien poziom poprawności 23 Brak strachu przed refaktoryzacją 24 Lepsza architektura 24 Szybsza praca 24 Różne rodzaje testów 25 Testy jednostkowe 25 Testy akceptacyjne 25 Testy integracyjne 25 Testy typu end-to-end 26 Liczba testów poszczególnych rodzajów 26 Części testu jednostkowego 26 Aranżacja 26 Akcja 26 Asercja 27 Wymagania 27 Dlaczego wymagania są ważne? 27 Historie użytkownika 27 Gherkin 29 Nasze pierwsze testy w C# 31 Rozwijanie aplikacji z testami 33 Nasze pierwsze testy w JavaScripcie 34 Dlaczego to ma znaczenie? 37 Rozdział 2. Przygotowanie środowiska testowego w .NET 39 Instalacja SDK .NET Core 39 Przygotowanie VS Code 40 Tworzenie projektu w VS Code 44 Przygotowanie Visual Studio Community 45 Pobieranie Visual Studio Community 46 Instalacja Visual Studio Community 46 Przesiadka na xUnit 46 Programistyczne kata 47 Stworzenie projektu 47 Czym jest Speaker Meet? 50 Projekt Web API 51 Rozdział 3. Przygotowanie środowiska testowego w JavaScripcie 57 Node.js 57 Czym jest Node? 58 Po co nam Node? 58 Instalacja Node 58 NPM 61 Szybkie wprowadzenie do IDE dedykowanych dla JavaScriptu 62 Visual Studio Code 63 WebStorm 64 Create React App 65 Czym jest Create React App? 66 Instalacja modułu globalnego 66 Tworzenie aplikacji za pomocą Reacta 66 Mocha i Chai 67 Szybkie kata sprawdzające środowisko 72 Wymagania 72 Wykonanie 72 Rozpoczęcie kata 73 Rozdział 4. Co należy wiedzieć przed rozpoczęciem pracy? 77 Nietestowalny kod 78 Wstrzykiwanie zależności 78 Wyodrębnianie oprogramowania zewnętrznego 79 Sobowtóry testowe 79 Frameworki imitujące 80 Zasady SOLID 80 Powitanie zależne od czasu 83 Kruche testy 84 Rodzaje sobowtórów testowych 86 Przykład wielopoziomowy 93 Rozdział 5. Tabula rasa - podejście do aplikacji na sposób TDD 101 Gdzie zacząć? 101 Golenie jaka 102 Duży projekt od razu 103 Czysta kartka 103 Po jednym kawałku 103 Minimalny wykonalny produkt 104 Inny sposób myślenia 104 Nie będziesz tego potrzebować 104 Małe testy 105 Adwokat diabła 106 Najpierw testy ścieżek negatywnych 109 Kiedy testowanie jest bolesne 113 Symulacja 113 Najpierw asercja 114 Bądź zorganizowany 114 Rozbicie aplikacji Speaker Meet 114 Prelegenci 114 Społeczności 115 Konferencje 115 Wymagania techniczne 115 Rozdział 6. Podejście do problemu 117 Zdefiniowanie problemu 117 Przetrawienie problemu 118 Epiki, funkcje i historie - ojej! 118 Problem Speaker Meet 120 Architektura heksagonalna wielowarstwowa 126 Architektura heksagonalna 127 Podstawowe, ale wydajne podziały wielowarstwowe 127 Kierunek testowania 130 Od tyłu do przodu 130 Od przodu do tyłu 137 Od wewnątrz na zewnątrz 144 Rozdział 7. Sterowanie testami aplikacji C# 149 Przegląd wymagań 149 Lista prelegentów 150 API 150 Testy API 151 Usługa 156 Testy usługi 156 Czyste testy 160 Repozytorium 161 Wykorzystanie fabryki z FakeRepository 163 Szczegóły prelegentów 165 API 165 Testy API 165 Usługa 169 Testy usługi 169 Czyste testy 172 Coś więcej z repozytorium 172 Dodatkowa praca związana z fabryką 173 Testowanie przypadków wyjątkowych 174 Rozdział 8. Wyodrębnianie problemów na zewnątrz 177 Odseparowanie problemów 177 Gravatar 178 Planowanie na przyszłość 185 Abstrahowanie warstwy danych 185 Rozszerzanie wzorca repozytorium 186 Zapewnienie funkcji 191 Tworzenie generycznego repozytorium 210 Krok pierwszy: abstrahowanie interfejsu 210 Krok drugi: abstrahowanie klasy konkretnej 211 Krok trzeci: zmiana testów, aby wykorzystywały repozytorium generyczne 215 Entity Framework 219 Wstrzykiwanie zależności 222 Rozdział 9. Testowanie aplikacji napisanej w JavaScripcie 225 Tworzenie aplikacji za pomocą Reacta 226 Wyodrębnienie aplikacji 226 Konfiguracja bibliotek Mocha, Chai, Enzyme i Sinon 226 Plan 228 Komponent React 228 Rzut oka na testowalność Reduxa 229 Testy jednostkowe usługi API 230 Lista prelegentów 230 Imitacja usługi API 231 Akcja pobierania wszystkich prelegentów 235 Reduktor dla pobierania wszystkich prelegentów 239 Komponent listy prelegentów 240 Szczegóły prelegenta 246 Rozbudowa imitacji usługi API 246 Akcja pobierania prelegenta 248 Reduktor dla pobierania prelegenta 254 Komponent dla szczegółów prelegenta 257 Rozdział 10. Kwestia integracji 261 Implementacja rzeczywistej usługi API 261 Zamiana imitacji API na prawdziwą usługę 262 Wykorzystanie biblioteki Sinon do imitacji odpowiedzi Ajaxa 264 Konfiguracja aplikacji 273 Testy integracyjne od początku do końca 273 Zalety 273 Wady 274 Ile testów end-to-end trzeba mieć? 274 Konfiguracja API 274 Projekt dla testów integracyjnych 275 Gdzie zacząć? 275 Weryfikacja odwołań repozytorium do bazy 275 Weryfikacja, czy usługa odwołuje się do bazy przez repozytorium 278 Weryfikacja odwołań API do usługi 280 Rozdział 11. Zmiany w wymaganiach 285 Witaj, świecie 286 Zmiana wymagań 286 FizzBuzz 287 Nowa funkcja 287 Aplikacja TODO 289 Oznaczanie jako wykonane 289 Dodanie testów 289 Kod produkcyjny 290 Dodanie testów 290 Kod produkcyjny 292 Zmiany w aplikacji Speaker Meet 293 Zmiany po stronie serwera 293 Zmiany po stronie interfejsu 295 Co teraz? 296 Przedwczesna optymalizacja 296 Rozdział 12. Problem z kodem zastanym 299 Czym jest kod zastany? 299 Dlaczego kod staje się zły? 300 Kiedy projekt staje się projektem zastanym? 300 Co możemy zrobić, aby zapobiec powstawaniu kodu zastanego? 301 Typowe problemy wynikające z kodu zastanego 302 Niezamierzone skutki uboczne 302 Nadmierna optymalizacja 303 Zbyt sprytny kod 304 Ścisłe łączenie z kodem zewnętrznym 304 Problemy przeszkadzające w dodawaniu testów 305 Bezpośrednia zależność od frameworka lub kodu zewnętrznego 305 Prawo Demeter 306 Praca w konstruktorze 306 Globalny stan 307 Metody statyczne 307 Duże klasy i funkcje 307 Radzenie sobie z problemami wynikającymi z kodu zastanego 308 Bezpieczna refaktoryzacja 308 Pierwsze testy 310 Idąc dalej 312 Naprawa błędów 313 Niebezpieczna refaktoryzacja 313 Rozdział 13. Sprzątanie bałaganu 315 Dziedziczenie kodu 315 Gra 316 Prośba o zmianę 316 Czasami dostajesz od życia cytryny 317 Zaczynamy 317 Abstrakcja klasy zewnętrznej 320 Niespodziewane dane wsadowe 324 Szukanie sensu w szaleństwie 329 Końcowe upiększanie 335 Gotowy na ulepszenia 337 Rozdział 14. Pokaż się z najlepszej strony 351 Co omówiliśmy? 351 Idąc naprzód 352 TDD to osobisty wybór 352 Nie potrzebujesz pozwolenia 353 Rozwijaj aplikacje poprzez testy 353 Wprowadzanie TDD do Twojego zespołu 353 Nie zmuszaj nikogo do TDD 354 Grywalizacja TDD 354 Pokaż zespołowi zalety 354 Kontroluj rezultaty 355 Powrót do świata jako ekspert TDD 355 Poszukaj mentora 355 Zostań mentorem 356 Praktykuj, praktykuj, praktykuj 356
Sygnatura czytelni BWEAiI: XII L 20
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 148514 N (1 egz.)
Książka
W koszyku
TDD : techniki programowania sterowanego testami / Dariusz Woźniak. - Gliwice : Wydawnictwo Helion, copyright 2018. - 326 stron : ilustracje ; 24 cm.
Bibliografia na stronach [311]-318. Indeks.
Kontekst jest królem (23) Atrapa to mock czy test double? (23) xUnit a xUnit.net (24) Funkcja a funkcjonalność oraz funkcyjny a funkcjonalny (24) Jak uczyć się metody Test-Driven Development? (25) Rozdział 1. Wprowadzenie do TDD (29) Błędy w oprogramowaniu (31) Cykl Red-Green-Refactor (32) Rozdział 2. Co zyskujemy dzięki TDD? (35) Wysoka jakość kodu (35) Czy pisanie w metodyce TDD oznacza pisanie według zasad SOLID? (36) Prostota kodu: YAGNI i KISS (37) Żywa dokumentacja (38) Lepsze zrozumienie wymagań biznesowych (38) Automatyczna regresja (39) Informacja zwrotna (41) Mniej defektów (42) Czas programowania jest krótszy (43) Niższy koszt zmian (43) Przypadki użycia (45) Badanie Microsoft Research nad zespołami Microsoftu i IBM (45) Pilotażowy projekt dla dużej firmy (45) Mały projekt w parach (47) Metaanaliza (47) Rozdział 3. Trudności przy wdrażaniu TDD (49) Ścieżka nauki (49) Dyscyplina (50) Więcej narzędzi (50) Początkowa percepcja dłuższego czasu potrzebnego do napisania kodu (51) Jak "sprzedać" TDD kierownictwu? (51) Musimy dostarczać szybko, a w naszym projekcie nie ma czasu na TDD (51) Lista kontrolna: Definition of Done (52) Rozdział 4. Filozofia TDD (57) Test-First czy Test-Last? (58) Wszystkie testy naraz czy test po teście? (59) Weryfikacja stanu czy zachowania? (60) Jedna czy wiele asercji? (60) Scenariusz 1.: Jedna oczekiwana zmienna wyjściowa (60) Scenariusz 2.: Wiele oczekiwanych zmiennych wyjściowych (61) Scenariusz 3.: Asercje pośrednie (62) Wiele asercji w jednym teście (66) Kiedy pisanie testów jednostkowych nie ma sensu? (67) Czy należy pisać testy jednostkowe do bibliotek innych dostawców? (68) Czy TDD sprawdza się dla małych aplikacji? (69) Czy TDD sprawdza się dla dużych aplikacji? (70) Czy testy jednostkowe zastępują testera? (70) Jak pisanie testów jednostkowych wpływa na estymatę zadania? (71) Czy testy jednostkowe można pisać w innym języku programowania niż pisany jest kod? (71) Czy testy jednostkowe może pisać inna osoba? (72) Czy system może mieć zbyt dużo testów jednostkowych? (72) Czy testy jednostkowe to jedyne testy, jakie powinny znajdować się w aplikacji? (73) Jakich testów powinno być najwięcej (piramida testów)? (74) Rozdział 5. Rodzaje testów (77) Sposób wykonywania (77) Wiedza na temat struktury systemu (test skrzynki) (77) Poziom testowania (78) Testowanie po zmianach dokonanych w systemie (80) Testowanie niefunkcjonalne (80) Test wydajnościowy (81) Rozdział 6. Test jednostkowy (83) Struktura testu: Arrange-Act-Assert (83) Alternatywne struktury testu (84) Test jednostkowy a test integracyjny (85) Myśl jak tester: ścieżki optymistyczne i przypadki brzegowe (86) Jak nazywać klasy i metody testowe? (87) Podział testów i projekty testowe (88) Rozdział 7. Nasz pierwszy test jednostkowy (91) Wybór biblioteki do testowania (91) Zanim zaczniemy... (92) Dodanie solucji i projektów (92) Dodanie biblioteki NUnit (93) Etap red: pisanie testu do nieistniejącej metody (95) Jak uruchomić test? (98) Etap green: implementacja kodu (102) Etap trzeci (i ostatni): refaktoryzacja kodu (103) Rozdział 8. Piszemy kolejne testy jednostkowe (105) Drugi test jednostkowy (105) Kolejne przypadki użycia (106) Testy ułamków nieskończonych lub zaokrąglonych (108) Testowanie wyrzucenia wyjątku (109) Testowanie zdarzenia (111) Rozdział 9. Testowanie z NUnitem (115) Asercje (116) Model klasyczny i model oparty na twierdzeniach (118) Operacja równości (120) Porównanie dwóch typów wartościowych (121) Porównanie dwóch typów referencyjnych (122) Porównanie dwóch typów referencyjnych z nadpisanym operatorem porównania (122) Tolerancja: delta i procent (124) Tolerancja: czas (124) Własna klasa obsługująca porównanie (125) Metody pomocnicze (126) Operacje porównania (126) Własna klasa obsługująca porównanie (127) Należy do zakresu (128) Złożenia (128) Testowanie typów (129) Testowanie wyjątków (131) Testowanie, czy kod wyrzucił wyjątek (133) Testowanie, czy kod nie wyrzucił wyjątku (135) Testowanie parametru i komunikatu wyjątku (136) Testowanie wewnętrznego wyjątku (137) Typ tekstowy (137) Kolekcje (138) System plików (141) Komunikaty (142) Własne komunikaty błędów (144) Własne komunikaty informacyjne (145) Komunikat a nazwa testu (146) Współdzielenie danych (147) Kiedy korzystać ze współdzielenia danych? (148) Testy parametryzowane (150) TestCase (151) Values (152) Range (154) Random (154) TestCaseSource (155) ValueSource (160) Testy oparte na zewnętrznych źródłach (160) Strategie łączenia wartości testowych (161) Test kombinatoryczny (161) Test sekwencyjny (162) Test par (163) Teorie (166) Testowanie klas generycznych (170) Zasada podstawienia Liskov (172) Testowanie wywołań asynchronicznych (174) Równoległe uruchamianie testów (178) Poziom zrównoleglenia (179) Kiedy zrównoleglić uruchamianie testów? (179) Pozostałe atrybuty (179) Sterowanie wątkiem (180) Kategoria testu (180) Atrybuty informacyjne (182) Przekazywanie parametrów (182) Ignorowanie testów (183) Kolejność wykonywania testów (185) Ustawienia regionalne (185) Powtarzanie testu (188) Czas wykonywania testu (189) Platforma (190) Atrybuty a testy parametryzowane (192) Rozdział 10. Testowanie zależności i atrapy obiektów (193) Ręczne tworzenie atrapy (195) Kryterium akceptacji nr 1: wiek klienta niższy niż 18 lat (196) Kryterium akceptacji nr 2: wiek klienta większy bądź równy 18 lat (198) Kryterium akceptacji nr 3: jeśli obiekt klienta jest nullem, to wyrzuć wyjątek (200) Podsumowanie (200) Wprowadzenie do frameworku Moq (201) Składnia imperatywna i deklaratywna (202) Składnia imperatywna (203) Składnia deklaratywna (204) Wybór składni (205) Atrapa rekursywna (recursive mock) (205) Tryb zachowania właściwości (stubbing) (206) Zwracanie domyślnej wartości (207) Atrapa z sekwencyjnym rezultatem (208) Tryb zachowania atrapy (MockBehavior) (209) Przekazywanie parametrów w metodzie (argument matchers) (210) Ponowne użycie matcherów (215) Weryfikacja wywołań (216) Weryfikacja wywołania metody (217) Weryfikacja dostępu i zapisu właściwości (219) Testować stan czy zachowanie? (220) Komunikat błędu (221) Wywołanie zwrotne: Callback (222) Podsumowanie (224) Wywołanie składowej bazowej: CallBase (224) Atrapa wyrzucająca wyjątek (226) Inne poziomy dostępności (227) protected (228) internal (229) Klasyfikacja atrap (230) Dummy (230) Stub (232) Fake (233) Mock (235) Spy (235) Ograniczenia Moqa (237) Tworzenie atrap dla klas i metod statycznych (238) Rodzaje bibliotek do tworzenia atrap (241) Constrained (241) Unconstrained (241) Constrained czy unconstrained? (242) Rozdział 11. Dobre praktyki pisania testów jednostkowych (245) Test powinien być szybki, bardzo szybki! (246) Testy powinny być odizolowane i niezależne od siebie (247) Test powinien być powtarzalny (247) Test powinien być deterministyczny (248) Test nie powinien mieć zależności zewnętrznych (248) Test nie powinien mieć konfiguracji (249) Wynik testu nie powinien być interpretowany (249) Test nie powinien być pusty (250) Zalążek kodu powinien wyrzucać wyjątek (250) Test powinien mieć jedną logiczną asercję (251) Testy nie powinny być dyskryminowane (251) Testy powinny być podzielone według kategorii (251) Test powinien mieć strukturę Arrange-Act-Assert (251) Test powinien obejmować ścieżki optymistyczne i przypadki brzegowe (252) Test powinien mieć odpowiednią nazwę (252) Testowane powinny być tylko publiczne składowe (252) Test powinien oczekiwać konkretnego typu wyjątku (253) Test powinien oczekiwać wyjątku w konkretnym wyrażeniu (253) Test nie powinien zawierać instrukcji warunkowych i pętli (253) Test powinien mieć wartości oczekiwane wpisane "na sztywno" (254) Test powinien mieć asercję (255) Test powinien być nieskomplikowany (255) Test nie powinien być "przespecyfikowany" (256) Test nie powinien zawierać metod z atrybutami SetUp i TearDown (257) Klasa testowa powinna być bezstanowa (257) Komunikaty asercji nie powinny być nadmiarowe (258) Rozdział 12. TDD i istniejący kod (261) Refaktoryzacja bezpieczna i mniej bezpieczna (261) Przykład bezpiecznej refaktoryzacji (264) Dodawanie testów do istniejącego kodu (271) Gdzie zacząć dodawać testy? (271) Jak pisać testy? (272) Narzędzia (274) Rozdział 13. Pokrycie kodu testami (277) Co to jest pokrycie kodu testami? (277) Narzędzia do mierzenia pokrycia kodu (278) W ile procent pokrycia powinniśmy celować? (281) Przykłady "fałszywych" testów o stuprocentowym pokryciu kodu (281) 85%, 90% czy 100%? (283) Pokrycie kodu jako narzędzie do identyfikowania brakujących testów (284) Rozdział 14. Ciągła integracja (285) Serwer ciągłej integracji (286) Ciągła dostawa i ciągłe wdrażanie (288) Dodatek A. Biblioteki do testowania (291) Dodatek B. Biblioteki do tworzenia atrap (293) Dodatek C. Biblioteki do mierzenia pokrycia kodu testami (297) Dodatek D. Testy z danymi zewnętrznymi - przypadek użycia (299) Dodatek E. Rozszerzalność NUnita (303) Atrybut informacyjny (305) Atrybut umożliwiający współdzielenie danych (307)
Sygnatura czytelni BWEAiI: XII E 100
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 146315 N (1 egz.)
Pozycja została dodana do koszyka. Jeśli nie wiesz, do czego służy koszyk, kliknij tutaj, aby poznać szczegóły.
Nie pokazuj tego więcej

Deklaracja dostępności