Nauka testowania lub programowania od podstaw musi zawierać przedstawienie i zrozumienie bazowych pojęć. Takim właśnie pojęciem jest ‘błąd’. Dlaczego to takie ważne? Bo dotyczy całego zespołu i odpowiednie działania podejmowane po jego wykryciu, podnoszą jakoś oprogramowania.
Zgodnie z definicja ISTQB (zamieszczona w Słowniku ISTQB) znajdziemy 3 definicje składające się w jedną całość:
1)błąd/pomyłka – działanie człowieka powodujące powstanie nieprawidłowego rezultatu
2)defekt, problem, usterka, bug – wada modułu lub systemu, która może spowodować, że moduł lub system nie wykona zakładanej czynności, np. niepoprawne wyrażenie lub definicja danych. Defekt, który zostanie napotkany podczas uruchomienia programu, może spowodować awarię modułu lub systemu
3)awaria – Odchyłka modułu lub systemu od oczekiwanego zachowania lub rezultatu działania
Odnosząc się do powyższych definicji, można wskazać 3 płaszczyzny, na których może pojawić się nasz błąd i to od nich zależ, co dalej I kto będzie odpowiedzialny za jego naprawę.
Bug możliwy jest już do wykrycia na poziomie zapoznawania się z dokumentacją. Wprawne i doświadczone oko może dostrzec pojawiające się rozbieżności pomiędzy przyjętymi założeniami. Jest to moment, w którym zespół nie poniesie kosztów związanych z poświęceniem swojego czasu pracy na coś, co z założenia jest skazane na porażkę.
Samo tworzenie poszczególnych funkcjonalności aplikacji pozwala na wykrywanie pojawiających się błędów. Wiadomo, ze najwieksza ilość pojawiających się błędów jesteśmy wstanie wychwycić na etapie testowania. Wykrycie, zgłoszenie i naprawa błędów pozwala na stworzenie aplikacji, która będzie zadowalała klienta, a dla użytkownika stanie się przejrzysta i prosta w obsłudze.