• Testowanie full stack. Praktyczny przewodnik dostarczania oprogramowania wysokiej jakości

Wysoka jakość aplikacji nie bierze się znikąd! Aby ją zapewnić, testowanie musi być integralnym aspektem inżynierii oprogramowania, wplecionym w każdy etap cyklu jego dostarczania. Błędy czy niedoskonałości w kodzie, pominięte z powodu niedokładnego testowania, mogą się okazać niezwykle kosztowne, jeśli ujawnią się w środowisku produkcyjnym. Oznacza to, że wdrożenie mądrej strategii testowania jest warunkiem sukcesu w branży dostarczania oprogramowania.

Podtytuł Testowanie full stack. Praktyczny przewodnik dostarczania oprogramowania wysokiej jakości
Tytuł oryginalny Full Stack Testing: A Practical Guide for Delivering High Quality Software
Autor Gayathri Mohan
Tłumaczenie Radosław Meryk
Rok wydania 2023
Oprawa Miękka
Format 165x235
Stron 368
Wydawnictwo Helion
89.00
szt. Do przechowalni
Wysyłka w ciągu 24 godziny
ISBN 978-83-832-2015-4
Wysoka jakość aplikacji nie bierze się znikąd! Aby ją zapewnić, testowanie musi być integralnym aspektem inżynierii oprogramowania, wplecionym w każdy etap cyklu jego dostarczania. Błędy czy niedoskonałości w kodzie, pominięte z powodu niedokładnego testowania, mogą się okazać niezwykle kosztowne, jeśli ujawnią się w środowisku produkcyjnym. Oznacza to, że wdrożenie mądrej strategii testowania jest warunkiem sukcesu w branży dostarczania oprogramowania.
Ten praktyczny przewodnik zawiera szeroki przegląd strategii, wzorców i form testowania oprogramowania, ułatwiających dobór ścieżek i podejść do konkretnych projektów w zależności od zakresu, budżetu i ram czasowych. Książka uczy przydatnych umiejętności w zakresie przeprowadzania testów wydajności, bezpieczeństwa i dostępności, w tym testów eksploracyjnych, automatyzacji testów, testów wielofunkcyjnych, testowania danych, testowania mobilnego i wielu innych. Zaprezentowano tu także łączenie testów w potokach ciągłej integracji, co pozwala na szybkie otrzymywanie informacji zwrotnych. W ten sposób łatwiejsze staje się kontrolowanie trudnych przepływów pracy programistycznej i uzyskiwanie wysokiej jakości aplikacji.

Najciekawsze zagadnienia:
• ponad 40 narzędzi do testowania kodu
• zasady dobierania testów pod kątem jakości oprogramowania
• strategie i koncepcje dotyczące testowania
• praktyczne korzystanie z poszczególnych narzędzi do testowania
• najlepsze praktyki przeprowadzania testów

Wstęp
Przedmowa

1. Wprowadzenie do testowania full stack
Testowanie full stack w celu uzyskania wysokiej jakości
Testowanie shift-left
Dziesięć umiejętności testowania full stack
Kluczowe wnioski

2. Ręczne testowanie eksploracyjne
Bloki konstrukcyjne
Schematy stosowane w testach eksploracyjnych
Odkrywanie funkcjonalności
Strategia ręcznego testowania eksploracyjnego
Zrozumienie aplikacji
Eksploracja częściami
Powtarzanie testów eksploracyjnych w wielu fazach
Ćwiczenia
Testowanie API
Testowanie interfejsu webowego
Perspektywy: higiena środowiska testowego
Kluczowe wnioski

3. Automatyczne testowanie funkcjonalne
Bloki konstrukcyjne
Wprowadzenie w tematykę testów typu mikro i makro
Strategia automatycznego testowania funkcjonalnego
Ćwiczenia
Stos technologiczny automatyzacji testów
Testy funkcjonalne na bazie interfejsu użytkownika
Skąd nazwa Selenium?
Programowanie sterowane zachowaniem (BDD)
Testy usług
Testy jednostkowe
Cechy dobrych testów
Dodatkowe narzędzia do testowania
Pact
Karate
Narzędzia AI/ML w automatycznych testach funkcjonalnych
Perspektywy
Antywzorce do wyeliminowania
Stuprocentowe pokrycie testami automatycznymi!
Pokrycie kodu i testowanie mutacji
Kluczowe wnioski

4. Ciągłe testowanie
Bloki konstrukcyjne
Wprowadzenie w tematykę ciągłej integracji
Procesy ciągłej integracji, ciągłego wdrażania i ciągłego testowania
Korzyści stosowania systemów VCS
Ciągłe wdrażanie a ciągłe dostarczanie
Zasady i etykieta
Strategia ciągłego testowania
Korzyści
Ćwiczenie
Git
Jenkins
Cztery kluczowe wskaźniki
Najważniejsze wnioski

5. Testowanie danych
Bloki konstrukcyjne
Bazy danych
Pamięci podręczne
Systemy przetwarzania wsadowego
Strumienie zdarzeń
Strategia testowania danych
Ćwiczenia
SQL
JDBC
Apache Kafka i Zerocode
Dodatkowe narzędzia do testowania
Kontenery testowe
Testowanie przenośności
Deequ
Kluczowe wnioski

6. Testowanie wizualne
Bloki konstrukcyjne
Wprowadzenie w tematykę testów wizualnych
Przypadki użycia o kluczowym znaczeniu dla projektu i jego wymagań biznesowych
Strategia testowania frontendu
Testy jednostkowe
Testy integracyjne (na poziomie komponentów)
Testy migawkowe
Funkcjonalne testy "od-końca-do-końca"
Testy wizualne
Testowanie wizualne a migawkowe
Testowanie w wielu przeglądarkach
Testowanie wydajności frontendu
Testowanie dostępności
Ćwiczenia
BackstopJS
Cypress
Dodatkowe narzędzia do testowania
Applitools Eyes - narzędzie oparte na sztucznej inteligencji
Storybook
Perspektywy: wyzwania związane z testowaniem wizualnym
Kluczowe wnioski

7. Testowanie zabezpieczeń
Bloki konstrukcyjne
Model zagrożenia STRIDE
Luki w zabezpieczeniach aplikacji
Modelowanie zagrożeń
Strategia testowania zabezpieczeń
Ćwiczenia
OWASP Dependency-Check
OWASP ZAP
Dodatkowe narzędzia do testowania
Wtyczka Snyk IDE
Hak pre-commit Talisman
Chrome DevTools i Postman
Perspektywy: bezpieczeństwo to nawyk
Kluczowe wnioski

8. Testy wydajności
Bloki konstrukcyjne testowania wydajności backendu
Wydajność, sprzedaż i wolne weekendy są ze sobą powiązane!
Proste cele wydajności
Czynniki wpływające na wydajność aplikacji
Kluczowe wskaźniki wydajności
Rodzaje testów wydajności
Rodzaje wzorców obciążenia
Etapy testowania wydajności
Ćwiczenia
Krok 1. Zdefiniuj docelowe wskaźniki KPI
Krok 2. Zdefiniuj przypadki testowe
Kroki 3 - 5. Przygotuj dane, środowisko i narzędzia
Krok 6. Utwórz skrypty przypadków testowych i uruchom je z wykorzystaniem narzędzia JMeter
Dodatkowe narzędzia do testowania
Gatling
Apache Benchmark
Bloki konstrukcyjne testów wydajności frontendu
Czynniki wpływające na wydajność frontendu
Model RAIL
Metryki wydajności frontendu
Ćwiczenia
WebPageTest
Lighthouse
Dodatkowe narzędzia do testowania
PageSpeed Insights
Wtyczka DevTools przeglądarki Chrome
Strategia testowania wydajności
Najważniejsze wnioski

9. Testowanie dostępności
Bloki konstrukcyjne
Sylwetki użytkowników związanych z ułatwieniami dostępu
Ekosystem ułatwień dostępu
Przykład: czytniki ekranu
WCAG 2.0: zasady przewodnie i poziomy
Standardy zgodności poziomu A
Frameworki programistyczne z obsługą ułatwień dostępu
Strategia testowania dostępności
Lista kontrolna elementów dostępności w historyjkach użytkowników
Narzędzia do automatycznej inspekcji ułatwień dostępu
Testowanie ręczne
Ćwiczenia
WAVE
Lighthouse
Moduł Node wtyczki Lighthouse
Dodatkowe narzędzia testowe
Moduł Node PA11y CI
Axe-core
Perspektywy: dostępność jako kultura
Najważniejsze wnioski

10. Testowanie wymagań wielofunkcyjnych
Bloki konstrukcyjne
Strategia testowania wymagań CFR
Funkcjonalność
Wygoda użytkowania
Niezawodność
Wydajność
Możliwości wsparcia
Inne metody testowania wymagań CFR
Inżynieria chaosu
Testowanie architektury
Testowanie infrastruktury
Testowanie zgodności z przepisami
Perspektywy: możliwości ewolucji i próba czasu!
Najważniejsze wnioski

11. Testowanie mobilne
Bloki konstrukcyjne
Wprowadzenie do krajobrazu mobilnego
Architektura aplikacji mobilnych
Strategia testowania mobilnego
Ręczne testowanie eksploracyjne
Funkcjonalne testy automatyczne
Testowanie danych
Testy wizualne
Testy zabezpieczeń
Testy wydajności
Testowanie dostępności
Testy wymagań CFR
Ćwiczenia
Appium
Wtyczka Appium Visual Testing
Dodatkowe narzędzia testowe
Database Inspector w środowisku Android Studio
Narzędzia do testowania wydajności
Narzędzia do testowania zabezpieczeń
Accessibility Scanner
Perspektywy: piramida testowania aplikacji mobilnych
Najważniejsze wnioski

12. Nie tylko testowanie
Najważniejsze zasady testowania
Zapobieganie defektom zamiast ich wykrywania
Testy empatyczne
Testy na poziomie mikro i makro
Szybkie informacje zwrotne
Ciągłe sprzężenie zwrotne
Mierzenie wskaźników jakości
Kluczem do jakości są komunikacja i współpraca
Umiejętności miękkie pomagają w budowaniu nastawienia na jakość
Podsumowanie

13. Wprowadzenie do testowania w nowych technologiach
Sztuczna inteligencja i uczenie maszynowe
Wprowadzenie do uczenia maszynowego
Testowanie aplikacji ML
Blockchain
Wprowadzenie do pojęć związanych z blockchainem
Testowanie aplikacji Blockchain
Internet rzeczy
Wprowadzenie do pięciowarstwowej architektury IoT
Testowanie aplikacji IoT
Rzeczywistość rozszerzona i wirtualna
Testowanie aplikacji AR i VR

Skorowidz

Gayathri Mohan - jest główną konsultantką w firmie Thoughtworks, wcześniej zarządzała w niej dużymi zespołami walidacyjnymi. Ma bogate doświadczenie w tworzeniu oprogramowania dla różnych branż przemysłu. Jako liderka techniczna jest organizatorką wielu wydarzeń cieszących się dużą popularnością wśród inżynierów.

Nie ma jeszcze komentarzy ani ocen dla tego produktu.

Polub nas na Facebooku