Testy manualne – to musisz wiedzieć

13.03.2023

Testy manualne to inaczej szukanie defektów, weryfikacja poprawności działania funkcjonalności. Celem testowania jest również sprawdzanie działania aplikacji w trakcie różnych zachowań nietypowych dla użytkownika (końcowego} np. jak nadmiarowe kliknięcia. Planowanie przypadków, które mogą się wydarzyć = zapobieganie im. Mniej priorytetowe, ale na co warto zwrócić uwagę, to użyteczność, wygoda i komfort użytkowania, jeśli można coś usprawnić to warto to zasygnalizować developerowi.

Testowanie nie powinno polegać TYLKO na sprawdzeniu zgodności z wymaganiami i specyfikacją projektową. Należy zwrócić uwagę na walidację, która powinna odpowiadać na potrzeby użytkownika.

Testy manualne można przeprowadzać w różnych kontekstach

Testy przeprowadzamy w kontekście do:

  • Testowania funkcjonalnego – CO ROBI SYSTEM?
  • Testowania niefunkcjonalnego – JAK DZIAŁA SYSTEM?

Jakie są różnice między wymienionymi podejściami? Wyjaśniamy:

1. Podstawy:

  • Testy funkcjonalne  oparte są na specyfikacji funkcjonalnej, weryfikują moduł lub system pod kątem prawidłowej funkcjonalności
  • Testy niefunkcjonalne sprawdzają m.in.: użyteczność, bezpieczeństwo, niezawodność, wydajność, kompatybilność

2. Kolejność działań:

  • Testy funkcjonalne są wykonywane w pierwszej kolejności
  • Testy niefunkcjonalne powinny być wykonywane po testach funkcjonalnych

3. Wykorzystanie specjalistycznych narzędzi:

  • Testy funkcjonalne mogą odbywać się ręcznie lub być  wykonywane automatycznie (z wykorzystaniem specjalistycznego oprogramowania)
  • By przeprowadzić testy niefunkcjonalne niezbędne jest wykorzystanie dedykowanych narzędzi i rozwiązań

4. Dane wyjściowe:

  • W przypadku testów funkcjonalnych to wymagania biznesowe
  • W kontekście testów niefunkcjonalnych mogą to być, np.: parametry wydajności (skalowalność)
Opsenio testy manualne

Poziomy testów manualnych– kolejna porcja wiedzy w pigułce

Testowanie modułowe – szukanie jak największej ilości defektów/ awarii na wczesnym etapie życia aplikacji (im więcej wcześniej wykrytych błędów tym mniej defektów/awarii w późniejszych etapach). Testy modułowe mogą zawierać testy funkcjonalne i niefunkcjonalne. Testowanie modułowe = testowanie w izolacji zazwyczaj z dostępem do kodu.

Testowanie integracyjne – testowanie interfejsu pomiędzy modułami, interakcje z innymi częściami systemu (takimi jak system operacyjny, system plików i sprzęt) oraz interfejsy pomiędzy systemami. Testy integracyjne mogą zawierać testy funkcjonalne i niefunkcjonalne.

Testy systemowe – powinny sprawdzać funkcjonalne jak i niefunkcjonalne wymagania na system oraz jakość danych.

Testowanie akceptacyjne – potwierdzenie, że system działa zgodnie z oczekiwaniem/założeniem.

Uwaga: zaprezentowaną na grafice tabelę prezentującą relacje między poszczególnymi typami testów czytamy od lewej strony zaczynając od rzędów.

Testy manualne

Źródło: Zawód tester. Od decyzji do zdobycia doświadczenia – Radosław Smilgin

W skład testów manualnych wchodzi również:

  • planowanie testów
  • monitorowanie wyników testów
  • raportowanie wyników
  • modyfikacja testów
  • implementacja nowych testów
  • przygotowanie dokumentacji

3 wskazówki potwierdzające, że testy manualne nadal są bardzo ważne

Zależy Ci na zapewnieniu jakości? Testy manualne pomogą to osiągnąć. W praktyce najlepiej sprawdza się łączenie testów manualnych i automatycznych. Skoncentrujmy jednak uwagę na ręcznej weryfikacji poprawności funkcjonowania aplikacji:

  1. Tester jako realny użytkownik – czy zautomatyzowane skrypty testowe są w stanie zweryfikować problemy wizualne lub te związane z użytecznością? Nie do końca. Właśnie dlatego spojrzenie na dany produkt z perspektywy realnego użytkownika ułatwia weryfikację potencjalnych błędów i dyskomfortu podczas korzystania z aplikacji.
  2. Tester manualny może wyznaczyć własną ścieżkę eksploracji aplikacji – pamiętaj, że test testy automatyczne zrealizują wyłącznie te czynności, które wskażesz. Zdecydowanie więcej swobody w realizacji scenariuszy testowych mają testy manualne. Tester może zrealizować własną ścieżkę, bez jakichkolwiek ograniczeń.
  3. Czas i zrozumienie koncepcji –  w przypadku niektórych scenariuszy testowych automatyzacja może okazać się zbyt kosztowna. Zanim znajdziemy sposób na przetestowanie określonych funkcji, zaplanujemy i napiszemy skrypt, może upłynąć sporo czasu. W tym samym okresie możemy skutecznie przetestować te same funkcjonalności ręcznie a nawet naprawić ewentualne błędy. Testy automatyczne realnie oszczędzają czas i pozwalają osiągać szybkie wyniki ale w szerokim kontekście. Testowanie manualne pozwala szybko przekazać informację zwrotną zespołowi deweloperskiemu, szczególnie podczas wielu zmian wymagań funkcjonalnych.

Wniosek

Rodzaj testów powinien być wybrany na podstawie skali projektu oraz czasu jego realizacji. Należy pamiętać przede wszystkim o indywidualnym podejściu do realizowanych zadań. Każdy projekt jest wyjątkowy, charakteryzuje się specyficznymi wymaganiami. To właśnie te czynniki weryfikują, jaki rodzaj testów sprawdzi się najlepiej. Biorąc je pod uwagę zarówno twórca oprogramowania, jak i inwestor, zyskują pewność, że produkt oddany do użytku został sprawdzony w najbardziej kompleksowy sposób.

Chcesz wiedzieć więcej na temat naszego podejścia do testów? Zapraszamy do kontaktu


Poprzedni wpis Następny wpis