Programowanie sterowane testami w Pythonie. Jak tworzyć skalowalne zestawy testów i aplikacji - Helion
Tytuł oryginału: Crafting Test-Driven Software with Python: Write test suites that scale with your applications
Tłumaczenie: Robert Górczyński
ISBN: 978-83-283-8664-8
stron: 320, Format: 168x237, okładka: miękka
Księgarnia: Helion
Książka będzie dostępna od listopada 2021
SpoÅ›ród wielu koncepcji tworzenia oprogramowania na szczególnÄ… uwagÄ™ zasÅ‚uguje model programowania sterowanego testami, znany jako TDD. Technika ta opiera siÄ™ na integracji procesów projektowania aplikacji i pisania kodu z prowadzeniem testów. Mimo że taki sposób pracy wydaje siÄ™ dość wymagajÄ…cy dla zespoÅ‚ów deweloperów, Å‚atwo siÄ™ przekonać, że TDD pozwala na staÅ‚e uzyskiwanie dobrych efektów, a opracowane tÄ… metodÄ… aplikacje zaskakujÄ… stabilnoÅ›ciÄ… i przewidywalnoÅ›ciÄ… w Å›rodowisku produkcyjnym.
W tej praktycznej książce dokÅ‚adnie opisano koncepcje przeprowadzania testów oprogramowania, a szczególny akcent poÅ‚ożono na model programowania sterowanego testami. Przedstawiono w niej również szerokÄ… gamÄ™ przydatnych do testowania narzÄ™dzi, takich jak wbudowany w Pythona moduÅ‚ testów jednostkowych unittest, frameworki pytest i Robot, a także biblioteka webtest. Omówiono też zasady projektowania testów, testowania kodu podczas implementacji nowych funkcjonalnoÅ›ci i tworzenia peÅ‚nych zbiorów testów. Ponadto dokÅ‚adnie zaprezentowano najlepsze praktyki zwiÄ…zane z testami automatycznymi i modelem programowania TDD. Poszczególne koncepcje zostaÅ‚y zilustrowane praktycznymi przykÅ‚adami zastosowania narzÄ™dzi dostÄ™pnych w Pythonie.
W książce między innymi:
- najlepsze praktyki dotyczÄ…ce projektowania testów
- praca z frameworkiem pytest przeznaczonym do testowania aplikacji
- tworzenie testów funkcjonalnych dla aplikacji WSGI za pomocÄ… biblioteki webtest
- zasady programowania sterowanego testami
- techniki tworzenia niezawodnych aplikacji w Pythonie
Najważniejsze jest testowanie kodu - od pierwszej linii!
Zobacz także:
- Superinteligencja. Scenariusze, strategie, zagro 66,67 zł, (14,00 zł -79%)
- Poradnik design thinking - czyli jak wykorzysta 48,28 zł, (14,00 zł -71%)
- Kosymulacja. Elastyczne projektowanie i symulacja wielodomenowa 38,39 zł, (11,90 zł -69%)
- F# 4.0 dla zaawansowanych. Wydanie IV 96,45 zł, (29,90 zł -69%)
- Systemy reaktywne. Wzorce projektowe i ich stosowanie 65,31 zł, (20,90 zł -68%)
Spis treści
Programowanie sterowane testami w Pythonie. Jak tworzyć skalowalne zestawy testów i aplikacji -- spis treści
O autorze
O korektorze merytorycznym
Wprowadzenie
Część I. Testowanie oprogramowania i programowanie sterowane testami
- Rozdział 1. Rozpoczęcie pracy z testowaniem oprogramowania
- Wymagania techniczne
- Wprowadzenie do testowania oprogramowania i kontroli jego jakości
- Wprowadzenie do testów automatycznych i zbiorów testów
- Wprowadzenie do programowania sterowanego testami i testów jednostkowych
- Testy integracji i testy funkcjonalne
- Piramida testów i trofeum testów
- Podsumowanie
- RozdziaÅ‚ 2. Dublery używane podczas testów na przykÅ‚adzie aplikacji czatu
- Wymagania techniczne
- Wprowadzenie do dublerów używanych podczas testów
- Aplikacja czatu opracowana z wykorzystaniem modelu TDD
- ZastÄ™powanie komponentów ich namiastkami
- Sprawdzanie zachowania za pomocÄ… szpiegów
- Stosowanie imitacji
- Zastępowanie zależności atrapami
- Testy akceptacji i dublery używane podczas testów
- Zarządzanie zależnościami za pomocą mechanizmu wstrzykiwania zależności
- Podsumowanie
- Rozdział 3. Programowanie sterowane testami na przykładzie aplikacji listy rzeczy do zrobienia
- Wymagania techniczne
- Rozpoczęcie pracy nad projektem wykorzystującym model TDD
- Tworzenie aplikacji z użyciem modelu TDD
- Zapobieganie regresji
- Podsumowanie
- RozdziaÅ‚ 4. Skalowanie zbioru testów
- Wymagania techniczne
- Skalowanie testów
- Praca z wieloma zbiorami testów
- Przeprowadzanie testów wydajnoÅ›ci
- Włączanie ciągłej integracji
- Podsumowanie
Część II. Framework pytest
- Rozdział 5. Wprowadzenie do frameworka pytest
- Wymagania techniczne
- Wykonywanie testów za pomocÄ… frameworka pytest
- Definiowanie warunków poczÄ…tkowych testów pytest
- Stosowanie argumentu tmp_path do zarzÄ…dzania danymi tymczasowymi
- Stosowanie wtyczki capsys do testowania wejścia - wyjścia
- Wykonywanie podzbioru testów
- Podsumowanie
- RozdziaÅ‚ 6. Testy parametryzowane i dynamiczna konfiguracja testów
- Wymagania techniczne
- Konfiguracja zbioru testów
- Generowanie konfiguracji
- Generowanie testów parametryzowane
- Podsumowanie
- Rozdział 7. Funkcje dopasowania na przykładzie aplikacji książki adresowej
- Wymagania techniczne
- Tworzenie testów akceptacji
- Stosowanie modelu programowania sterowanego zachowaniem
- Uwzględnianie specyfikacji na przykładzie
- Podsumowanie
- Rozdział 8. Najważniejsze wtyczki dla frameworka pytest
- Wymagania techniczne
- Stosowanie wtyczki pytest-conv do generowania informacji dotyczÄ…cych stopnia pokrycia kodu źródÅ‚owego testami
- Stosowanie wtyczki pytest-benchmark do przeprowadzania testów wydajnoÅ›ci
- Stosowanie wtyczki flaky do ponownego wykonywania niepewnych testów
- Stosowanie wtyczki pytest-testmon do ponownego wykonywania testów po wprowadzeniu zmiany w kodzie
- Jednoczesne wykonywanie testów za pomocÄ… wtyczki pytest-xdist
- Podsumowanie
- Rozdział 9. Zarządzanie środowiskami testowymi za pomocą narzędzia Tox
- Wymagania techniczne
- Wprowadzenie do narzędzia Tox
- Testowanie wielu wersji Pythona za pomocą narzędzia Tox
- Stosowanie narzędzia Tox w połączeniu z usługą Travis CI
- Podsumowanie
- Rozdział 10. Testowanie dokumentacji i testowanie na podstawie właściwości
- Wymagania techniczne
- Testowanie dokumentacji
- Testowanie na podstawie właściwości
- Podsumowanie
Część III. Testowanie aplikacji internetowych
- Rozdział 11. Testowanie na potrzeby internetu - WSGI kontra HTTP
- Wymagania techniczne
- Testowanie HTTP
- Testowanie WSGI za pomocÄ… biblioteki webtest
- Stosowanie biblioteki webtest z frameworkami przeznaczonymi do tworzenia aplikacji internetowych
- Tworzenie testów Django za pomocÄ… klienta testów oferowanego przez Django
- Podsumowanie
- Rozdział 12. Testy E2E wykonywane za pomocą frameworka Robot
- Wymagania techniczne
- Wprowadzenie do frameworka Robot
- Testowanie za pomocÄ… przeglÄ…darek WWW
- Rozbudowa frameworka Robot
- Podsumowanie