Każdy cel nauczania, podany w sylabusach ISTQB, posiada przypisaną mu wartość K1, K2 lub K3 (w sylabusach poziomu zaawansowanego znaleźć także można wartość K4). Wartości te oznaczają tzw. „poziom kognitywny” (lub po prostu poziom K). Oznacza to, na jakim poziomie dany cel zostanie zweryfikowany w pytaniu egzaminacyjnym.
Poziomy K występujące w sylabusach poziomu podstawowego dzielą się następująco:
- K1 – zapamiętaj; cel nauczania zakłada, że kandydat zapamięta podane pojęcie, definicję lub własność (nie jest tu konieczne ich rozumienie, wystarczy samo opanowanie pamięciowe).
- K2 – zrozum; cel nauczania wymaga już nie tylko samego zapamiętania pojęcia, ale także zrozumienia jego znaczenia. Jako przykład może posłużyć tu porównanie dwóch pojęć, wskazanie zalet i wad określonych podejść w testowaniu itp.
- K3 – zastosuj; cel nauczania wymaga znajomości i zrozumienia określonej metody bądź techniki działania ORAZ umiejętności zastosowania jej w praktyce. Pytania tego typu często mają formę zadań, w których np. należy wykorzystać określoną technikę testowania tak, aby osiągnąć wymagane pokrycie lub zidentyfikować defekty w produkcie pracy.
W sylabusach poziomów zaawansowanych znajduje się dodatkowy poziom K:
- K4 – analizuj; cel zakładający, że kandydat potrafi przeanalizować podany w pytaniu scenariusz i na podstawie tej analizy podjąć określone decyzje, np. wywnioskować jakie techniki testowania sprawdzą się najlepiej w określonej sytuacji.
Poziom K1:
Omawiając pytania na poziomie K1, jako przykład przytoczymy cel FL-3.1.1 z sylabusa ISTQB® Poziom Podstawowy, który brzmi następująco:
FL-3.1.1. Kandydat potrafi rozpoznać typy produktów pracy związanych z oprogramowaniem, które mogą być badane przy użyciu poszczególnych technik testowania statycznego.
Pytanie realizujące ten cel nauczania, które może pojawić się na egzaminie, będzie sformułowane w taki sposób, aby sprawdzić czy osoba egzaminowana wie, jakie produkty pracy mogą podlegać technikom testowania statycznego.
Weźmy teraz pod uwagę fragment znajdujący się w sylabusie poziomu podstawowego, w sekcji 3.1.1:
Przy użyciu technik testowania statycznego (tj. przeglądów i/lub analizy statycznej) można zbadać niemal wszystkie produkty pracy, na przykład:
- specyfikacje (w tym: wymagania biznesowe, wymagania funkcjonalne i wymagania w zakresie bezpieczeństwa); (…)
- kod;
- testalia (w tym: plany testów, przypadki testowe, procedury testowe, i skrypty testów automatycznych); (…)
- konfigurację i infrastrukturę,
- modele takie jak diagramy aktywności, które mogą być używane do testowania opartego na modelu (patrz [ISTQB-CTFL-MBT] i [Kramer 2016]).
Wybór poprawnej odpowiedzi będzie zależał od tego, czy pamiętamy o tym, że testowaniu statycznemu podlega praktycznie każdy produkt pracy. Przykładowe pytanie pokrywające ten cel nauczania, może więc wyglądać w taki sposób:
Rozważ następujące produkty pracy:
(i) specyfikacja
(ii) kod źródłowy
(iii) konfiguracja systemu Które z powyższych produktów pracy mogą podlegać testowaniu statycznemu?
Wybierz JEDNĄ odpowiedź.
A. (i) i (ii) mogą podlegać testowaniu statycznemu; (iii) nie może.
B. (i) i (iii) mogą podlegać testowaniu statycznemu; (i) nie może.
C. (ii) może podlegać testowaniu statycznemu; (i) i (iii) nie mogą.
D. wszystkie wymienione produkty pracy mogą podlegać testowaniu statycznemu.
Poprawną odpowiedzią będzie tu wariant D, a udzielenie takiej odpowiedzi będzie zależało od tego, czy pamiętamy, że większość produktów pracy może podlegać testowaniu statycznemu. Trzy wymienione w pytaniu produkty pracy są zawarte w sylabusie, jako podlegające temu rodzajowi testowania. Nie ma potrzeby, aby kandydat rozumiał np. to, czym się różni specyfikacja od kodu źródłowego, ponieważ na poziomie K1 wystarczy pamiętać to, co opisano w celu nauczania.
Poziom K2:
Pytania na poziomie K2 wymagają już zrozumienia i są one sformułowane tak, by odpowiedź nie znajdowała się bezpośrednio w sylabusie, w "niebezpośredni" sposób, co znaczy, że kandydat musi sam wywnioskować, że kwestia poruszona w konkretnym pytaniu dotyczy danego zagadnienia teoretycznego. Wyjaśniając to, posłużymy się przykładem sylabusa z poziomu podstawowego:
FL-3.1.2. (K2) Kandydat potrafi opisać podając przykłady wartość testowania statycznego
Fragment odpowiadający temu celowi, brzmi następująco:
Zastosowanie technik testowania statycznego do wykrywania defektów i ich niezwłocznego usuwania jest prawie zawsze dużo tańsze niż wykrywanie defektów w przedmiocie testów i ich usuwanie metodą testowania dynamicznego, szczególnie jeżeli weźmie się pod uwagę dodatkowe koszty związane z aktualizacją pozostałych produktów pracy oraz testowaniem potwierdzającym i testowaniem regresji.
Jak więc mogłoby być sformułowane pytanie na poziomie K2, odnoszące się do tego fragmentu sylabusa?
Która z poniższych sytuacji opisuje wartość testowania statycznego?
Wybierz JEDNĄ odpowiedź.
A. Przeglądy architektury systemu pozwalają obniżyć koszty związane z ewentualnym usuwaniem defektów projektowych w późniejszych fazach cyklu życia.
B. Automatyczne testy regresji pozwalają obniżyć koszty związane z ręcznym wykonywaniem testów.
C. Przeglądy kodu są zazwyczaj kosztowne, gdyż angażują wiele osób, które mogą przejrzeć jedynie niewielkie fragmenty kodu w wyznaczonym na przegląd czasie.
D. Testy statyczne pozwalają wcześnie wykrywać awarie w produktach pracy.
By odpowiedzieć na to pytanie, potrzebne jest rozumienie, że techniki statyczne wykrywają bezpośrednie defekty w produktach pracy, a zatem:
- można je stosować wcześnie w cyklu życia oprogramowania, w momencie powstania jakiegokolwiek produktu pracy,
- usunięcie defektu w takim produkcie pracy wiąże się bardzo niskim (czasem nawet zerowym) kosztem. Problem mógłby pojawić się, gdyby defekt przedostał się do fazy wytwórczej i został np. zaimplementowany, a następnie wykryty na etapie testów dynamicznych – wtedy koszt jego usunięcia byłby już większy.
Poprawną odpowiedzią na powyższe pytanie jest odpowiedź A, która odnosi się wprost do tego, co napisaliśmy powyżej, a to z kolei wynika z zacytowanego wcześniej fragmentu sylabusa. Aby zatem udzielić odpowiedzi na pytanie na poziomie K2, należy znać i pamiętać w szczególności definicje: testowania statycznego, testowania dynamicznego, przeglądu, cyklu życia, testów regresji, awarii, defektu. Trzeba też rozumieć różnice między testami statycznymi i dynamicznymi oraz konsekwencje, jakie ta różnica ze sobą niesie.
Poziom K3:
Poziom K3 jest jeszcze bardziej skomplikowany, ponieważ wymaga od kandydata dodatkowych umiejętności, obejmujących zastosowanie określonej techniki lub metody.
Poniżej znajduje się przykład z rozdziału 4 sylabusa poziomu podstawowego:
FL-4.2.4. (K3) Kandydat potrafi zaprojektować przypadki testowe na podstawie podanych wymagań metodą testowania przejść pomiędzy stanami.
W tym wypadku, pytanie realizujące cel nauczania będzie zmuszało kandydata, by wykorzystał on technikę testowania przejść między stanami, na przykład w celu zidentyfikowania minimalnej liczby przypadków testowych, które spełnią określone kryterium pokrycia związane z maszyną stanową. Zadanie egzaminacyjne może wyglądać więc w następujący sposób:
Podstawowe zachowanie psa robota podsumowano w poniższej tabeli przejść między stanami. Stan "Czeka" jest stanem początkowym. Każdy przypadek testowy w momencie powrotu do stanu "Czeka" musi się zakończyć.
Jaka jest MINIMALNA liczba przypadków testowych niezbędnych do pokrycia wszystkich przejść dla maszyny stanowej opisującej działanie psa robota?
Wybierz JEDNĄ odpowiedź.
A. 3.
B. 5.
C. 6.
D. 15.
Kandydat, aby udzielić odpowiedzi, musi znać pojęcie maszyny stanowej, wiedzieć, czym jest "pokrycie przejść", a także potrafić zaprojektować minimalną liczbę przypadków testowych spełniających to pokrycie. W powyższym zadaniu poprawną odpowiedzią jest więc odpowiedź A.
Pytania na poziomie K3 (a także K4) zawsze opisują jakiś scenariusz, mają więc szerszą treść oraz wymagają od kandydata bardzo dobrej znajomości i umiejętności wykorzystania pewnych technik, które w sylabusie są opisane w bardzo skąpy sposób.
Poziom K4:
Pytania poziomu K4 wymagają już analizy określonego scenariusza. Takich pytań nie znajdziemy na poziomie podstawowym.
Poniżej przytaczamy cel nauczania z sylabusa poziomu zaawansowanego – Analityk Testowy v. 3.1.0:
TA-3.2.1. (K4) Kandydat potrafi przeanalizować podane elementy specyfikacji i zaprojektować przypadki testowe korzystając z techniki podziału na klasy równoważności.
Publikujemy również zadanie pochodzące ze zbioru przykładowych zadań egzaminacyjnych:
Przedsiębiorstwo opracowało program promocji zdrowia w miejscu pracy, łącząc go z wysokością składki na ubezpieczenie zdrowotne. W programie obowiązują następujące reguły:
- Pracownicy, którzy nie spożywają więcej niż 20 jednostek alkoholu tygodniowo, uzyskają zniżkę składki w wysokości 30 USD.
- Pracownicy, którzy wypełnią „kwestionariusz oceny ryzyka zdrowotnego”, uzyskają zniżkę składki w wysokości 25 USD.
- Pracownicy, którzy wezmą udział w dorocznych badaniach kontrolnych w firmie
- uzyskują zniżkę w wysokości 50 USD, jeśli ich wskaźnik BMI nie przekracza 27,5, a zniżkę w wysokości 25 USD, jeśli ich wskaźnik BMI jest niższy niż 30, ale przekracza 27,5.
- jeśli są niepalący, uzyskują dodatkowo 50 USD zniżki,
- jeśli są osobami palącymi, które zgłosiły się na szkolenie antynikotynowe, otrzymują 25 USD zniżki, 4. jeśli są osobami palącymi, które nie zgłosiły się na szkolenie antynikotynowe płacą dodatkowo 75 USD.
Ile przypadków testowych potrzeba do osiągnięcia 100% pokrycia klas równoważności poprawnych parametrów wejściowych podczas testowania tej specyfikacji, jeśli stosowana jest technika podziału na klasy równoważności?
a) 3 przypadki testowe,
b) 4 przypadków testowych,
c) 5 przypadki testowe,
d) 12 przypadków testowych.
Wybierz JEDNĄ odpowiedź.
By dobrze rozwiązać to zadanie, kandydat musi dokładnie przeanalizować scenariusz, by móc zidentyfikować dziedziny oraz ich klasy równoważności. Wynik takiej analizy znajduje się poniżej:
alkohol (2 klasy):
- (a1) ≤20 jednostek tygodniowo
- (a2) >20 jednostek tygodniowo
wypełnienie "oceny ryzyka zdrowotnego" (2 klasy):
- (h1) Tak
- (h2) Nie
udział w badaniach kontrolnych:
- (p1) Tak
- (p2) Nie
BMI: (3 klasy):
- (b1) BMI ≤ 27,5
- (b2) 27,5 < BMI < 30
- (b3) BMI ≥ 30
palący: (3 klasy):
- (s1) niepalący
- (s2) palący, który zgłosił się na szkolenie antynikotynowe
- (s3) palący, który nie zgłosił się na szkolenie antynikotynowe
Co więcej, należy zauważyć że przypadki dla dziedzin "BMI" oraz "palący" można testować tylko przy użyciu klasy p1. W przeciwnym razie te parametry nie są nawet sprawdzane przez kod. Tym samym, do osiągnięcia 100% pokrycia klas równoważności z prawidłowymi parametrami wejściowymi potrzebne są 4 przypadki testowe, na przykład:
- TC1: 15 jednostek alkoholu (a1), niewypełnienie „oceny ryzyka zdrowotnego (h2), niebranie udziału w corocznej kontroli zdrowia (p2); BMI i palacze nie brani pod uwagę
- TC2: 15 jednostek alkoholu (a1), wypełnienie „oceny ryzyka zdrowotnego” (h1), wzięcie udziału w corocznej kontroli zdrowia (p1), BMI 25,0 (b1) i niepalenie (s1).
- TC3: 25 jednostek alkoholu (a2). wypełnienie „oceny ryzyka zdrowotnego” (h2), wzięcie udziału w corocznej kontroli zdrowia (p1), BMI 28,0 (b2), palenie i zgłoszenie się na szkolenie antynikotynowe (s2).
- TC4: 15 jednostek alkoholu (a1), wypełnienie „oceny ryzyka zdrowotnego” (h1), udział w corocznej kontroli zdrowia (p1), BMI 32,0 (b3), palenie i niezgłoszenie się na szkolenie antynikotynowe (s3).
Poniższa tabela obrazuje, w jaki sposób różne klasy równoważności są pokrywane przez powyższe przypadki testowe (T i N oznaczają odpowiednio: TAK i NIE):
Biorąc to pod uwagę, poprawną odpowiedzią jest wariant b).
W publikacji omówiony jest także drugi, prostszy/szybszy sposób osiągnięcia tego wyniku.
Relacja między pytaniami a celami nauczania:
W trakcie egzaminu nie znajdziemy konkretnej informacji o przyporządkowaniu celów nauczania do poszczególnych pytań, nie są one także według tych celów uporządkowane. Kandydatowi bardzo przyda się jednak umiejętność rozumienia relacji pomiędzy samymi pytaniami a celami nauczania. Takie zidentyfikowanie celu nauczania, którego dotyczy pytanie, pozwoli uzasadnić, dlaczego niektóre odpowiedzi są niepoprawne. By wskazać, co dokładnie można przez to rozumieć, posłużymy się konkretnym pytaniem z przykładowego egzaminu dla poziomu podstawowego:
Która z poniższych odpowiedzi opisujących typowe sytuacje zaistniałe podczas testowania lub eksploatacji opisuje awarię?
A. Produkt przestał działać po wybraniu przez użytkownika jednej z opcji w oknie dialogowym.
B. W kompilacji uwzględniono niewłaściwą wersję jednego z plików kodu źródłowego.
C. Algorytm obliczeniowy korzystał z niewłaściwych zmiennych wejściowych.
D. Programista błędnie zinterpretował jedno z wymagań dotyczących algorytmu
Na pierwszy rzut oka każda z odpowiedzi opisuje jakiś problem z oprogramowaniem. Biorąc jednak pod uwagę zawarty w sylabusie cel nauczania:
FL-1.2.3. (K2) Kandydat potrafi rozróżnić pomyłkę, defekt i awarię
odpowiedź na to pytanie nie powinna sprawiać problemu. Kandydat musi umieć rozróżnić awarie od defektów i błędów. Wiedząc, że według sylabusa (i słownika pojęć testerskich ISTQB®):
- błąd (pomyłka) to działanie człowieka powodujące powstanie nieprawidłowego rezultatu;
- defekt to niedoskonałość lub wada produktu pracy, polegająca na niespełnieniu wymagań;
- awaria zaś to zdarzenie, w którym moduł lub system nie wykonuje wymaganej funkcji w określonym zakresie;
możemy stwierdzić, że:
- poprawną odpowiedzią jest wariant A, ponieważ gdy produkt przestaje działać, obserwujemy to zdarzenie jako jego niepoprawne zachowanie,
- odpowiedzi B i C są błędne, ponieważ opisują defekty,
- odpowiedź D opisuje pomyłkę ludzką, czyli błąd.
Podsumowanie:
Znajomość celów nauczania pomaga kandydatowi w zrozumieniu czego dokładnie wymaga się od niego w poszczególnych pytaniach. Brak umiejętności skojarzenia pytania z odpowiednim celem nauczania może wywoływać wrażenie, że zdawany egzamin był "dziwny", a czasami nawet, że "nie wiadomo, o co chodziło w pytaniu".
Poprzednią zasadę znaleźć można >> tutaj <<