Często spotykamy się z tym terminem, ale co to tak naprawdę znaczy. Wiele razy można usłyszeć, że testowanie oprogramowania to przecież wykonywanie testów.
Co robi tester - no testuje, siedzi przed komputerem i wykonuje testy. Czy rzeczywiście tak wygląda testowanie oprogramowania?
Wg sylabusa ISTQB® oraz tego co opisuje słownik SJSI to jest to „Proces składający się z wszystkich czynności cyklu życia, zarówno statycznych jak i dynamicznych;
skoncentrowany na planowaniu, przygotowaniu i ewaluacji oprogramowania oraz powiązanych produktów w celu określenia czy spełniają one wyspecyfikowane wymagania oraz wykazania, że są one
dopasowane do swoich celów oraz do wykrywania usterek.” Innymi słowy jest to cały proces, w skład którego wchodzi m.in. planowanie zadań testowych, analiza podstawy
testowej, projektowanie oraz implementacja samych testów oraz w końcu wykonywanie testów.
Cele testowania oprogramowania
Szukając rozwinięcia tego zagadnienia nie sposób odwołać się do sylabusa ISTQB®. Wymienia on typowe cele testowania:
Ocena produktów pracy takich jak wymagania, historyjki użytkowników, projekt i kod.
Sprawdzanie czy wszystkie wyspecyfikowane wymagania zostały spełnione, a także czy obiekt testowy jest kompletny i działa tak, jak oczekuje tego użytkownik i inni interesariusze.
Budowanie zaufania odnośnie poziomu jakości testowanego produktu.
Zapobieganie defektom np. dzięki weryfikacji podstawy testowej. W ten sposób zapobiegamy wprowadzeniu defektów na późniejszych etapach pracy.
Wykrywanie defektów oraz obserwowanie awarii.
Obniżanie poziomu ryzyka związanego z jakością oprogramowania (np. ryzyko wystąpienia niewykrytych wcześniej awarii podczas działania).
Dostarczanie informacji zainteresowanym stronom, aby mogły podejmować świadome decyzje, w szczególności w odniesieniu do poziomu jakości obiektu testowego.
Przestrzeganie standardów przepisów prawa lub regulacyjnych i weryfikacji zgodności testowanego produktu z takimi wymaganiami lub standardami.
Dlaczego testowanie oprogramowania jest tak ważne?
Testowanie to coś więcej niż sprawdzenie czy coś działa. Rygorystyczne testowanie oprogramowania zmniejsza ryzyko wystąpienia awarii podczas eksploatacji. Ponadto testowanie przyczynia się do podnoszenia jakości testowanego oprogramowania, bo defekt naprawiony przyczynia się do wzrostu jakości systemu. Normy i standardy branżowe – tutaj testowanie także jest wymagane w celu spełnienia wymagań wynikających z umowy lub prawa.
Jako akredytowany dostawca szkoleń ISTQB® oferujemy kursy zarówno w języku polskim jak i angielskim. Zapraszamy do współpracy oraz powodzenia na egzaminie!
Autor: Paweł Kwasik