Księgarnia naukowo-techniczna styczna.pl

Księgarnia naukowo-techniczna
styczna.pl

 


Zaawansowane wyszukiwanie
  Strona Główna » Sklep » Informatyka » Programowanie » Moje Konto  |  Zawartość Koszyka  |  Do Kasy   
 Wybierz kategorię
Albumy
Architektura
Beletrystyka
Biochemia
Biologia
Biznes
Budownictwo
Chemia
Design DTP
E-biznes
Ekologia i środowisko
Ekonometria
Ekonomia Finanse
Elektronika
Elektrotechnika
Encyklopedie
Energetyka
Fizyka
Fotografia
Geografia
Historia
Informatyka
  Bazy danych
  Bezpieczeństwo
  CAD
  Grafika komputerowa
  iPod Pocket PC
  Kursy
  Media społecznościowe
  Office
  Programowanie
  Programy graficzne
  Sieci bezprzewodowe
  Sieci komputerowe
  Systemy operacyjne
  Techniki programowania
  Webmasterstwo
Maszynoznawstwo
Matematyka
Medycyna
Motoryzacja
Polityka
Popularnonaukowe
Poradniki
Prawo
Sport
Sztuka
Słowniki
Technika
Telekomunikacja
Turystyka
Zarządzanie jakością

Zobacz pełny katalog »
TDD z wykorzystaniem C# 7. Programowanie sterowane testami 69.00zł 51.75zł
TDD z wykorzystaniem C# 7. Programowanie sterowane testami

Tytuł: TDD z wykorzystaniem C# 7. Programowanie sterowane testami
Autor: John Callaway
ISBN: 978-83-283-5653-5
Ilość stron: 360
Data wydania: 09/2019
Format: 168x237
Wydawnictwo: HELION

Cena: 69.00zł 51.75zł


Coraz więcej profesjonalnych środowisk produkcyjnych opiera się na oprogramowaniu. Ewentualne błędy w pracy kodu mogą prowadzić do poważnych konsekwencji - dlatego od rozwiązań informatycznych wymaga się solidności i poprawności. Równocześnie oczekuje się wydajnego działania, skalowalności i podatności na modyfikacje, a także możliwości łatwego utrzymania kodu. Aplikacje utworzone zgodnie z paradygmatem TDD są w większym stopniu testowalne i zapewniają wysoki poziom poprawnej, stabilnej pracy. Sprawia to, że coraz więcej zespołów programistycznych skłania się ku TDD, mimo że zautomatyzowane testowanie bywa czasochłonne, pracochłonne i dość trudne w implementacji.

To książka przeznaczona dla tych, którzy chcą dogłębnie zrozumieć istotę TDD. Omówiono tu wszystkie aspekty TDD, włączając w to podstawy, dzięki którym średnio zaawansowany programista komfortowo rozpocznie budowę aplikacji zgodnie z tym paradygmatem. Przedstawiono zasady definiowania i testowania granic, a także pojęcie abstrahowania kodu zewnętrznego. W książce pojawiają się też - wprowadzane stopniowo - bardziej zaawansowane koncepcje, takie jak szpiedzy, imitacje i fałszywki. Pokazano w niej, w jaki sposób za pomocą TDD można przekształcić wymagania i historie użytkownika w funkcjonującą aplikację. Sporo miejsca poświęcono pisaniu różnych rodzajów testów, również integracyjnych. Poszczególne koncepcje zostały zilustrowane praktycznymi fragmentami kodu napisanego w C# i JavaScripcie.

W tej książce między innymi:

  • koncepcje programowania sterowanego testami i przygotowanie środowiska do pracy
  • różne podejścia do budowania aplikacji i sterowania testami
  • poprawa elastyczności aplikacji i jej podatności na przyszłe modyfikacje
  • TDD w warunkach zmieniających się wymagań
  • rozwiązywanie problemów z kodem zastanym

TDD: tak pracują najlepsi programiści!

Rozdziały:

Przedmowa 9

O autorach 11

O korektorze merytorycznym 12

Wprowadzenie 13

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
  • Podsumowanie 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
  • Podsumowanie 55

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
  • Podsumowanie 76

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
  • Podsumowanie 100

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
  • Podsumowanie 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
  • Podsumowanie 148

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
  • Podsumowanie 176

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
  • Podsumowanie 223

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
  • Podsumowanie 260

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
  • Podsumowanie 284

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
  • Podsumowanie 297

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
  • Podsumowanie 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
  • Podsumowanie 349

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
  • Podsumowanie 357

Najniższa cena z 30 dni przed obniżką 51,75zł

Tytuł książki: "TDD z wykorzystaniem C# 7. Programowanie sterowane testami"
Autor: John Callaway
Wydawnictwo: HELION
Cena: 69.00zł 51.75zł
Klienci, którzy kupili tę książkę, kupili także
Storyboard ruch w sztuce filmowej
Storyboard ruch w sztuce filmowej
Mark Simon
Wojciech Marzec
Rzymska armia Legiony wojny kampanie
Rzymska armia Legiony wojny kampanie
Nigel Rodgers
Bellona
Krajowe regulacje hazardu w świetle prawa Unii Europejskiej
Krajowe regulacje hazardu w świetle prawa Unii Europejskiej
Maciej Taborowski Agnieszka Sołtys
Wolters Kluwer
Kultura w organizacji
Kultura w organizacji
Lidia Zbiegień-Maciąg
PWN
Jazda konna Techniki jazdy  zawody  sprzęt  opieka nad koniem
Jazda konna Techniki jazdy zawody sprzęt opieka nad koniem
Moira C. Harris Lis Clegg
Hachette
Ekonomika przedsiębiorstw 1 Zeszyt ćwiczeń
Ekonomika przedsiębiorstw 1 Zeszyt ćwiczeń
Janina Mierzejewska-Majcherek
Difin
 Koszyk
1 x Kursywa Wyróżnienie w typografii
1 x 300 faktów Sport
58.24zł
Wydawnictwo
Tu można zobaczyć wszystkie książki z wydawnictwa:

Wydawnictwo Helion
 Kategoria:
 Biologia
Antropogeniczne zmiany środowiska przyrodniczego Ziemi

Antropogeniczne zmiany środowiska przyrodniczego Ziemi

99.00zł
Informacje
Regulamin sklepu.
Koszty wysyłki.
Polityka prywatności.
Jak kupować?
Napisz do Nas.
 Wydawnictwa
 Polecamy
Fizyka współczesna Paul A. Tipler Ralph A. Llewellyn PWN
Miejscowa wentylacja wywiewna Poradnik Optymalizacja parametrów powietrza w pomieszczeniach pracy Maciej Gliński DW Medium
Rachunek różniczkowy i całkowy Tom 1 Wydanie 12 Grigorij M. Fichtenholz PWN
Windows Server 2008 R2 Usługi pulpitu zdalnego Resource Kit Christa Anderson, Kristin L. Griffin, Microsoft Remote Desktop Virtual Microsoft Press
Animacja komputerowa Algorytmy i techniki Rick Parent PWN
Słownik naukowo-techniczny angielsko-polski Wydanie XIII Red. M.Berger, T.Jaworska, A.Baranowska, M.Barańska WNT
Matematyka konkretna Wydanie 4 Ronald L. Graham, Donald E. Knuth, Oren Patashnik PWN
Programowanie Microsoft SQL Server 2008 Tom 1 + Tom 2 Leonard Lobel, Andrew J. Brust, Stephen Forte Microsoft Press
MERITUM Podatki 2018 Aleksander Kaźmierski Wolters Kluwer