Przejdź do treści
Podobają Ci się nasze treści?
Sięgnij po unikalną wiedzę prosto od developerów i marketingowców. Zapisz się do newslettera.
CAPTCHA
Dziękujemy za zapisanie się do newslettera!
Aby otrzymywać najświeższe, branżowe informacje, potwierdź subskrypcję w mailu, który od nas dostałeś.
PS. Nawet tak ważne wiadomości lubią czasem pomylić folder, dlatego upewnij się, że mail nie trafił do SPAMU
Otwórz swoją skrzynkę e-mail

Testy manualne vs. automatyczne – poznaj kluczowe różnice

Kategoria: 
Data aktualizacji: 
Czas czytania
: 9 min

Rozwijasz własną stronę lub aplikację, ale nie wiesz, czy testować ją przy pomocy automatycznych narzędzi, czy z testerem, który krok po kroku będzie przechodził przez kolejne funkcje? Mamy doświadczenie z obiema strategiami… i dlatego przygotowaliśmy poniższy poradnik. Pokażemy Ci, w jakich sytuacjach testy manualne są niezastąpione, a kiedy opłaca się postawić na automatyzację i dlaczego w wielu przypadkach warto połączyć oba podejścia.

Testy manualne vs automatyczne

Czym jest testowanie manualne?

Testowanie manualne to klasyczna forma testów, w której działanie strony lub aplikacji sprawdza się ręcznie, bez użycia skryptów. Tester wczuwa się w użytkownika i działa trochę tak, jak mystery shopper – z tą różnicą, że testerzy manualni wchodzą o wiele głębiej w funkcje systemu w poszukiwaniu błędów.

Co więc, w skrócie, robi tester manualny?

Obowiązki testera manualnego
  1. Przed właściwym audytem musi przygotować konkretne przypadki testowe („co”?) i opracować scenariusz („jak”?).
  2. W trakcie testu „przeklikuje” stronę zgodnie z planem lub – w przypadku testów eksploracyjnych – robi to swobodniej, skupiając się raczej na szukaniu błędów niż na zrealizowaniu konkretnego zadania (np. przejścia od A do Z przez proces checkoutu).
  3. Dokumentuje wszystkie błędy razem z listą kroków do ich odtworzenia, zrzutami ekranu lub (coraz częściej) z zapisem całej sesji.

Manualne podejście jest niezastąpione wszędzie tam, gdzie trzeba ocenić, jak strona lub aplikacja wygląda z perspektywy użytkownika, np. podczas audytów użyteczności, testów UX i UI.

Testowanie manualne – zalety i wady

Oto główne zalety testowania manualnego:

  • Bardzo dokładne informacje zwrotne – dobry tester wychwyci UXowe niuanse, które będą problemem dla użytkownika: nieintuicyjny układ przycisków, zbyt mały kontrast tekstu albo komunikaty, które nie są ze sobą spójne i wprowadzają w błąd.
  • Niższe koszty – w wielu przypadkach zakup odpowiedniego oprogramowania wspierającego automatyzację nie jest konieczny.
  • Cenne doświadczenie testera manualnego – jego znajomość konkretnych zagadnień może wiele zdziałać w przypadku złożonych problemów.
  • Szybkie wdrożenie – automatyzacja wymaga przygotowania specjalnego skryptu i procesu testującego, co może być czasochłonne. Testy manualne można za to wdrożyć i zacząć realizować znacznie szybciej.

Oto główne wady, które charakteryzują testowanie manualne:

  1. Ryzyko błędów – testy wykonywane przez człowieka są obarczone wysokim prawdopodobieństwem pomyłek, których zautomatyzowany proces praktycznie nigdy nie popełni; po 5-6 godzinach intensywnych testów tester może ze zmęczenia przeoczyć np. nieprawidłowo wyświetlający się kod rabatowy w sklepie.
  2. Brak auto save’a – testy manualne nie mogą być automatycznie zapisywane w celu późniejszego dokładnego odtworzenia ich lub przeanalizowania. Istnieją oczywiście narzędzia jak Microsoft Test Manager (MTM), który pozwala testerom odnotowywać i opisywać każdą podjętą akcję, jednak wymaga to od nich dodatkowej pracy.
  3. Dłuższy czas oczekiwania na wyniki – choć testy manualne da się wdrożyć stosunkowo szybko, to jednak w przypadku niektórych zadań (zwłaszcza tych powtarzalnych) uzyskanie rezultatów jest czasochłonne.

Czym jest testowanie automatyczne?

Testowanie automatyczne polega z kolei na sprawdzaniu funkcji strony/aplikacji przy użyciu skryptów testowych. Oczywiście czuwa nad nimi tester manualny, który przygotowuje scenariusz testu i analizuje wyniki – ale przez stronę przeklikuje się skrypt. Przykładami takich narzędzi mogą być LambdaTest, BrowserStack czy Sahi.

Testowanie przy pomocy skryptów ma sens głównie wtedy, gdy chcesz sprawdzić, czy funkcje strony po prostu działają i z jaką wydajnością. Nie dowiesz się dzięki nim, jak stronę mógłby ocenić użytkownik, ale za to możesz szybko przeprowadzić setki testów jednostkowych (dot. działania pojedynczych funkcji) oraz integracyjnych (czy podsystemy na stronie właściwie ze sobą współpracują).

Nic więc dziwnego, że automatyzacja odgrywa coraz większą rolę. Według najnowszego wydania raportu State of Testing, przygotowywanego co roku przez PractiTest na podstawie badań przeprowadzonych wśród specjalistów QA z całego świata, aż 75% zespołów developerskich zastąpiło przynajmniej część testów manualnych skryptami testowymi. Cały rynek automatyzacji testów też tylko zyskuje na znaczeniu. W 2023 r. był wyceniany na 28 miliardów dolarów, a do 2030 r., według prognoz Grand View Research, ma rosnąć co roku o kolejne 17%.

Testy automatyczne – zalety i wady

Oto główne zalety testowania automatycznego:

  • Szybkie, precyzyjne wyniki – jeśli cały proces jest odpowiednio przygotowany, możesz szybko otrzymywać dokładne rezultaty nawet w przypadku złożonych scenariuszy testowych. Skrypt może w kilka minut sprawdzić, jak system uwierzytelniania użytkownika zareaguje na setki różnych kombinacji haseł; ręcznie zajęłoby to godziny (wraz z raportowaniem). Według wspomnianego raportu State of Testing, aż 61% zespołów developerskich uważa skrócenie procesów QA za najważniejszą – i realną – korzyść z automatyzacji testów.
  • Prosta analiza – proces automatycznych testów może być łatwo monitorowany, co pozwala na ich późniejsze przeanalizowanie i dokładne odtworzenie.
  • Brak wpływu czynników ludzkich – zautomatyzowane testowanie jest przeprowadzane przez narzędzia, więc nie wchodzą w grę takie problemy jak zmęczenie pracownika, które zwiększa ryzyko popełnienia błędów.
  • Szeroki zakres testowanych czynników – można zwiększać go bez większych obaw, gdyż program nie zapomni o sprawdzeniu nawet najmniejszych elementów.

Oto główne wady, które charakteryzują testowanie automatyczne:

  1. Ograniczona ocena wizualna – bez czynnika ludzkiego trudno jest uzyskać odpowiednie wnioski dotyczące takich wizualnych aspektów jak interfejs użytkownika, kolory, czcionki, kontrast czy rozmiary przycisków.
  2. Wysoki koszt wdrożenia – narzędzia do automatyzacji testów są często drogie, co należy uwzględnić w kosztach projektu. Przygotowanie skryptów dla średniej wielkości e-sklepu oraz środowiska do ich uruchomienia może zająć developerowi nawet 40-60 godzin pracy.
  3. Brak pełnej niezawodności – każde narzędzie ma swoje ograniczenia. Oprócz tego same skrypty testowe też są podatne na błędy, dlatego i je trzeba czasami debugować, aby nie przysporzyć sobie dodatkowych problemów.

Zatem omówmy teraz, z jakich rodzajów testów warto korzystać.

Rodzaje testów oprogramowania – porównanie i kluczowe różnice

Nie istnieje uniwersalnie „lepszy” typ testów. I testy manualne, i automatyczne mają swoje miejsce w cyklu życia projektu, bo pod wieloma względami idealnie się uzupełniają.

 Testy manualneTesty automatyczne
Sposób wykonaniaTester wciela się w rolę użytkownika i wykonuje przypadki testowe; przechodzi krok po kroku przez scenariusze.Tester przygotowuje scenariusz testowy, skrypt go wykonuje, symulując interakcje użytkownika ze stroną.
Główny celSprawdzenie, jak działają funkcje strony/aplikacji z perspektywy użytkownika; znalezienie nieoczywistych problemów i błędów UX.Sprawdzenie, czy funkcje strony/aplikacji działają, z jaką wydajnością i czy są stabilne.
KosztyNiższe koszty początkowe (głównie czas pracy testera, ew. niezbędne narzędzia), które rosną wraz z czasem trwania testów.Wysoki koszt początkowy (dostęp do narzędzi, pisanie i utrzymanie skryptów), który zwraca się przy dużej ilości przeprowadzonych testów.
Szybkość testówBardzo czasochłonne, szczególnie przy dużej liczbie złożonych scenariuszy.Bardzo szybkie. W ciągu minuty można wykonać setki prostych testów jednostkowych.
Dokładność i powtarzalnośćZależy w pełni od testera – siłą rzeczy mogą pojawiać się pomyłki i przeoczenia, choćby ze zmęczenia.Bardzo wysoka, jeśli testy są dobrze zaprojektowane. Skrypt za każdym razem wykonuje dokładnie te same kroki.
Możliwość testowania doświadczeń użytkownikaW stu procentach – tylko człowiek jest w stanie ocenić użyteczność, wygląd i „flow”, które są dla użytkownika subiektywne.Bardzo ograniczona. Skrypt może co prawda sprawdzić np. widoczność elementów albo czy odległości między przyciskami się zgadzają, ale nie oceni UX tak, jak człowiek.
Potrzebne zasobyNajważniejszy jest dobry tester – z umiejętnością krytycznego myślenia, doskonałą znajomością produktu oraz wyróżniający się sporą empatią.Niezbędne będą i specjalistyczne narzędzia, i testerzy, którzy dobrze znają ich środowisko i są w stanie programować własne testy. Obojętnie jaką formę testów planujesz – zwróć uwagę na to, jakie szkolenia przeszli testerzy, którzy będą zajmować się Twoją stroną i czy mogą się pochwalić certyfikatami ISTQB. To najbardziej uznana organizacja certyfikująca testerów, która w ostatnich latach również oferuje coraz więcej kursów stricte dla specjalistów od automatyzacji.
ElastycznośćBardzo wysoka – tester może szybko dostosować scenariusz do zmian w projekcie, może też prowadzić testy eksploracyjne.Dosyć niska; każda zmiana w projekcie wymaga przeprogramowania skryptów testowych.
RaportowanieTester ręcznie wypełnia dokumenty i opisuje proces testowania (kroki prowadzące do błędu, obserwacje ze zrzutami ekranu).Większość narzędzi do testów automatycznie generuje raporty, logi i zapisy sesji.
Obszary zastosowaniaTesty użyteczności, UX i UI; nastawione na użytkownika. Testy eksploracyjne w celu zidentyfikowania nowych błędów.Testy jednostkowe i integracyjne (czy funkcje działają). Testy regresji (czy zmiany w kodzie nie wpłynęły na już wdrożone funkcje). Testy wydajnościowe – performance testing.
Wartość dodana dla projektuDostarczają informacje na temat użyteczności i UXowych niuansów, które są ważne z perspektywy użytkownika.Pozwalają bardzo szybko identyfikować błędy, co przyspiesza wdrażanie kolejnych funkcji i sprawia, że rozwój projektu jest bardziej stabilny.
Ryzyko projektoweRyzyko pominięcia niektórych błędów przy testach na dużą skalę; mogą mocną rozciągnąć proces projektowy w czasie.Początkowy koszt utrzymania i realizacji testów może być zbyt wysoki; ryzyko false positives/negatives, jeśli testy nie są przygotowane w 100% idealnie.

Czy testy automatyczne mogą zastąpić testera manualnego?

Odpowiedź brzmi „nie”. Oprogramowanie testujące potrzebuje testera manualnego, a tester manualny potrzebuje automatycznych testów. Warto pozostawić niektóre zadania skryptowi, zwłaszcza jeśli są stosunkowo proste, ale wymagają dużej liczby powtórzeń. Z drugiej strony nic nie zastąpi doświadczenia i analizy wykonywanej przez branżowego specjalistę. Tester manualny jest w stanie przeanalizować złożone problemy i przygotować skrypty specjalnie pod dany scenariusz. W praktyce warto stosować różne rodzaje testów przy sprawdzaniu jakości i funkcjonalności, gdyż wzajemnie się uzupełniają. Automatyczne testy mogą odciążyć manualnych testerów od ważnych, jednak wyczerpujących procesów, podczas gdy oni mogą skupić się na innych, bardziej kreatywnych zadaniach.

Jak podjąć właściwą decyzję dla Twojego projektu?

Oba podejścia są właściwe, tylko odpowiadają na inne wyzwania.

Jeśli obawiasz się, że po każdej zmianie kodu istniejące funkcje mogą przestać działać – potrzebujesz powtarzalnych testów regresyjnych po każdym wdrożeniu… których nie przeprowadzisz bez automatyzacji. Jeśli nie wiesz, czy produkt spodoba się użytkownikom i będzie dla nich intuicyjny – odpowiedź dadzą testy manualne skoncentrowane na UX.

Słowo inwestycja to tutaj klucz. Testy mogą być kosztowne, to prawda, ale usunięcie błędu projektowego wykrytego dopiero na produkcji będzie Cię kosztować nawet kilkanaście razy więcej – nie wspominając o tym, że drastycznie opóźni cały proces rozwoju produktu.

A jeżeli nie masz pewności, jakie podejście będzie optymalne na aktualnym etapie Twojego projektu – skonsultuj się z naszymi ekspertami.

Oceń wpis
0
Mamy więcej darmowych treści. Nie rezygnuj z nich!
Technologie, SEO, marketing - newsletter z poradami, które od razu możesz wdrożyć! Prosto na Twoją skrzynkę. Za darmo i bez spam
CAPTCHA