PrzedsprzedażAkademia AI w testach i jakości oprogramowania: 1 350 zł zamiast 1 750 zł netto do 30 listopada

Startuje przedsprzedaż Akademii AI w testach i jakości oprogramowania: 5 tygodni z Tomaszem Stelmachem, start 11 stycznia 2027. Wyjątkowa cena 1 350 zł netto zamiast 1 750 zł tylko do 30 listopada.

zostało 38 dniZobacz program i zapisz się
Web Testing Heuristic Checklist: 40 heurystyk testowania aplikacji webowych do skopiowania
Czas czytania: 13 minut

Web Testing Heuristic Checklist to lista heurystyk (ang. heuristic, reguła kciuka), które podpowiadają testerowi, gdzie w aplikacji webowej najczęściej chowają się błędy: w nawigacji, w polach formularzy, w danych, w sesji, w dostępności i w bezpieczeństwie. Heurystyka nie jest przypadkiem testowym z oczekiwanym wynikiem, tylko pytaniem, które kieruje uwagę w miejsce o wysokim ryzyku. Dobra checklista nie zastępuje myślenia testera, tylko pilnuje, żeby nie zapomniał o rzeczach, które już raz kogoś zabolały.

W tym tekście pokazujemy, skąd wzięła się nazwa i lista (Test Heuristics Cheat Sheet Elisabeth Hendrickson, Jamesa Lyndsaya i Dale’a Emery’ego), jak działają najważniejsze heurystyki: SFDIPOT, Goldilocks, CRUD i kilka innych, dajemy pełną checklistę heurystyk do skopiowania w tabeli oraz instrukcję krok po kroku, jak zbudować własną checklistę dla Waszej aplikacji.

Co to jest heurystyka w testowaniu?

Heurystyka to omylna, ale użyteczna metoda rozwiązywania problemu. W testowaniu jest to skrót myślowy, który podsuwa pomysł na test: „sprawdź wartość za dużą, za małą i w sam raz”, „sprawdź, co się stanie, gdy dwie osoby edytują ten sam rekord”. Omylność jest tu cechą, nie wadą. Heurystyka nie gwarantuje znalezienia błędu, za to w krótkim czasie prowadzi w miejsca, w których błędy pojawiają się najczęściej.

Narzędzie Czym jest Kiedy pomaga
Przypadek testowy kroki, dane i oczekiwany wynik regresja, wymagania kontraktowe, automatyzacja
Checklista lista rzeczy do sprawdzenia, zwykle bez kroków szybki przegląd przed wydaniem, wdrożenie nowej osoby
Heurystyka pytanie lub reguła kciuka, która podsuwa pomysł na test testy eksploracyjne, nowe funkcje, mało dokumentacji
Mnemonik skrót, który przypomina zestaw heurystyk (np. SFDIPOT) planowanie pokrycia, rozmowy o ryzyku w zespole

Web Testing Heuristic Checklist łączy dwa ostatnie wiersze z drugim: to lista, ale złożona z pytań heurystycznych, a nie z kroków. Dlatego dobrze sprawdza się tam, gdzie scenariusze testowe nie nadążają za zmianami, czyli w większości nowoczesnych aplikacji webowych. Jak checklisty i heurystyki wpisują się w pozostałe typy testów webowych, pokazujemy w lekcji testowanie aplikacji webowych: co sprawdzić i jakimi narzędziami.

Skąd pochodzi Web Testing Heuristic Checklist?

Nazwa i układ tej checklisty pochodzą z Test Heuristics Cheat Sheet, ściągi opracowanej przez Elisabeth Hendrickson, Jamesa Lyndsaya i Dale’a Emery’ego, z prawami autorskimi Quality Tree Software z 2006 roku. Ministry of Testing opublikowało w 2022 roku jej rozszerzoną wersję, uzupełnioną przez kolejnych praktyków. Ściąga ma osobną sekcję testów webowych z grupami nawigacja, dane wejściowe, składnia, preferencje i dostępność, a obok niej sekcję ogólnych heurystyk, takich jak Goldilocks, CRUD, Follow the Data czy Interruptions.

Test Heuristics Cheat Sheet w liczbach

2006

rok praw autorskich pierwszej wersji (Quality Tree Software)

3

autorów oryginału: Hendrickson, Lyndsay, Emery

5

grup w sekcji testów webowych w wersji Ministry of Testing z 2022 roku

22

ogólne heurystyki w sekcji Heuristics, od Variable Analysis po Users and Scenarios

Źródło: Ministry of Testing, Test Heuristics Cheat Sheet, wersja z 31.03.2022, odczyt 10.10.2026

Poprzednia wersja tego artykułu nie podawała tego źródła i ograniczała się do kilku ogólnych pytań. Uzupełniamy to, bo przy heurystykach źródło ma znaczenie praktyczne: oryginalna ściąga jest zwięzła i warto mieć ją otwartą obok naszej tabeli, a nazwy heurystyk ułatwiają rozmowę w zespole. Zdanie „sprawdziłem Goldilocks na polu ilości” mówi więcej niż „przetestowałem pole”.

Jak działa SFDIPOT na przykładzie aplikacji webowej?

SFDIPOT to mnemonik z Heuristic Test Strategy Model Jamesa Bacha, który dzieli produkt na siedem obszarów do przemyślenia: strukturę, funkcje, dane, interfejsy, platformę, sposób użycia i czas. Każda litera to pytanie: „czego jeszcze nie przetestowaliśmy z tej perspektywy?”. Poniżej przykład dla typowego procesu zamówienia w sklepie internetowym.

Litera Obszar Pytania dla procesu zamówienia w aplikacji webowej
S Structure, struktura Z jakich elementów składa się strona koszyka: front, API, usługa płatności, skrypty firm trzecich? Co się stanie, gdy jeden z nich nie odpowie?
F Function, funkcje Co robi koszyk: dodaje, usuwa, przelicza rabaty, liczy dostawę? Która funkcja jest krytyczna dla przychodu?
D Data, dane Jakie dane przyjmuje i zapisuje: ilości, kody rabatowe, adresy z polskimi znakami? Gdzie te dane wędrują dalej?
I Interfaces, interfejsy Jak użytkownik i inne systemy rozmawiają z koszykiem: UI, API, webhook płatności, eksport do ERP?
P Platform, platforma Na czym to działa: przeglądarki, telefony, wersje systemów, CDN, zewnętrzna bramka płatności?
O Operations, użycie Jak ludzie naprawdę kupują: z telefonu w tramwaju, w trzech kartach naraz, z przyciskiem Wstecz po płatności?
T Time, czas Co z sesją po 30 minutach przerwy, promocją kończącą się o północy, zmianą czasu na zimowy?

Wbrew pozorom

Ten mnemonik nie powstał od razu w obecnym kształcie. Michael Bolton opisał w 2014 roku na blogu DevelopSense, że James Bach zaczął od pięciu elementów SFDPO zapamiętywanych jako „San Francisco DePOt”. Literę T, czyli czas, Bolton zaproponował po tym, jak sam przeoczył w pracy testera pomysły związane z czasem. Interfejsy dostały osobną literę dopiero po dyskusji, gdzie w modelu umieścić interfejs użytkownika, a żeby zachować skojarzenie, autorzy po prostu przekręcili pisownię: San Francisco DIPOT.

Jak używać heurystyk Goldilocks, CRUD i pokrewnych?

Heurystyki z sekcji ogólnej ściągi są krótkie, ale każdą łatwo przełożyć na konkretny test w aplikacji webowej. Poniżej te, których w naszych projektach używamy najczęściej, z przykładami.

Goldilocks

Za dużo, za mało, w sam raz

Pole ilości w koszyku: 0, 1, 99, 100 000, wartość ujemna, ułamek. Plik do wgrania: 0 bajtów, 1 bajt, tuż pod limitem i dużo ponad limit.

CRUD

Utwórz, odczytaj, zmień, usuń

Dla każdego obiektu (adres, zamówienie, użytkownik) przejdźcie wszystkie cztery operacje i sprawdźcie, czy zmiana jest widoczna wszędzie, także w raportach i eksportach.

Follow the Data

Idźcie za danymi

Wpiszcie nazwisko z apostrofem i polskimi znakami, a potem znajdźcie je w mailu, na fakturze PDF, w panelu admina i w eksporcie CSV.

Interruptions

Przerwij w połowie

Zamknijcie kartę w trakcie płatności, odłączcie sieć po kliknięciu Zapisz, wylogujcie się w drugiej karcie.

Count

Zero, jeden, wiele

Pusta lista wyników, jeden wynik, tysiąc wyników. Bardzo często pusty stan wygląda gorzej niż ktokolwiek przewidział.

Multi-User

Kilku użytkowników naraz

Dwie osoby edytują ten sam rekord. Kto wygrywa? Czy druga osoba dostaje informację, czy po cichu nadpisuje zmiany pierwszej?

Position

Początek, środek, koniec

Usuńcie pierwszy, środkowy i ostatni element listy. Przesuńcie element na koniec i z powrotem.

Sequences

Zmieńcie kolejność

Kliknijcie kroki kreatora w innej kolejności, wróćcie do kroku 2 po kroku 4, wyślijcie formularz dwa razy pod rząd.

Goldilocks to jedyna bajka, którą testerzy czytają w pracy bez wyrzutów sumienia. A mówiąc poważnie: heurystyki z tej listy najłatwiej przekazać nowym osobom w zespole, bo każda zmieści się na jednej karteczce. Kiedy znajdziecie dzięki nim błąd, zgłoście go tak, żeby programista mógł go odtworzyć za pierwszym razem. Jak to zrobić, piszemy w przewodniku jak poprawnie zgłosić błąd.

Pełna Web Testing Heuristic Checklist do skopiowania

Poniżej pełna checklista heurystyk testowania aplikacji webowych, zbudowana na grupach z sekcji testów webowych Test Heuristics Cheat Sheet i uzupełniona o obszary, które w naszej praktyce dają najwięcej błędów: sesję, uprawnienia, integracje i wydajność. Tabelę możecie skopiować do arkusza albo do strony w Confluence i dopisać kolumnę z wynikiem dla Waszej aplikacji.

Obszar Heurystyka Co sprawdzić Przykład błędu
Nawigacja Przycisk Wstecz Wstecz po wysłaniu formularza i po płatności ponowne obciążenie karty, formularz wysłany drugi raz
Nawigacja Odświeżenie strony F5 w trakcie kreatora i na stronie potwierdzenia utrata danych z poprzednich kroków, zdublowane zamówienie
Nawigacja Zakładka i link bezpośredni wejście z zapisanego adresu w środek procesu, po wylogowaniu biała strona zamiast przekierowania do logowania
Nawigacja Manipulacja adresem URL zmiana identyfikatora w adresie na cudzy (np. /zamowienie/1024 na 1025) dostęp do cudzych danych
Nawigacja Wiele kart i okien ta sama sesja w dwóch kartach, różne akcje w każdej koszyk rozjeżdża się między kartami
Nawigacja Gesty i dotyk przewijanie, przybliżanie, przytrzymanie na telefonie menu nie da się zamknąć palcem
Dane wejściowe Długość pola limit z interfejsu ominięty przez DevTools albo wklejenie błąd 500 albo ucięte dane w bazie
Dane wejściowe Znaki specjalne polskie znaki, apostrof, emoji, znaki z innych alfabetów „Ä…” zamiast „ą” w mailu i na fakturze
Dane wejściowe Białe znaki spacja na początku i końcu, sama spacja, tabulator konto „jan@firma.pl ” jako osobny użytkownik
Dane wejściowe Wstrzyknięcie HTML i JavaScript znaczniki i skrypt w polach tekstowych, komentarzach, nazwach plików wykonanie skryptu na stronie innego użytkownika (XSS)
Dane wejściowe Goldilocks dla liczb 0, 1, wartości brzegowe, ujemne, ułamki, bardzo duże ujemna cena w koszyku
Dane wejściowe Daty i czas 29 lutego, zmiana czasu, inna strefa czasowa, różne formaty dat promocja kończy się godzinę za wcześnie
Dane wejściowe Wgrywanie plików pusty plik, bardzo duży, złe rozszerzenie, nazwa z polskimi znakami plik znika bez komunikatu
Dane wejściowe Wklejanie i autouzupełnianie wklejenie z Worda, autouzupełnianie przeglądarki, menedżer haseł ukryte znaki psują walidację numeru konta
Sesja i stan Wygaśnięcie sesji wysłanie formularza po długiej przerwie utrata wpisanego tekstu bez ostrzeżenia
Sesja i stan Wylogowanie w innej karcie akcja w karcie, w której sesja już nie istnieje zapis danych bez zalogowanego użytkownika
Sesja i stan Podwójne kliknięcie dwa szybkie kliknięcia w Zapisz, Zapłać, Wyślij dwa zamówienia, dwa maile, dwa obciążenia
Sesja i stan Przerwanie zamknięcie karty, utrata sieci, uśpienie laptopa w trakcie operacji zamówienie w stanie „zawieszone” na zawsze
Sesja i stan Wielu użytkowników ten sam rekord edytowany jednocześnie przez dwie osoby ciche nadpisanie cudzych zmian
Preferencje Wyłączony JavaScript lub ciasteczka przeglądarka z blokadą ciasteczek, wtyczki blokujące logowanie w pętli bez komunikatu
Preferencje Rozmiar okna wąskie okno, obrót telefonu, monitor ultrapanoramiczny przycisk Zapłać poza ekranem
Preferencje Powiększenie i rozmiar czcionki zoom 200 procent, większa czcionka systemowa tekst nachodzi na siebie, ucięte etykiety
Preferencje Język i region przeglądarka po angielsku, inny separator dziesiętny 1,5 odczytane jako 15
Dostępność Obsługa klawiaturą cała ścieżka bez myszy: Tab, Enter, Esc, strzałki pułapka fokusu w oknie modalnym
Dostępność Widoczny fokus czy zawsze widać, który element jest aktywny fokus ukryty przez styl outline: none
Dostępność Etykiety pól czy każde pole ma etykietę, a błędy są powiązane z polem czytnik ekranu czyta „pole edycyjne” bez nazwy
Dostępność Tekst alternatywny obrazki niosące informację mają alt, ozdobne pusty alt przycisk z ikoną bez nazwy
Dostępność Kontrast tekst zwykły co najmniej 4,5:1 według WCAG 2.2 szary tekst na białym tle w formularzu
Dostępność Język strony atrybut lang zgodny z treścią czytnik ekranu czyta polski tekst angielską wymową
Dostępność Wielkość celu przyciski i linki co najmniej 24 na 24 piksele (WCAG 2.2) nietrafione ikonki na telefonie
Bezpieczeństwo Kontrola dostępu akcje i adresy dla innej roli wywołane bezpośrednio zwykły użytkownik otwiera panel admina
Bezpieczeństwo Komunikaty błędów co widać po błędzie serwera i złym logowaniu ślad stosu i wersja frameworka na ekranie
Bezpieczeństwo Logowanie i hasła blokada po wielu próbach, reset hasła, komunikat dla nieistniejącego konta można sprawdzić, czy dany mail ma konto
Bezpieczeństwo Dane w adresie i pamięci przeglądarki tokeny i dane osobowe w URL, localStorage, logach token sesji w historii przeglądarki
Składnia Walidacja HTML i CSS walidator W3C dla kluczowych szablonów zduplikowane identyfikatory psują etykiety i skrypty
Wydajność Core Web Vitals LCP, INP i CLS na telefonie dla kluczowych stron przycisk przeskakuje w momencie kliknięcia
Wydajność Duże ilości danych lista z tysiącem pozycji, długi raport, wiele filtrów naraz strona zamarza na kilka sekund
Integracje Błędy usług zewnętrznych odpowiedź 500, przekroczony czas, pusta odpowiedź z API nieskończony spinner bez komunikatu
Integracje Powiadomienia i e-maile treść, linki i dane w wiadomościach po każdej akcji link w mailu prowadzi na środowisko testowe
Integracje Eksporty i raporty CSV, PDF, faktury po zmianach danych (Follow the Data) stara cena na fakturze po edycji zamówienia

To 40 heurystyk w dziewięciu obszarach. Nie musicie przechodzić wszystkich w każdej sesji. Lepiej wybrać kilka obszarów najbardziej ryzykownych dla danej zmiany i przejść je dokładnie. Sekcję wydajności rozwijamy w artykule jak szybko powinna ładować się strona internetowa, dostępność w tekście audyt dostępności strony, a pełne kryteria kontrastu i wielkości celu znajdziecie w WCAG 2.2.

Jak stworzyć własną checklistę heurystyk?

Gotowa lista to dobry start, ale najwięcej błędów łapie checklista dopasowana do Waszego produktu. Poprzednia wersja tego artykułu obiecywała kroki i ich nie podała, więc tu jest pełna instrukcja.

Własna checklista heurystyk w sześciu krokach

01Zbierzcie błędy z ostatnich 6 do 12 miesięcy z trackera i z produkcji. Szukajcie powtarzających się wzorców, a nie pojedynczych historii.

02Pogrupujcie je według SFDIPOT albo według obszarów z tabeli powyżej. Puste obszary to sygnał, że tam nikt nie patrzy, a nie że tam nie ma błędów.

03Każdy wzorzec zapiszcie jako pytanie z przykładem, na przykład „Co się stanie po Wstecz na stronie potwierdzenia płatności?”. Pytanie prowokuje test, hasło „nawigacja” nie.

04Dołóżcie heurystyki z Test Heuristics Cheat Sheet, których jeszcze nie macie, zwłaszcza Goldilocks, CRUD, Follow the Data i Interruptions.

05Nadajcie każdej pozycji priorytet według ryzyka: wpływ na przychód, dane osobowe, liczba użytkowników. Na krótkie sesje bierzcie tylko pozycje z najwyższym priorytetem.

06Przeglądajcie listę raz na kwartał. Usuwajcie pytania, które od dawna nic nie znajdują, dopisujcie nowe po każdym poważnym incydencie.

Jak nazwać heurystykę, żeby zespół ją zapamiętał? Najlepiej krótko i obrazowo, tak jak robią to autorzy ściągi. W naszych projektach u klientów sprawdzają się nazwy z życia zespołu, na przykład „test poniedziałku”, czyli sprawdzenie raportów po weekendzie bez ruchu. Taka nazwa żyje w rozmowach dłużej niż numer pozycji w dokumencie.

Jak używać checklisty w testach eksploracyjnych?

Checklista heurystyk działa najlepiej w testach eksploracyjnych prowadzonych w sesjach: z misją, ograniczonym czasem i notatkami. Misję sesji zapisuje się zwykle w krótkim szablonie, tzw. karcie sesji (charter). Przykład, który możecie skopiować:

KARTA SESJI EKSPLORACYJNEJ
Misja: zbadać proces zamówienia z kodem rabatowym
       z użyciem heurystyk Goldilocks, Interruptions i Follow the Data
Zakres: koszyk, kod rabatowy, płatność testowa, mail potwierdzający
Poza zakresem: panel administratora
Czas: 60 minut
Środowisko: staging, Chrome i Safari na iOS
Heurystyki z checklisty: Wstecz, Podwójne kliknięcie, Daty i czas, Eksporty

NOTATKI
- [hh:mm] co zrobiłem, co zobaczyłem
BŁĘDY
- tytuł, kroki, wynik oczekiwany i rzeczywisty
PYTANIA DO ZESPOŁU
-
CO ZOSTAŁO DO SPRAWDZENIA
-

Po sesji wnioski trafiają z powrotem do checklisty: nowy wzorzec błędu to nowa heurystyka. Z naszego doświadczenia to właśnie ta pętla odróżnia zespół, który „robi eksploracje”, od zespołu, który z każdą sesją testuje mądrzej. Prowadzenie testów eksploracyjnych w uporządkowany i mierzalny sposób ćwiczycie na szkoleniu testy eksploracyjne i heurystyczne w praktyce, a podstawy pracy z narzędziami przeglądarki, które przydają się przy wielu pozycjach z tabeli, na szkoleniu testowanie interfejsów webowych z użyciem DevTools. O tym, dlaczego praca manualna i eksploracyjna wciąż ma ogromną wartość, piszemy też na portalu Strefa QA w tekście czemu manualne testowanie wcale nie jest mniej wartościowe.

Czym różnią się heurystyki testowe od heurystyk Nielsena?

Słowo „heurystyka” pojawia się w dwóch światach i łatwo je pomylić. Heurystyki testowe, o których jest ten artykuł, podpowiadają, gdzie szukać błędów. Heurystyki użyteczności Jakoba Nielsena, opublikowane w 1994 roku i przejrzane przez Nielsen Norman Group w 2024 roku, służą do oceny interfejsu przez eksperta, czyli do tak zwanej ewaluacji heurystycznej. To dziesięć zasad, między innymi widoczność stanu systemu, kontrola i swoboda użytkownika, spójność i standardy, zapobieganie błędom oraz pomoc w rozpoznaniu błędu i wyjściu z niego.

Obie listy dobrze się uzupełniają. Pozycja „Przerwanie” z naszej tabeli prowadzi do sytuacji, którą potem oceniacie heurystyką Nielsena „pomóż użytkownikowi rozpoznać błąd i z niego wyjść”. Jeśli Wasz zespół testuje głównie interfejs, warto mieć obie listy w jednym miejscu. Jeśli wolicie, żeby przegląd aplikacji zrobił zespół z zewnątrz, prowadzimy testy oprogramowania, w tym testy dostępności i testy bezpieczeństwa aplikacji webowych.

Co zabrać z tego artykułu

01Web Testing Heuristic Checklist to lista pytań heurystycznych, a nie przypadków testowych. Pokazuje, gdzie szukać błędów, nie co dokładnie kliknąć.

02Nazwa i układ pochodzą z Test Heuristics Cheat Sheet Hendrickson, Lyndsaya i Emery’ego (2006), rozwijanej dziś przez Ministry of Testing.

03SFDIPOT dzieli produkt na strukturę, funkcje, dane, interfejsy, platformę, użycie i czas. Goldilocks, CRUD, Follow the Data i Interruptions dają konkretne testy w kilka minut.

04Tabela w artykule ma 40 heurystyk w dziewięciu obszarach. Skopiujcie ją i dopiszcie pozycje z historii błędów Waszej aplikacji.

05Najlepiej działa w sesjach eksploracyjnych z kartą sesji, a wnioski z każdej sesji wracają do checklisty.

Chcecie, żeby Wasz zespół testował eksploracyjnie z heurystykami, a nie na wyczucie? Na szkoleniu Testy eksploracyjne i heurystyczne w praktyce ćwiczycie SFDIPOT, karty sesji i budowę własnej checklisty na realnych aplikacjach.

Zobaczcie program szkolenia


Powiązane na blogu Quality Island

Pełna lista źródeł

Co o tym sądzisz?

Dodaj komentarz

Bądź na bieżąco
Strefa QA, portal z eksperckimi artykułami o jakości oprogramowania
Bądź na bieżąco
Bezpieczne programowanie z AI
Bezpieczne programowanie z AI: tworzenie oprogramowania z asystentami kodu

1 690,00 zł

26.11.26, 17.12.26, 28.01.27, 04.03.27, 25.03.27
1 dzień
AI Act i RODO w firmie
AI Act i RODO w firmie: bezpieczne korzystanie ze sztucznej inteligencji

1 290,00 zł

24.11.26, 15.12.26, 26.01.27, 02.03.27, 30.03.27
1 dzień
Testy bezpieczeństwa dla początkujących
Testy bezpieczeństwa dla początkujących: OWASP Top 10 i pierwsze testy aplikacji webowych

1 000,00 zł

18.11.26, 09.12.26, 13.01.27, 03.02.27, 24.02.27, 17.03.27
1 dzień
Popularne artykuły
Język Gherkin: co to jest i jak go używać w testowaniu oprogramowania
Smoke test: co to jest, kiedy go uruchamiać i czym różni się od sanity testu
Jak zostać testerem oprogramowania: ścieżka krok po kroku bez dyplomu informatyka
Najnowsze artykuły
Testowanie migracji danych i systemów: co sprawdzić, zanim przełączycie produkcję
Metryki DORA psują się w erze AI: dlaczego szybkość wydawania przestaje być dowodem jakości
OWASP Top 10:2025 okiem testera: co sprawdzić w każdej z dziesięciu kategorii
Popularne kategorie