Eksperyment
Dziś we wstępie musimy zacząć od małego eksperymentu, wykonamy go na przykładzie testów aplikacji webowej.
Wyobraź sobie, że masz aplikację webową i masz za zadanie przetestować nową funkcjonalność, jakim jest formularz rejestracji użytkownika. Pytanie brzmi, jak byś podszedł do testów i co byś przetestował.
W większości przypadków zaczynający drogę testera adepci lub osoby początkujące wymieniają dwa typy testów. Funkcjonalne oraz testy cross browser (testy aplikacji na różnych przeglądarkach i systemach). Pytanie, czy to wszystko, co możemy sprawdzić, przeprowadzając testy.

Czasami warto spojrzeć trochę szerzej na aspekt testowania. Poniżej znajdziesz listę testów, które możesz przeprowadzić w aplikacji webowej.
Pełne podejście
Nasze testowanie można rozdzielić na kilka warstw, przyjmijmy, że nazwiemy je:
- UI
- Rest API
- Backend
- Baza danych
- Bezpieczeństwo
- Performance
Warstwa UI
Sama warstwa UI jest już dość pokaźnym zbiorem różnego rodzaju testów, możemy na niej wykonać takie testy jak:
- Funkcjonalne – czy nasza funkcjonalność działa według spisanych kryteriów. Możemy przeprowadzić takie testy na końcowej warstwie dostępnej dla końcowego użytkownika.
- Cross browser – czy nasza aplikacja wygląda zgodnie z wymaganiami na najnowszym iPhone’ie, Androidzie, starym komputerze z Windowsem czy Internet Explorer (o ile musimy go wspierać).
- UI – czy nasza aplikacja wygląda zgodnie z designem, jaki otrzymaliśmy do implementacji.
- UX – czy nasza aplikacja jest czytelna intuicyjna, w kwestii UX. Podczas testów można wypisywać proponowane zmiany, które w opinii testera przyczynią się do lepszego odbioru/zrozumienia strony przez użytkownika.
- Dostępność – czy spełniamy WCAG i nasza strona jest dostępna dla osób niepełnosprawnych.
Rest API
API jest kolejnym ważnym aspektem, o którym nie możemy zapomnieć, w końcu jest to warstwa, która służy za komunikacje z backendem naszej aplikacji. Najpopularniejszym narzędziem do jej przetestowania będzie Postman, który pozwoli nam sprawdzić, czy nasz endpoint nie ma ewentualnych błędów i działa zgodnie z dokumentacją.
Backend
Tutaj zazwyczaj uwaga skupia się, na developerach których zadaniem podczas pisania backendu jest również pisanie testów jednostkowych, integracyjnych. Nie znaczy to, że testów tych nie może pisać tester (SDET – software developer in test). Zależy to mocno od strategii testów i podziału obowiązków w firmie.
Baza danych
W przypadku bazy danych warto zweryfikować poprawność zapisu danych oraz ich odczytu.
Bezpieczeństwo
Testy aplikacji webowej to też bezpieczeństwo, można je testować na wielu poziomach oraz szukać podatności. Warto pamiętać o podstawach i zapoznać się z OWSAP Top 10, czyli listę dziesięciu najpopularniejszych błędów w zabezpieczeniach aplikacji webowych. https://owasp.org/www-project-top-ten/
Performance
To kolejny obszerny temat, który można przetestować. Możemy zmierzyć średnie czasy odpowiedzi requestów, zrobić testy obciążeniowe. Warto pamiętać, że testy tego typu warto wykonywać na środowiskach zbliżonych warunkami do produkcyjnych tak, aby posiadać realny obraz wydajności naszej aplikacji.
Podsumowanie
Jak widać testy aplikacji webowej można przeprowadzić na wielu płaszczyznach. Ze względu na jakość ważne, żeby nie zamykać się na testowaniu jedynie warstwy UI.
Jeśli jesteś ciekawy serii wpisów na temat podstaw testowania oprogramowania, koniecznie wejdź w ten link! -> Klik
Ikona bazy danych: Icons made by Freepik from www.flaticon.com
Photo by Lala Azizli on Unsplash