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.