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 67,73 zł, (14,90 zł -78%)
- Poradnik design thinking - czyli jak wykorzysta 49,67 zł, (14,90 zł -70%)
- 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%)
- GameMaker. Kurs video. Kompleksowy przewodnik tworzenia gier platformowych 154,58 zł, (55,65 zł -64%)
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