Witamy w sekcji Nauka testowania

To szkolenie zawiera podstawowe informacje o testowaniu w internecie i jego eksplorację.

Podczas tego kursu dowiesz się:

  • Podstawy testowania
  • Testowanie automatyczne i ręczne
  • Gdzie i jak przeprowadzać testy
  • Sprawdzone metody
  • Filozofia testowania, w tym to, co testować, kto jest za to odpowiedzialny i jak ustalić, jak przetestować środki do osiągnięcia, a nie sam cel.

Kurs zawiera też zwięzły, praktyczny przykładowy kod, z którego można się uczyć.

Zakres kursu obejmuje kod JavaScript, model dokumentu frontendu, a także testowanie bibliotek w backendzie (w środowisku takim jak Node.js). Nie wymaga ona doświadczenia w testowaniu, ale potrzebna jest podstawa języka JavaScript i doświadczenie w korzystaniu z Node.js lub podobnego środowiska. Dobrze sprawdzają się zarówno dla początkujących, jak i doświadczonych programistów.

Większość platform i narzędzi do testowania używa wspólnego języka, dlatego w narzędziu Learn Testing stosuje się ogólne podejście do testowania. Jeśli trzeba podać konkretne informacje, użyjemy Vitest, czyli platformy testowej, która zyskuje na popularności, i zademonstrujemy, jak testować komponenty stron internetowych w języku React lub Lit. Więcej informacji na ten temat znajdziesz w załączniku.

Możesz przerabiać ten kurs od początku do końca, ale możesz go też wykorzystać jako źródło informacji na konkretne tematy. W stosownych przypadkach materiały kursu zawierają linki do materiałów.

Oto czego się nauczysz:

Rozpocznij testowanie

Czym jest testowanie

To ogólne wprowadzenie do testowania obejmujące praktyczne przykłady testowania w języku JavaScript. Omówiono w nim także skalę każdego testu.

Gdzie są przeprowadzane testy

Testy mogą pomóc w zwiększeniu produktywności i wydajnym pisaniu oprogramowania. Można je uruchamiać ręcznie za pomocą wiersza poleceń, ale można je też uruchamiać w ramach zautomatyzowanego procesu lub systemu kompilacji.

Środowisko testowe

Narzędzia wykonawcze, takie jak Node, są przeznaczone do ogólnego użytku, a kod testowy w przeglądarce można uruchamiać w środowisku emulowanym lub za pomocą platformy zaprojektowanej do testowania przeglądarek.

Rodzaje testów automatycznych

Dowiedz się więcej o typowych kategoriach testów, które odpowiadają głównie ich skali. Co ważne, typy testów nie mają ścisłej definicji i będą się zmieniać w zależności od potrzeb.

Co należy przetestować i jakie podejście należy zastosować

Określenie najważniejszych elementów bazy kodu, które należy poddać rygorystycznym testom, może być trudną decyzją. W tym module przedstawiamy koncepcję testowania jako sposób zakończenia oraz sposób oceny kodu pod kątem testowania.

Testowanie komponentów w praktyce

W tym module praktycznym dowiesz się, jak przetestować komponent React, który nie jest idealny. Wykorzystuje Vitest na 3 osobnych przykładach: przechwytywania ruchu sieciowego generowanego przez fetch(), naśmiewania się z zewnętrznej zależności i używania interfejsu Context Reacta do dostarczania niestandardowego fragmentu kodu na potrzeby testu.

Analiza statyczna

Korzystanie z narzędzi takich jak TypeScript i ESLint, które nie jest powszechnie uznawane, może stanowić typ automatycznej kontroli. W tym module omawiamy narzędzia alternatywne.

Asercje i inne podstawowe elementy

Narzędzia handlowe

Poznaj podstawowe elementy typowe dla większości bibliotek i platform testowych, w tym test() i assert, które będą podstawowymi elementami każdego testu tworzonego w języku JavaScript.

Wkrótce

  • Unikanie typowych błędów testowych
  • Testy zmiennoprzecinkowe
  • Biblioteki i narzędzia testowe
  • Wybieranie platformy testów

W pozostałej części tej sekcji znajdziesz więcej stron na temat platform i bibliotek testowych oraz sposobów ich użycia oraz sposobu wyboru odpowiedniego narzędzia i innych narzędzi.

Wkrótce: testowanie ukierunkowane na problemy

Poznasz wzorce pozwalające stawić czoła najczęstszym wyzwaniom związanym z testowaniem stron internetowych.

Wkrótce: testy automatyczne w praktyce

Z tej sekcji dowiesz się, jak przetestować witrynę e-commerce utworzoną za pomocą Next.js, w tym z kodem, który możesz sprawdzić samodzielnie. Dowiesz się, jak testować jego komponenty, jak korzystać z usług zewnętrznych, w tym z płatnościami, na potrzeby testowania oraz jak utworzyć kompleksowe testy witryny, która ma opcjonalną stronę logowania.

Wkrótce: filozofia testowania

Testowanie może być wyzwaniem dla inżynierów, ale wiedza o tym, co testować, kto jest odpowiedzialny i jakie są sprawdzone metody, również może stanowić wyzwanie dla zespołu programistów.

Wkrótce: pisanie kodu możliwego do przetestowania

Ten kurs zawiera wskazówki dotyczące testowania kodu w takiej postaci, w jakiej istnieje, ale Twój zespół może wykorzystać różne wzorce, by ułatwić testowanie kodu. W tej sekcji omawiamy niektóre podejścia.