Cele nauczania dla CTFL2011

Z AmberPlace

Cele nauczania w sylabusie CTFL 2011 mają różne poziomy. Zagadnienia w nich sformułowane wymagają różnego poziomu opanowania, od nauczenia się definicji, do umiejętności przeanalizowania sytuacji i wykonania działań opartych na tej analizie. Artykuły dotyczące poszczególnych LO, są napisane według poziomów im przynależnych. W niektórych przypadkach zostały pogłębione tak aby ułatwić zrozumienie materiału lub jego zastosowanie w praktyce.

Cele nauczania zdefiniowane w tym sylabusie są opisane w Dodatku B. Pierwotnie zostały one spisane w taksonomii Blooma, więcej informacji na temat tej taksonomii poniżej:

1. Podstawy testowania

1.1 Dlaczego testowanie jest niezbędne? (K2)

LO-1.1.1 Kandydat potrafi opisać podając przykłady sposób w jaki usterka w oprogramowaniu może wyrządzić szkodę osobie, środowisku lub firmie. (K2)
LO-1.1.2 Kandydat rozróżnia przyczynę usterki od jej skutków. (K2)
LO-1.1.3 Kandydat potrafi podać powody tego, że testowanie jest niezbędne posiłkując się przykładami. (K2)
LO-1.1.4 Kandydat potrafi opisać w jaki sposób testowanie stanowi część zapewnienia jakości i podać przykłady tego, w jaki sposób testowanie przyczynia się do zwiększenia jakości.
LO-1.1.5 Kandydat potrafi wyjaśnić i porównać pojęcia pomyłka, usterka, awaria oraz odpowiadające im pojęcia błąd i bug, podając przykłady. (K2)

1.2 Co to jest testowanie? (K2)

LO-1.2.1 Kandydat pamięta ogólne cele testowania. (K1)
LO-1.2.2 Kandydat potrafi podać przykłady celów testowania w różnych fazach cyklu życia oprogramowania. (K2)
LO-1.2.3 Kandydat rozróżnia testowanie od debagowania. (K2)

1.3 Siedem zasad testowania (K2)

LO-1.3.1 Kandydat potrafi wyjaśnić siedem zasad testowania.

1.4 Podstawowy proces testowy (K1)

LO-1.4.1 Kandydat pamięta pięć podstawowych czynności testowych i odpowiadające im zadania od planowania do zamknięcia testów. (K1)

1.5 Psychologia testowania (K2)

LO-1.5.1 Kandydat pamięta czynniki psychologiczne, od których zależy sukces testowania. (K1)
LO-1.5.2 Kandydat potrafi pokazać różnice w nastawieniu testera i programisty (K2)

2. Testowanie w cyklu życia oprogramowania

2.1 Modele wytwarzania oprogramowania K2

LO-2.1.1 Kandydat potrafi wyjaśnić powiązania pomiędzy rozwojem oprogramowania, czynnościami testowymi oraz produktami w cyklu życia oprogramowania i podać przykłady na podstawie cech projektu i produktu oraz kontekstu. (K2)
LO-2.1.2 Kandydat uznaje fakt, że modele wytwarzania oprogramowania muszą zostać zaadaptowane do kontekstu związanego z cechami projektu i produktu. (K1)
LO-2.1.3 Kandydat pamięta atrybuty dobrego testowania mające zastosowanie w każdym z modeli życia oprogramowania. (K1)

2.2 Poziomy testowania K2

LO-2.2.1 Kandydat potrafi porównać różne poziomy testowania: główne cele, typowe przedmioty testów, typowe cele testowania (np. strukturalne lub funkcjonalne) i związane z nimi produkty, ludzi którzy testują, typy usterek i awarii do znalezienia. (K2)

2.3 Typy testów K2

LO-2.3.1 Kandydat potrafi porównać podając przykłady cztery typy testów (funkcjonalne, niefunkcjonalne, strukturalne oraz związane ze zmianami). (K2)
LO-2.3.2 Kandydat uznaje, że testy funkcjonalne i strukturalne występują na każdym poziomie testów. (K1)
LO-2.3.3 Kandydat potrafi wymienić i opisać różne typy testów niefunkcjonalnych bazujących na wymaganiach niefunkcjonalnych. (K2)
LO-2.3.4 Kandydat potrafi wymienić i opisać typy testów bazujące na analizie struktury lub architektury systemu. (K2)
LO-2.3.5 Kandydat potrafi opisać cel wykonywania testów potwierdzających i regresywnych. (K2)

2.4 Testowanie pielęgnacyjne K2

LO-2.4.1 Kandydat potrafi porównać testy pielęgnacyjne (testowanie istniejącego systemu) do testowania nowej aplikacji uwzględniając typy testów, powody rozpoczęcia testowania oraz ilość testów. (K2)
LO-2.4.2 Kandydat potrafi wymienić powody wykonywania testów pielęgnacyjnych (zmiany, migracja i złomowanie). (K1)
LO-2.4.3 Kandydat potrafi opisać rolę testów regresywnych i analizy wpływu w utrzymaniu. (K4)

3. Statyczne techniki testowania

3.1 Techniki statyczne a proces testowania (K2)

LO-3.1.1 Kandydat potrafi rozpoznać produkty, które mogą zostać sprawdzone przez różne techniki testowania statycznego. (K1)
LO-3.1.2 Kandydat potrafi opisać znaczenie i wartość statystycznych technik testowania w ocenie produktów procesu rozwoju oprogramowania. (K2)
LO-3.1.3 Kandydat potrafi wyjaśnić różnice pomiędzy testami statycznymi i dynamicznymi. (K2)

3.2 Proces przeglądu (K2)

LO-3.2.1 Kandydat pamięta kroki, role i odpowiedzialności związane z typowym przeglądem formalnym. (K2)
LO-3.2.2 Kandydat potrafi wyjaśnić różnice pomiędzy różnymi typami przeglądów: przeglądem nieformalnym, przeglądem technicznym, przejrzeniem i inspekcją. (K2)
LO-3.2.3 Kandydat potrafi wyjaśnić czynniki wpływające na skuteczne przeprowadzanie przeglądów. (K2)

3.3 Analiza statyczna przy pomocy narzędzi (K2)

LO-3.3.1 Kandydat pamięta typowe błędy wykrywane przez analizę statyczną i porównaj je z przeglądami i testami dynamicznymi. (K1)
LO-3.3.2 Kandydat potrafi opisać używając przykładów typowe korzyści z analizy statycznej. (K1)
LO-3.3.3 Kandydat potrafi wymienić typowe defekty kodu i projektu, które mogą zostać wykryte przez narzędzia do analizy statycznej. (K1)

4. Techniki projektowania testów

4.1 Proces rozwoju testów (K2)

LO-4.1.1 Kandydat odróżnia projekt testów od specyfikacji przypadków testowych oraz procedury testowej. (K2)
LO-4.1.2 Kandydat potrafi porównać pojęcia warunku testowego, przypadku testowego i procedury testowej. (K2)
LO-4.1.3 Kandydat potrafi ocenić jakość przypadków testowych, przez sprawdzenie czy one
  • mają jednoznaczne powiązania z wymaganiami
  • zawierają wynik oczekiwany (K2)
LO-4.1.4 Kandydat potrafi utworzyć z przypadków testowych dobrze ustrukturalizowaną procedurę testową na poziomie szczegółowowści odpowiadającym wiedzy testerów. (K3)

4.2 Kategorie technik projektowania testów (K2)

LO-4.2.1 Kandydat pamięta dlaczego przydatne są techniki projektowania testów oparte na specyfikacji (czarnoskrzynkowe) oraz techniki oparte na strukturze (białoskrzynkowe) oraz potrafi wymienić typowe dla nich techniki. (K1)
LO-4.2.2 Kandydat potrafi objaśnić cechy, podobieństwa oraz różnice pomiędzy technikami opartymi na specyfikacji, strukturze i doświadczeniu. (K2)

4.3 Techniki oparte na specyfikacji lub czarnoskrzynkowe (K3)

LO-4.3.1 Kandydat potrafi napisać przypadki testowe na podstawie podanych modeli oprogramowania używając techniki klas równoważności, analizy wartości brzegowych, testowania w oparciu o tablicę decyzyjną, testowania przejść pomiędzy stanami (K3)
LO-4.3.2 Kandydat potrafi wyjaśnić główny cel każdej z czterech technik testowania, na jakim poziomie testowania mogą zostać użyte i jak można dla nich zmierzyć pokrycie. (K2)
LO-4.3.3 Kandydat potrafi wyjaśnić pojęcie testowania przypadków użycia i korzyści płynące z jego zastosowania. (K2)

4.4 Techniki oparte na strukturze lub białoskrzynkowe (K4)

LO-4.4.1 Kandydat potrafi opisać pojęcie pokrycia kodu i jego znaczenie. (K2)
LO-4.4.2 Kandydat potrafi wyjaśnić pojęcia pokrycia instrukcji i pokrycia decyzji i podać powody, dla których te pojęcia mogą zostać użyte nie tylko na poziomie testów modułowych, ale na przykład też dla procedur biznesowych na poziomie testów systemowych). (K2)
LO-4.4.3 Kandydat potrafi napisać przypadki testowe dla danych przepływów sterowania używając technik testowania instrukcji i testowania decyzji. (K3)
LO-4.4.4 Kandydat potrafi ocenić kompletność testów według zdefiniowanych kryteriów zakończenia na podstawie pokrycia instrukcji i decyzji. (K4)

4.5 Techniki oparte na doświadczeniu (K2)

LO-4.5.1 Kandydat może przypomnieć sobie powody pisania przypadków testowych opierających się na intuicji, doświadczeniu oraz wiedzy na temat często spotykanych usterek. (K1)
LO-4.5.2 Kandydat potrafi porównac techniki oparte na doświadczeniu z technikami opartymi na specyfikacji. (K2)

4.6 Wybór technik testowania (K2)

LO-4.6.1 Kandydat potrafi podzielić techniki projektowania testów według ich dopasowania do danego kontekstu, podstawy testowania, modeli oraz cech oprogramowania. (K2)

5. Zarządzanie testowaniem

5.1 Organizacja testów (K2)

LO-5.1.1 Kandydat uznaje wagę testowania niezależnego. (K1)
LO-5.1.2 Kandydat potrafi wyjaśnić korzyści i wady niezależnego testowania w organizacji. (K2)
LO-5.1.3 Kandydat uznaje potrzebę włączenia różnych członków zespołu podczas tworzenia zespołu testerskiego. (K1)
LO-5.1.4 Kandytat pamięta zadania typowego lidera testów oraz testera. (K1)

5.2 Planowanie i szacowanie testów (K2)

LO-5.2.1 Kandydat rozpoznaje różne poziomy i cele planowania testów. (K1)
LO-5.2.2 Kandydat potrafi omówić krótko cel i zawartość planu testów, projektu testów, procedury testowej zgodnie ze standardem dokumentacji testowania oprogramowania (IEEE STD 829-1998). (K2)
LO-5.2.3 Kandydat rozróżnia koncepcyjnie odmienne podejścia do testowania, takie jak analityczne, oparte na modelach, metodyczne, zgodne z procesem lub standardem, dynamiczne/heurystyczne, konsultatywne oraz przeciwregresywne. (K2)
LO-5.2.4 Kandydat odróżnia planowanie testów systemu od harmonogramowania ich wykonania. (K2)
LO-5.2.5 Kandydat potrafi napisać harmonogram wykonania testów dla danego zbioru przypadków testowych, uwzględniając ich priorytety oraz zależności logiczne i techniczne. (K3)
LO-5.2.6 Kandydat potrafi wymienić czynności przygotowania i wykonania testów, które należy wziąć pod uwagę przy planowaniu. (K1)
LO-5.2.7 Kandydat pamięta typowe czynniki, które mają wpływ na pracochłonność testowania. (K1)
LO-5.2.8 Kandydat odróżnia od siebie dwa koncepcyjnie odmienne podejścia do szacowania: podejścia bazujące na metrykach i podejścia wykorzystujące ekspertów. (K2)
LO-5.2.9 Kandydat potrafi rozpoznać i uzasadnić odpowiednie kryteria wejścia oraz zakończenia konkretnych poziomów testowania oraz grup przypadków testowych (np. testów integracyjnych, testów akceptacyjnych lub przypadków testowych w testach użyteczności). (K2)

5.3 Monitorowanie postępu testów i nadzór (K2)

LO-5.3.1 Kandydat pamięta najczęściej używane metryki do monitorowania przygotowania i wykonania testów. (K1)
LO-5.3.2 Kandydat potrafi wyjaśnić i porównać metryki stosowane w raportowaniu i kontroli testów (np. znalezione i poprawione usterki, zdane i niezdane testy). (K2)
LO-5.3.3 Kandydat potrafi omówić krótko cel i zawartość raportu podsumowującego testy zgodnie ze standardem dokumentacji testowania oprogramowania (IEEE STD 829-1998). (K2)

5.4 Zarządzanie konfiguracją (K2)

LO-5.4.1 Kandydat potrafi opisać krótko w jaki sposób zarządzanie konfiguracją wspiera testowanie. (K2)

5.5 Ryzyka o testowanie (K2)

LO-5.5.1 Kandydat potrafi opisać ryzyko jako potencjalny problem, który zagrażałby osiągnięciu celów projektowych jednego lub więcej interesariuszy projektu. (K2)
LO-5.5.2 Kandydat pamięta, że poziom ryzyka jest określany przez prawdopodobieństwo wystąpienia oraz wpływ (potencjalną szkodę jaką może uczynić materializując się). (K1)
LO-5.5.3 Kandydat rozróżnia elementy ryzyka projektowego i produktowego. (K2)
LO-5.5.4 Kandydat rozpoznaje typowe elementy ryzyka projektowego i produktowego. (K1)
LO-5.5.5 Kandydat potrafi opisać przy użyciu przykładów jak analiza ryzyka i zarządzanie ryzykiem mogą zostać wykorzystane przy planowaniu testów. (K2)

5.6 Zarządzanie incydentami (K3)

LO-5.6.1 Kandydat uznaje zawartość raportu incydentu zgodnie ze standardem dokumentacji testowania oprogramowania (IEEE STD 829-1998). (K1)
LO-5.6.2 Kandydat potrafi napisać raport incydentu zawierający opis awarii zaobserwowanej podczas testowania. (K3)

6. Testowanie wspierane narzędziami

6.1 Typy narzędzi testowych (K2)

LO-6.1.1 Kandydat potrafi podzielić różne typy narzędzi testowych według ich celów, według czynności podstawowego procesu testowego oraz cyklu życia oprogramowania. (K2)
LO-6.1.3 Kandydat potrafi wyjaśnić pojęcie "narzędzie testowe" oraz cel wsparcia narzędziowego dla testów. (K2)

6.2 Skuteczne użycie narzędzi, potencjalne korzyści i ryzyko (K2)

LO-6.2.1 Kandydat potrafi opisać krótko potencjalne korzyści oraz ryzyko automatyzacji testów oraz wspierania testów narzędziami. (K2)
LO-6.2.2 Kandydat pamięta specjalne uwarunkowania dla narzędzi wspierających wykonywanie testów, analizę statyczną oraz zarządzanie testami. (K1)

6.3 Wdrażanie narzędzi w organizacji (K1)

LO-6.3.1 Kandydat potrafi wymienić główne zasady wprowadzania narzędzi do organizacji. (K1)
LO-6.3.2 Kandydat potrafi wymienić cele proof of concept w ewaluacji narzędzia oraz fazy pilotażowej jego wdrażania. (K1)
LO-6.3.3 Kandydat uznaje, że na dobre wsparcie narzędzia wpływają też inne czynniki ponad sam zakup narzędzia. (K1)


Osobiste