O technikach testowania

Techniki testowania pozwalają nam przetworzyć wymagania (warunki testowe) w przypadki testowe. Pomagają nam definiować „przepływy” oraz dane testowe. Zastosowanie danej techniki pozwala wypełnić kryteria pokrycia poprzez określenie wszystkich (sugerowanych) przypadków testowych.

 

Słownik testerski ISTQB sugeruje klasyfikację technik projektowania testów. Są techniki czarnoskrzynkowe, oparte na defektach, oparte o strukturę oraz oparte na doświadczeniu. Podział ten jest dość nienaturalny, a tak dobrane zbiory mają wiele elementów wspólnych. Oprócz tego należy pamiętać, że techniki wchodzą w relacje między sobą i rzadko kiedy stosuje się tylko jedną z nich. Techniki możemy podzielić na mniej i bardziej wymagające zaangażowania czasowego. Im więcej dana technika sugeruje przypadków testowych, za tym silniejszą ją uważamy.  

Przykład znajdziemy już w najprostszych technikach. Kiedy rozważymy klasy równoważności, analizę dwóch wartości na granicę (analiza wartości brzegowych) oraz analizę trzech wartości na granicę (analiza trójwartościowa), to zauważymy, że liczba przypadków testowych dla silniejszych technik jest nie mniejsza niż dla technik słabszych (niżej w hierarchii). 

 

 

Przykładowe wymaganie: login może mieć dowolne znaki, a ciąg musi mieć minimalną długość 4 i maksymalnie 10 znaków.

Przetestowanie wszystkich danych testowych, czyli ciągu o dowolnej długości nie ma sensu, ponieważ oznacza nieskończenie wiele testów (przedział od zera do nieskończoności). Stosujemy więc techniki, które pozwalają nam na znaczącą optymalizację liczby testów do uruchomienia. 

Zaprojektowane testy:

  • klasy równoważności wymagają 3 testów na długość loginu, np. 7 (poprawna klasa równoważności), 2 i 12 (niepoprawna klasa równoważności);
  • analiza wartości brzegowych wymaga już 4 testów; są to 3 i 11 (niepoprawne wartości graniczne) oraz 4 i 10 (poprawne wartości graniczne);
  • analiza trójwartościowa to już 6 testów, gdzie do analizy wartości brzegowych dodajemy jeszcze dwa testy dla ciągu o długości 5 i 9 znaków. 

Widzimy więc, że analizę trójwartościową można w tym zestawieniu nazwać najsilniejszą techniką, a klasy równoważności najsłabszą techniką. Należy jednak pamiętać o wyjątkach. Jeśli klasa równoważności jest jednoelementowa i dodatkowo jest ciągła, to np. dla jedynki (1) dla wszystkich trzech technik potrzebujemy 3 przypadków testowych (0,1,2). W takim przypadku ciężko jest wyróżnić silniejszą technikę. 

Uruchomienie wszystkich proponowanych przez technikę testów potwierdza uzyskanie dla niej 100% pokrycia. Można więc mierzyć kompletność zaprojektowanych i uruchomionych testów. Całkowite spełnienie kryteriów pokrycia wcale nie oznacza, że osiągnęliśmy kompletność testów, a tylko, że z danej techniki nie można już wywieść więcej testów umożliwiających zwiększenie pokrycia. Pokrycie nie oznacza, że cały zestaw testów jest kompletny, a raczej, że technika nie sugeruje żadnych nowych, przydatnych testów.

Musimy również pamiętać, że nie istnieje najlepsza technika dla wszystkich sytuacji. Rolą doświadczonego testera (analityka testów lub technicznego analityka testów) jest rozumienie zalet i wad poszczególnych technik oraz umiejętne dobranie najlepszej techniki lub zestawu technik do danej sytuacji. Analizujemy szeroki kontekst poczynając od typu projektu, harmonogramu, dostępności informacji, aż po umiejętności testera.

 

Jeżeli interesują Cię techniki testowania, zapraszamy na szkolenia z zaawansowanego posługiwania się nimi.

Techniki czarnoskrzynkowe, oparte na defektach i oparte na doświadczeniu omawiane są na szkoleniu ISTQB Analityk Testów.

Sprawdź najbliższe terminy >>

 

Techniki oparte o strukturę omawiane są na szkoleniu ISTQB Techniczny Analityk Testów.

Sprawdź najbliższe terminy >>

 

 

 
 
 
 
 

Najbliższe terminy szkoleń

 

5-6 listopada - Katowice

Testowanie bezpieczeństwa


13-16 listopada - Katowice

Zawód Tester


17-18 listopada - Warszawa weekend!

ISTQB Poziom Podstawowy (Foundation Level)

 

Partnerzy

Narzędzia testerskie