Testowanie full stack. Praktyczny przewodnik dostarczania oprogramowania wysokiej jakości - ebook
Testowanie full stack. Praktyczny przewodnik dostarczania oprogramowania wysokiej jakości - ebook
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
Po pierwsze, po drugie i po trzecie: testuj swój kod!
Spis treści
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
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-8322-016-1 |
Rozmiar pliku: | 9,4 MB |