background image

7 podstawowych zasad testowania 

W tym artykule chciałem przedstawić 7 podstawowych zasad testowania głoszonych 
przez ISTQB. Czy są to faktycznie najważniejsze zasady pozostaje kwestią dyskusyjną 
natomiast na pewno warto je znać i pamiętać o nich przy każdym procesie testowania w 

jakim bierzemy udział. 

I Testowanie ujawnia usterki, a nie ich nieobecność 
Testowanie może wykazać, że usterki są obecne, ale nie może udowodnić, że w 
oprogramowaniu usterki się nie znajdują. Nawet po dokładnym przetestowaniu nie 
możemy stwierdzić, że produkt jest w 100% wolny od usterek. Jedyne co możemy 
osiągnąć testując oprogramownie to zmniejszenie prawdopodobieństwa, że pozostały 
niezidentyfikowane błędy. Należy też mieć na względzie, że niewykrycie defektów nie jest 

dowodem na poprawność testowanego oprogramowania. 

II Testowanie gruntowne 
Testowanie gruntowne jest praktycznie niemożliwe lub możliwe, ale kompletnie 
nieopłacalne. 
Jest bardzo mało prawdopodobne, żeby ramy czasowe projektu pozwalały na przebadanie 
każdej możliwej kombinacji wejść oraz warunków. Biorąc pod uwagę te czynniki należy 

podczas testowania kierować się analizą ryzyka oraz priorytetyzacją. 

III Testowanie powinno zacząć się jak najwcześniej 
Czynności testowe powinny rozpoczynać się jak najszybciej. Im szybciej wykryjemy błąd 
tym mniejszy będzie koszt jego usunięcia. 

IV Kumulowanie się defektów blisko siebie 
Mała liczba modułów najczęściej zawiera większość defektów znalezionych podczas 
testowania. Jeśli w danym module znajdziemy jakiś błąd to powinniśmy skupić większą 

uwagę na nim. 

V Paradoks pestycydów 
Paradoks pestycydów przypomina nam, że jeśli te same rodzaje testów będą wielokrotnie 
powtarzane to w końcu ten sam zestaw przypadków testowych nie będzie już w stanie 
znaleźć żadnych nowych błędów. W celu uniknięcia wspomnianego paradosku bardzo 
ważne jest, aby regularnie dokonywać przeglądu przypadków testowych i odpowiednio je 
modyfikować. 

VI Testowanie zależne jest od kontekstu 
Testowanie zawsze zależne jest od kontekstu czyli powinno być wykonywane w różny 
sposób w różnych sytuacjach. Na przykład inaczej będziemy testować systemy krytyczne, 
systemy bankowe czy gry komputerowe. 

VII Mylne przekonanie o braku błędów 
W zasadzie tej chodzi o to, że nawet oprogramowanie teoretycznie nie posiadające 
defektów może nie spełniać wymagań użytkownika. Wniosek z tego płynie taki, iż 
konieczne jest również testowanie w oparciu o wymagania. Satysfakcja z użytkownia 
zależy również od atrybutów niefunkcjonalnych oprogramowania np: wydajności, 

niezawodności czy użytecznośc.