E-book details

Testowanie aplikacji dla programistów frontendowych. Wiodące frameworki do automatyzacji testów aplikacji internetowych i ich przyszłość oparta na testowaniu niskokodowym i sztucznej inteligencji

Testowanie aplikacji dla programistów frontendowych. Wiodące frameworki do automatyzacji testów aplikacji internetowych i ich przyszłość oparta na testowaniu niskokodowym i sztucznej inteligencji

Eran Kinsbruner

Ebook

Nawet bardzo doświadczony zespół niekiedy popełnia błędy, które mogą przesądzić o porażce obiecującego projektu. Aby uniknąć takich sytuacji, trzeba zadbać o odpowiednie testowanie kodu. To jednak bywa prawdziwym wyzwaniem dla frontendowców, którzy na co dzień skupiają się na innych aspektach pracy aplikacji. Obecnie deweloperzy mogą wybierać spośród rozlicznych narzędzi do testowania i wielu nowych metodyk. Na uwagę zasługują zwłaszcza frameworki służące do automatyzacji testów wieloprzeglądarkowych, dostępne na licencji open source.

Oto przewodnik po koncepcjach testowania i wiodących frameworkach, za pomocą których automatyzuje się testy aplikacji internetowych, takich jak Selenium, Cypress, Puppeteer i Playwright. Zaprezentowano w nim unikatowe funkcjonalności tych rozwiązań, ich wady i zalety, a także wyjaśniono zasady konfiguracji każdego z nich, aby testowanie przebiegało bezawaryjnie nawet po wprowadzeniu zmian w kodzie. Dzięki tej książce nie tylko wybierzesz najlepszy framework, ale także zintegrujesz go z przepływem pracy programowania frontendowego i utworzysz wstępny zestaw automatyzacji testów oparty na JavaScripcie. Zapewni to szybką informację zwrotną przy zmianach w kodzie i zwiększy niezawodność automatyzacji testów.

W książce między innymi:

  • wybór narzędzi do testowania aplikacji
  • zaawansowana automatyzacja testów
  • pomiar pokrycia kodu i pokrycia testowego w ocenie jakości aplikacji
  • kompromisy przy wyborze narzędzi do testowania
  • frameworki: Cypress, Selenium, Playwright i Puppeteer
  • przegląd narzędzi do niskokodowego testowania aplikacji internetowych

Automatyzacja testów aplikacji - tak zagwarantujesz niezawodność!

Przedmowa

O autorze

O korektorze

Wstęp

Część I. Frontendowe testowanie stron internetowych

  • Rozdział 1. Metody testowania z wykorzystaniem różnych przeglądarek
    • Przegląd krajobrazu internetowego
    • Typy aplikacji internetowych
      • Tradycyjne aplikacje internetowe
      • Responsywne aplikacje internetowe
      • Progresywne aplikacje internetowe
    • Typy testów dla aplikacji internetowych
      • Testy funkcjonalne aplikacji internetowych
      • Testy niefunkcjonalne aplikacji internetowych
    • Zastosowanie przeglądarek interfejsowych i bezinterfejsowych podczas tworzenia i testowania aplikacji
      • Wybór między przeglądarkami interfejsowymi i bezinterfejsowymi
      • Frameworki testowania przy użyciu przeglądarek bezinterfejsowych
    • Podsumowanie
  • Rozdział 2. Wyzwania stojące przed frontendowymi programistami aplikacji internetowych
    • Wyzwania związane z tworzeniem aplikacji internetowych
      • Jakość a cykl wydawniczy
    • Wyzwania związane z pokryciem dostępnych platform i systemów operacyjnych
    • Wyzwania niefunkcjonalne w tworzeniu aplikacji internetowych
      • Wyzwania związane z wydajnością
      • Wyzwania związane z ułatwieniami dostępu
    • Wyzwania związane z zapewnianiem zgodności aplikacji internetowych
    • Podsumowanie
  • Rozdział 3. Najlepsze frameworki do automatyzacji testów aplikacji internetowych
    • Przegląd rynku testowania aplikacji internetowych
    • Pierwsze kroki z frameworkiem Selenium WebDriver
      • Konfigurowanie komponentu WebDriver
      • Selenium Grid
    • Pierwsze kroki z frameworkiem Cypress
      • Ważne funkcjonalności Cypressa
    • Pierwsze kroki z frameworkiem Google Puppeteer
    • Pierwsze kroki z frameworkiem Microsoft Playwright
    • Podsumowanie
  • Rozdział 4. Dopasowanie odpowiednich osób i przypadków użycia do frameworków testowych
    • Wymagania techniczne
    • Przegląd osób testujących strony internetowe
    • Przypadki użycia i zagadnienia dotyczące wyboru solidnego frameworku do automatyzacji testów
      • Kwestie społecznościowe
      • Możliwości testowania na dużą skalę
      • Integracje stosu narzędzi i wtyczki
      • Łatwość użytkowania i popularność
      • Wielokrotny użytek i łatwość utrzymywania
      • Raportowanie, analiza testów i sztuczna inteligencja
    • Macierz oceny frameworków testowych
    • Podsumowanie
  • Rozdział 5. Wprowadzenie do wiodących frontendowych frameworków do tworzenia aplikacji internetowych
    • Wymagania techniczne
    • Wprowadzenie do wiodących frameworków do tworzenia aplikacji internetowych
    • Wytyczne dotyczące wyboru frameworku do tworzenia aplikacji internetowych
      • ReactJS
      • AngularJS
      • Vue.js
      • Ember.js
      • Svelte
    • Podsumowanie

Część II. Strategia ciągłego testowania dla programistów aplikacji internetowych

  • Rozdział 6. Filary strategii programistycznych testów aplikacji internetowych
    • Filary planu i strategii testowania aplikacji internetowej
      • Poznaj użytkowników docelowych
      • Opracuj plan testów
      • Przygotuj stos narzędzi i środowiska
      • Ustal kryteria i cele jakości
      • Określ porządek chronologiczny i harmonogram
      • Wykonuj, monitoruj, mierz i dokumentuj
    • Pomiar sukcesu strategii ciągłego testowania
    • Studium przypadku - strategia testowania rzeczywistej aplikacji internetowej
    • Podsumowanie
  • Rozdział 7. Podstawowe funkcjonalności wiodących frameworków do automatyzacji testów javascriptowych
    • Porównanie funkcjonalności frameworków do automatyzacji testów
      • Testy wizualne
      • Testowanie interfejsów API
      • Obsługiwane języki programowania
      • Testowanie urządzeń mobilnych
      • Testy wydajnościowe
      • Testowanie ułatwień dostępu
      • Testowanie żądań sieciowych i atrapy usług
      • Praca z elementami
    • Istotne zdarzenia wymagające ponownej ewaluacji frameworków do automatyzacji testów
    • Podsumowanie
  • Rozdział 8. Mierzenie pokrycia testowego aplikacji internetowej
    • Wprowadzenie do pokrycia kodu i pokrycia testowego
      • Pokrycie testowe
      • Pokrycie kodu
    • Narzędzia mierzenia pokrycia kodu JavaScriptu dla programistów aplikacji internetowych
      • Pomiar pokrycia kodu JavaScriptu za pomocą narzędzia Istanbul i frameworku Cypress
    • Uzupełnianie pokrycia kodu pokryciem testowym
    • Podsumowanie

Część III. Przewodnik po frontendowych frameworkach do automatyzacji javascriptowych testów aplikacji internetowych

  • Rozdział 9. Praca z frameworkiem Selenium
    • Wymagania techniczne
    • Framework Selenium i jego komponenty
      • Selenium WebDriver
      • Zaawansowane funkcjonalności Selenium
      • Różne metody testowania z wykorzystaniem Selenium
    • Przyszłość frameworku Selenium
    • Podsumowanie
  • Rozdział 10. Praca z frameworkiem Cypress
    • Wymagania techniczne
    • Pierwsze kroki z Cypressem
      • GUI frameworku Cypress
      • IDE i wiersz poleceń Cypressa
    • Zaawansowane funkcjonalności automatyzacji testów Cypressa
      • Ponawianie testów Cypressa
      • Korzystanie z namiastek, szpiegów i zegarów w Cypressie
      • Uruchamianie Cypressa w ramach potoku CI
      • Testowanie komponentów
      • Cypress Studio
      • Wtyczki Cypressa
      • Testowanie API z wykorzystaniem Cypressa
    • Przyszłość frameworku Cypress
    • Podsumowanie
  • Rozdział 11. Praca z frameworkiem Playwright
    • Wymagania techniczne
    • Pierwsze kroki z Playwrightem
    • Zaawansowane funkcjonalności automatyzacji testów Playwrighta
      • Narzędzie Inspector Playwrighta
      • Emulowanie urządzeń mobilnych
      • Adnotacje testowe Playwrighta
      • Testowanie API przy użyciu Playwrighta
      • Asercje Playwrighta
      • Atrapy żądań sieciowych Playwrighta
      • Obiektowy Model Strony Playwrighta
      • Raporty testowe Playwrighta
      • Test runnery Playwrighta
      • Trace viewer Playwrighta
      • Zaawansowane konfiguracje Playwrighta
      • Integracja Playwrighta z CI
    • Przyszłość frameworku Playwright
    • Podsumowanie
  • Rozdział 12. Praca z frameworkiem Puppeteer
    • Wymagania techniczne
    • Pierwsze kroki z Puppeteerem
    • Zaawansowane funkcjonalności automatyzacji testów Puppeteera
      • Przestrzenie nazw Puppeteera
      • Praca z elementami przy użyciu Puppeteera
      • Testy obciążeniowe Puppeteera
      • Puppeteer i Cucumber BDD
      • Testy ułatwień dostępu Puppeteera
      • Śledzenie aplikacji internetowych przy użyciu Puppeteera
      • Testy API Puppeteera
      • Puppeteer i narzędzia dla programistów Google'a
      • Integracja Puppeteera z frameworkiem CodeceptJS
      • Integracja Puppeteera z CI
    • Przyszłość frameworku Puppeteer
    • Podsumowanie
  • Rozdział 13. Uzupełnianie testów opartych na kodzie automatyzacją niskokodową
    • Podstawowe funkcjonalności narzędzi do testowania niskokodowego i bezkodowego
    • Przegląd narzędzi bezkodowych w krajobrazie open source
      • Narzędzia bezkodowe na licencji open source
    • Wiodące komercyjne narzędzia do bezkodowego testowania aplikacji internetowych
      • Narzędzie Perfecto Scriptless Web
      • Narzędzie Testim do bezkodowego testowania aplikacji internetowych
      • Narzędzie Mabl do bezkodowego testowania aplikacji internetowych
    • Podsumowanie
  • Rozdział 14. Podsumowanie
    • Główne wnioski z książki
    • Przydatne materiały referencyjne
      • Dla frameworku Cypress
      • Dla frameworku Playwright
      • Dla frameworku Selenium
      • Dla frameworku Puppeteer
  • Title: Testowanie aplikacji dla programistów frontendowych. Wiodące frameworki do automatyzacji testów aplikacji internetowych i ich przyszłość oparta na testowaniu niskokodowym i sztucznej inteligencji
  • Author: Eran Kinsbruner
  • Original title: A Frontend Web Developer's Guide to Testing: Explore leading web test automation frameworks and their future driven by low-code and AI
  • Translation: Lech Lachowski
  • ISBN: 978-83-283-9865-8, 9788328398658
  • Date of issue: 2023-02-21
  • Format: Ebook
  • Item ID: tesapl
  • Publisher: Helion