Testowanie manualne i automatyczne: jakie są różnice i kiedy wybrać każde podejście
Czas czytania: 14 minut

Testy automatyczne to testy wykonywane przez skrypt, który sam klika, wysyła żądania i porównuje wynik z oczekiwanym, a testy manualne wykonuje i ocenia człowiek. Testowanie manualne i automatyczne nie konkurują ze sobą: różnią się kosztem, szybkością i tym, jakie błędy potrafią znaleźć. Ten artykuł daje Wam macierz decyzyjną, która dla każdego przypadku testowego mówi, czy go automatyzować, oraz prosty przykład wyliczenia zwrotu.

Na blogu mamy dwa teksty o tej parze pojęć, więc krótko, który do czego służy. Ten odpowiada na pytanie, czym się różnią i jak zdecydować o pojedynczym teście. Artykuł testowanie manualne vs testowanie automatyczne pokazuje, jak ułożyć proporcje w całym zespole i jak policzyć próg opłacalności dla portfela testów. Pełny bilans korzyści i kosztów automatyzacji znajdziecie w tekście o zaletach i wadach automatyzacji testów.

Czym są testy manualne, a czym testy automatyczne?

W teście manualnym człowiek wykonuje kroki i decyduje, czy wynik jest poprawny. Może przy tym korzystać z narzędzi, na przykład DevTools, Postmana czy SQL, ale ocena należy do niego. Warsztat ręczny ze wzorami przypadku testowego, karty sesji i raportu błędu opisujemy w artykule o tym, czym są testy manualne i jakie są ich rodzaje.

W teście automatycznym kroki i ocenę zapisuje się w kodzie. Poniżej ten sam przypadek, który w artykule o testach manualnych wykonuje człowiek: darmowa dostawa od 200,00 zł. Test w Playwright przechodzi przez koszyk i sprawdza koszt dostawy przed progiem i po nim:

import { test, expect } from '@playwright/test';

test('darmowa dostawa od 200,00 zł', async ({ page }) => {
  await page.goto('https://sklep.example.com/koszyk');
  await page.getByRole('button', { name: 'Dodaj produkt A' }).click();
  await expect(page.getByTestId('koszt-dostawy')).toHaveText('14,99 zł');
  await page.getByRole('button', { name: 'Dodaj produkt B' }).click();
  await expect(page.getByTestId('koszt-dostawy')).toHaveText('0,00 zł');
});

Ten skrypt wykona się w kilka sekund, o każdej porze i tysiąc razy z rzędu identycznie. Nie zauważy jednak, że koszt dostawy wyświetla się szarą czcionką na szarym tle, bo nikt mu nie kazał na to patrzeć. Na tym polega cała różnica: automat sprawdza dokładnie to, co mu zapisaliście, i nic więcej. Jeśli zaczynacie od narzędzia, porównanie znajdziecie w tekście Selenium, Cypress czy Playwright.

Czym różni się testowanie manualne od automatycznego w praktyce?

Tabela zestawia różnice, które realnie wpływają na decyzje w projekcie. Wiersze z kosztem i stabilnością są ważniejsze niż wiersz z szybkością, choć to szybkość zwykle pada jako pierwszy argument.

Kryterium Testy manualne Testy automatyczne
Kto ocenia wynik Człowiek, z kontekstem i intuicją Asercja w kodzie, tylko to, co zapisano
Koszt pierwszego wykonania Niski: przypadek i tester Wysoki: kod, dane, środowisko, integracja z CI
Koszt każdego kolejnego wykonania Taki sam jak pierwszego Bliski zera, plus utrzymanie przy zmianach aplikacji
Szybkość Minuty do godzin na przypadek Sekundy do minut, równolegle na wielu maszynach
Powtarzalność Zależy od człowieka i opisu przypadku Identyczna przy każdym uruchomieniu
Jakie błędy znajduje Nowe, nieoczywiste, użyteczność, spójność Regresję w znanych ścieżkach
Odporność na zmiany UI Wysoka: człowiek się dostosuje Niska: zmiana lokatora psuje test
Fałszywe alarmy Rzadkie, raczej przeoczenia Testy niestabilne (flaky) przy złym projekcie
Reużywalność Przypadki testowe wykonuje się wielokrotnie, w każdym przebiegu Kod testu i komponenty (np. Page Object) wspólne dla wielu testów
Kompetencje Analiza, techniki projektowania, domena To samo plus programowanie i CI/CD

Źródło: ISTQB CTFL 4.0 (2023), Martin Fowler (2012), praktyka Quality Island

Wiersz o reużywalności prostuje częsty mit: przypadki testowe manualne są używane wielokrotnie, w każdej regresji i przy każdym retestcie. Różnica nie polega na tym, czy test da się powtórzyć, tylko na tym, ile kosztuje każde powtórzenie.

Czy testy automatyczne są niezawodne?

Nie, i to najważniejsza rzecz, którą warto wiedzieć przed budżetowaniem automatyzacji. Test automatyczny potrafi raz przejść, a raz nie przejść na tym samym kodzie, z powodu czasu odpowiedzi, kolejności zdarzeń albo współdzielonych danych. Google opisał skalę zjawiska w swoim Google Testing Blog (2016):

Niestabilne testy automatyczne w Google

1,5%

wszystkich uruchomień testów dawało wynik flaky

16%

testów miało pewien poziom niestabilności

1000

testów w przeciętnym projekcie, czyli około 15 fałszywych porażek na wydanie

Źródło: Google Testing Blog, Flaky Tests at Google and How We Mitigate Them (2016)

Ciekawostka: czerwony build częściej kłamie, niż myślicie

Według tego samego wpisu Google (2016) około 84 procent przejść testu ze stanu zaliczony na niezaliczony w systemie CI dotyczyło testu niestabilnego, a nie nowego błędu w kodzie. Czyli test automatyczny bez dyscypliny projektowej generuje pracę dla ludzi, zamiast ją oszczędzać. Dlatego w macierzy niżej stabilność funkcji i jednoznaczność wyniku mają tę samą wagę co częstotliwość.

Wniosek nie brzmi: nie automatyzujcie. Brzmi: liczcie utrzymanie i analizę porażek jako stały koszt automatyzacji. Wzorce, które ograniczają niestabilność w Selenium, opisuje artykuł o wzorcach projektowych w Selenium WebDriver.

Jak zdecydować, który test automatyzować? Macierz decyzyjna z punktacją

Decyzję podejmujcie dla pojedynczego przypadku testowego, nie dla całego modułu. Oceńcie przypadek w pięciu kryteriach w skali od 0 do 3 i zsumujcie punkty. Wynik od 11 do 15 oznacza automatyzację teraz, od 7 do 10 kandydata do backlogu automatyzacji, a 6 i mniej test manualny. Jedna reguła ma pierwszeństwo przed sumą: jeśli wynik wymaga oceny człowieka (0 punktów w ostatnim kryterium), test zostaje manualny.

Kryterium 0 punktów 1 punkt 2 punkty 3 punkty
Częstotliwość uruchomień Jednorazowo Raz na kwartał Co sprint Przy każdym buildzie
Stabilność funkcji Zmienia się co sprint Zmiany co kwartał Zmiany kilka razy w roku Bez zmian od roku
Ryzyko biznesowe Kosmetyka Funkcja pomocnicza Ważna funkcja Pieniądze, dane, regulacje
Koszt ręcznego wykonania Poniżej 5 minut 5 do 15 minut 15 do 60 minut Ponad godzina lub wiele konfiguracji
Wynik sprawdzalny maszynowo Wymaga oceny człowieka Częściowo Tak, z przygotowaniem danych Tak, jednoznaczna asercja

Źródło: macierz decyzyjna Quality Island

A tak macierz wygląda na przypadkach z typowego sklepu internetowego. Zwróćcie uwagę na onboarding: wysokie ryzyko nie wystarcza, gdy ekran zmienia się co sprint.

Przypadek testowy Częst. Stab. Ryzyko Koszt Asercja Suma Decyzja
Logowanie i wylogowanie 3 3 3 1 3 13 Automatyzować teraz
Płatność kartą i BLIK w sandboxie 3 2 3 2 3 13 Automatyzować teraz
Koszyk w 12 konfiguracjach przeglądarek 2 3 2 3 3 13 Automatyzować teraz
Darmowa dostawa od progu 2 3 2 2 3 12 Automatyzować teraz
Nowy onboarding w budowie 2 0 2 1 2 7 Backlog, wrócić po stabilizacji
Czytelność faktury PDF 1 2 1 1 0 5 Manualnie (reguła oceny człowieka)
Jednorazowa migracja danych klientów 0 0 3 3 2 8 Skrypt weryfikacyjny, nie test regresji

Źródło: przykład Quality Island

Ostatni wiersz pokazuje, że macierz nie jest automatem do decyzji. Migracja ma 8 punktów, ale wykona się raz, więc zamiast testu regresji piszecie jednorazowy skrypt porównujący dane. W naszych projektach macierz porządkuje rozmowę zespołu i zostawia ślad, dlaczego coś zautomatyzowaliście. Ten sam sposób myślenia ćwiczymy na szkoleniu strategia testowania od A do Z.

Kiedy testy automatyczne się zwracają? Prosty przykład wyliczenia

Zwrot z automatyzacji pojedynczego testu zależy od trzech liczb: czasu ręcznego wykonania, liczby uruchomień i kosztu napisania z utrzymaniem. Przykład dla przypadku z darmową dostawą. Test ręczny zajmuje 20 minut z przygotowaniem danych, napisanie testu automatycznego 6 godzin, a utrzymanie i analiza wyników średnio 15 minut tygodniowo.

Scenariusz Uruchomienia w tygodniu Czas ręczny tygodniowo Oszczędność netto tygodniowo Zwrot 6 godzin po
Wydanie raz w tygodniu 1 20 min 5 min 72 tygodniach
Dwa wydania w tygodniu 2 40 min 25 min ok. 14,4 tygodnia
Codzienny build 5 100 min 85 min ok. 4,2 tygodnia
Każdy merge, 4 dziennie 20 400 min 385 min niecałym tygodniu

Źródło: wyliczenie Quality Island: 360 minut podzielone przez oszczędność netto

Ten sam test przy rzadkich wydaniach zwraca się po ponad roku, a przy pracy w CI po kilku dniach. Dlatego pytanie, czy automatyzacja się Wam opłaca, nie ma sensu bez pytania, jak często wydajecie. Kalkulator progu opłacalności dla całego zestawu testów, z udziałem kosztu narzędzi i infrastruktury, pokazujemy w artykule testowanie manualne vs automatyczne.

Na większą skalę wygląda to tak, jak w projekcie dla Argos, firmy e-commerce: automatyzacja testów i uporządkowanie procesów QA skróciły regresję przed wydaniem z 5 dni do 10 godzin, a liczba błędów krytycznych na produkcji spadła o 46 procent (dane klienta z case study Quality Island). Przebieg tego projektu opisujemy w artykule jak skrócić testy regresyjne z 5 dni do 10 godzin.

Co automatyzować najpierw, a czego nie automatyzować wcale?

Najpierw

Smoke test każdego buildu

Kilka do kilkunastu testów, które mówią, czy aplikacja w ogóle działa. Najszybszy zwrot, bo uruchamiane najczęściej.

Najpierw

Ścieżki z pieniędzmi i danymi

Logowanie, płatność, zamówienie, zapis danych osobowych. Wysokie ryzyko i jednoznaczne asercje.

Najpierw

Testy API pod interfejsem

Szybsze i stabilniejsze od testów przez przeglądarkę, sprawdzają logikę bez zależności od wyglądu.

Nie automatyzować

Funkcje w budowie

Ekrany zmieniające się co sprint. Test napisany dziś jutro trzeba przepisać.

Nie automatyzować

Ocena użyteczności i wyglądu

Czytelność, wygoda, pierwsze wrażenie. Skrypt nie ma opinii, a tu potrzebna jest opinia.

Nie automatyzować

Testy jednorazowe

Migracje, odbiory, weryfikacja incydentu. Koszt kodu nigdy się nie zwróci.

Zasada pierwszeństwa testów API ma źródło w piramidzie testów, którą Martin Fowler opisał w TestPyramid (2012): dużo szybkich testów na niskim poziomie, mało wolnych testów przez interfejs. Warstwy i proporcje omawiamy w tekście o piramidzie testów, a wdrożenie po stronie usług to automatyzacja testów API.

Jak testy manualne i automatyczne dzielą się pracą w CI/CD?

W zespole z ciągłą integracją testy automatyczne i manualne mają przypisane miejsca w potoku. Dzięki temu nikt nie pyta, czy coś zostało przetestowane, tylko na którym etapie.

Etap Testy automatyczne Testy manualne Czas
Commit i merge request Jednostkowe, API, smoke Przegląd kodu testów Do 10 minut
Po scaleniu do gałęzi głównej Regresja krytycznych ścieżek UI Brak Do godziny
Noc Pełna regresja, przeglądarki i urządzenia Brak Kilka godzin
Sprint Utrzymanie i naprawa testów flaky Sesje eksploracyjne nowych funkcji Ciągle
Przed wydaniem Wyniki regresji jako dowód Testy akceptacyjne, użyteczność, decyzja o wydaniu Godziny

Źródło: praktyka Quality Island, Martin Fowler, The Practical Test Pyramid (2018)

Jeśli potok nie istnieje albo testy nie są do niego podpięte, automatyzacja daje ułamek możliwej wartości. Budowę takiego potoku obejmuje usługa automatyzacji testów, w której pracujemy na doświadczeniu z ponad 450 000 napisanych testów automatycznych.

Czy testy automatyczne zastąpią testy manualne?

Nie, i nie chodzi o sentyment. Test automatyczny sprawdza oczekiwanie, które ktoś wcześniej sformułował, a najdroższe błędy to te, których nikt nie przewidział. Sylabus ISTQB CTFL 4.0 (2023) wśród siedmiu zasad wymienia, że testowanie wyczerpujące jest niemożliwe, więc ktoś musi wybierać, co sprawdzić, i oceniać to, czego nie da się zapisać w asercji. Narzędzia AI przyspieszają pisanie testów i generowanie danych, ale wynik nadal trzeba przejrzeć i zrozumieć.

Zmienia się za to rola testera manualnego. U klientów, z którymi pracujemy, coraz mniej czasu idzie na ręczną regresję, a coraz więcej na analizę wymagań, eksplorację i ocenę ryzyka. Automat przejmuje nudne klikanie, a człowiekowi zostaje to, co ciekawe, czyli psucie aplikacji w sposób, na który nikt nie wpadł. Jak rozwijać się w tym kierunku, piszemy w poradniku jak stać się lepszym testerem.

Jakich kompetencji wymaga każde podejście?

Kompetencja Tester manualny Tester automatyzujący
Analiza wymagań i ryzyka Podstawa pracy Podstawa pracy
Techniki projektowania testów Klasy równoważności, wartości brzegowe, eksploracja Te same, bo to one decydują, co trafi do kodu
Programowanie Niewymagane, przydatne podstawy SQL Java, Python albo TypeScript, wzorce Page Object
Narzędzia Jira, system zarządzania testami, DevTools, Postman Selenium, Playwright, Appium, Git, potok CI/CD
Typowy produkt pracy Przypadki, karty sesji, raporty błędów Zestaw testów w repozytorium, raport z potoku

Źródło: praktyka Quality Island, ISTQB CTFL 4.0 (2023)

Droga od testów manualnych do automatyzacji zaczyna się od fundamentów, nie od narzędzia. Fundament daje szkolenie ISTQB Certyfikowany Tester albo kompleksowy kurs testera manualnego, a pierwszy krok w kodzie szkolenie z automatyzacji testów w Playwright lub z automatyzacji testów w Selenium. Pełną listę znajdziecie w szkoleniach z automatyzacji testów. Kandydatów z obu ścieżek łączy z firmami QA Board, a o tym, jak zespoły dzielą pracę między ludzi i automaty, rozmawia się co roku na Testing Ground Conference.

Co zabrać z tego artykułu

01Testy automatyczne sprawdzają tylko to, co zapisano w asercji. Testy manualne znajdują błędy, których nikt nie przewidział.

02Automaty nie są niezawodne: w Google 16% testów miało pewien poziom niestabilności, więc utrzymanie to stały koszt.

03Decydujcie per przypadek testowy: macierz pięciu kryteriów, próg 11 punktów i reguła oceny człowieka.

04Zwrot zależy głównie od częstotliwości: ten sam test zwraca się po 72 tygodniach albo po kilku dniach.

05Najpierw smoke test, ścieżki z pieniędzmi i API. Nigdy funkcje w budowie i ocena wyglądu.

Źródło: Google Testing Blog (2016), ISTQB CTFL 4.0, Martin Fowler, praktyka Quality Island

Chcecie wiedzieć, które testy w Waszym projekcie automatyzować i ile to da? Audyt QA kończy się listą przypadków z decyzją i szacunkiem zwrotu.

Audyt QA


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
AI Act w wyrobach medycznych
AI Act w wyrobach medycznych: testy i dokumentacja AI pod MDR

1690,00 PLN

30.11.26, 18.01.27, 08.03.27
1 dzień
AI Act w bankowości i ubezpieczeniach
AI Act w bankowości i ubezpieczeniach: scoring kredytowy, wycena ubezpieczeń i FRIA

1690,00 PLN

27.11.26, 15.01.27, 05.03.27
1 dzień
Testowanie systemów AI wysokiego ryzyka pod AI Act
Testowanie systemów AI wysokiego ryzyka pod AI Act: dokumentacja testowa i QMS dla dostawców

2390,00 PLN

26.11.26, 14.01.27, 04.03.27
2 dni
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
Ile kosztują testy oprogramowania: cennik i czynniki ceny
Strategia testowania w organizacji: czego uczy nas case PKO BP
Koszt zespołu QA: własny zespół czy outsourcing? Rachunek dla CTO na 2026 rok
Popularne kategorie