Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S1)
specjalność: Inżynieria oprogramowania

Sylabus przedmiotu Automatyzacja testów:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia stacjonarne Poziom pierwszego stopnia
Tytuł zawodowy absolwenta inżynier
Obszary studiów charakterystyki PRK, kompetencje inżynierskie PRK
Profil ogólnoakademicki
Moduł
Przedmiot Automatyzacja testów
Specjalność Inżynieria oprogramowania
Jednostka prowadząca Katedra Inżynierii Oprogramowania i Cyberbezpieczeństwa
Nauczyciel odpowiedzialny Luiza Fabisiak <Luiza.Fabisiak@zut.edu.pl>
Inni nauczyciele
ECTS (planowane) 3,0 ECTS (formy) 3,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
laboratoriaL7 15 1,50,50zaliczenie
wykładyW7 15 1,50,50zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Podstawowa wiedza z zakresu inżynierii oprogramowania i programowania.

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie studentów z metodami projektowania, analizowania, wytwarzania i testowania oprogramowania, rodzajami testów oprogramowania, metod białoskrzynkowych oraz czarnoskrzynkowych.
C-2Ukształtowanie praktycznych umiejętności projektowania i implementowania przypadków testowych..

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Testy funkcjonalne - scenariusze testowe2
T-L-2Testy funkcjonalne - funkcjonalność/użyteczność stron interentwych oraz aplikacji2
T-L-3testy funkcjonalne - specyfikacja testowania: przypadki testowe; retesty; testy regresyjne - ZASADA FIRST2
T-L-4Testy jednostkowe - JUNIT 5 - Pierwszy test/Struktura testu Testowanie równości wartości i obiektów Matchery – Hamcrest i assertJ Testowanie kolekcji2
T-L-5Testy jednostkowe - JUNIT 5 Testowanie wyjątków Adnotacje @BeforeEach i @AfterEach, @AfterAll Oznaczeni testów Extension Model2
T-L-6Testy jednostkowe - JUNIT 5 Assumption i adnotacja @RepeatedTest Adnotacja @Tag Testy parametryzowane2
T-L-7Testy jednostkowe - Mockito 2 ArgumentCaptor Adnotacje i ustawienia restykcyjniści Obiekty typu Spy2
T-L-8Test Driven Development TDD w praktyce1
15
wykłady
T-W-1Wstęp do testowania.1
T-W-2Dlaczego testować? Siedem zasad testowania. Proces testowy.2
T-W-3Rodzaje testów. Model cyklu życia oprogramowania. Poziomy testów. Proces przeglądu.2
T-W-4Planowanie i tworzenie testów. Organizacja testów. Planowanie i szacowanie testów. Monitorowanie testów i nadzór nad testami.2
T-W-5Techniki tworzenia testów. Czarnoskrzynkowe techniki testowania. Białoskrzynkowe techniki testowania. Techniki testowania oparte na doświadczeniu.4
T-W-6Continuous integration2
T-W-7Zadania z tworzenia testów za pomocą technik2
15

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1uczestnictwo w zajęciach15
A-L-2Praca własna22
37
wykłady
A-W-1uczestnictwo w zajęciach15
A-W-2Konsultacje2
A-W-3Praca własna20
37

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykłady oparte na prezentacjach multimedialnych.
M-2Pokazy praktyczne - demonstracje użycia narzędzi.
M-3Ćwiczenia praktyczne z użyciem komputera.

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Ocena zadań zrealizowanych w ramach laboratorium.
S-2Ocena formująca: Ocena zadań domowych.
S-3Ocena podsumowująca: Całościowa ocena umiejętności praktycznych zdobytych podczas ćwiczeń laboratoryjnych.
S-4Ocena podsumowująca: Sprawdzenie wiedzy teoretycznej dotyczącej automatyzacji testowania.

Zamierzone efekty uczenia się - wiedza

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
Itest_1A_D03.08_W01
Student zna oraz rozumie nowoczesne metody projektowania, analizowania, wytwarzania i testowania oprogramowania, w szczególności posiada wiedzę na temat rodzajów testów oprogramowania, metod białoskrzynkowych oraz czarnoskrzynkowych. Zna podstawowe języki programowania ich biblioteki, potrafi czytać i modyfikować istniejące programy.
I_1A_W03, I_1A_W04, I_1A_W05C-1T-W-6, T-W-5, T-W-2, T-W-1, T-W-3, T-W-4, T-W-7M-2, M-1S-4

Zamierzone efekty uczenia się - umiejętności

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
Itest_1A_D03.08_U01
Student potrafi projektować i implementować przypadki testowe posługując się narzędziami wspomagającymi proces wytwarzania oprogramowania. Rozumie przygotwane przez innych przypadki testowe i jest w stanie je modyfikować.
I_1A_U04, I_1A_U05, I_1A_U09C-2T-L-3, T-L-1, T-L-5, T-L-6, T-L-8, T-L-4, T-L-7, T-L-2M-2, M-3S-3, S-1, S-2

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
Itest_1A_D03.08_W01
Student zna oraz rozumie nowoczesne metody projektowania, analizowania, wytwarzania i testowania oprogramowania, w szczególności posiada wiedzę na temat rodzajów testów oprogramowania, metod białoskrzynkowych oraz czarnoskrzynkowych. Zna podstawowe języki programowania ich biblioteki, potrafi czytać i modyfikować istniejące programy.
2,0
3,0Posiada poszerzoną wiedze w zakresie testowania oprogramowania, niezbędną do formułowania i rozwiązywania problemów w informatyce i dyscyplinach pokrewnych. Posiada wiedzę w zakresie projektowania, analizy oraz implementacji algorytmów, struktur danych oraz konstrukcji podstaw programistycznych, zna podstawowe problemy z testowania oprogramowania. Posiada wiedze o cyklu życia testowanego oprogramowania, zna podstawową teorię z wiedzy o testowaniu produktu, w szczególności obejmująco szeroko stosowane narzędzia wspomagające testowanie produktu. Ma podstawową wiedzę w zakresie programowania oraz zna podstawowe narzędzia do zarządzania testowanie,
3,5
4,0
4,5
5,0

Kryterium oceny - umiejętności

Efekt uczenia sięOcenaKryterium oceny
Itest_1A_D03.08_U01
Student potrafi projektować i implementować przypadki testowe posługując się narzędziami wspomagającymi proces wytwarzania oprogramowania. Rozumie przygotwane przez innych przypadki testowe i jest w stanie je modyfikować.
2,0
3,0Potrafi zaplanować i zrealizować eksperymenty w zakresie oceny testowanego produktu, efektywności testowanych produktów i ich składowych. Potrafi pozyskiwać, przesyłać i przetwarzać dane, podsumowywać wyniki oraz dokonywać interpretacji na testowanym produkcie. Potrafi dobrać odpowiednie narzędzia do testowania produktu, zastosować metody biało i czarnoskrzynkowe oraz znać różnicę między przypadkami oraz warunkami testowanego produktu. Potrafi konfigurować programy komputerowe, instalować oraz uwzględniać sugestię wykładowcy. Potrafi dobrać i krytycznie ocenić elementy składowe testowanych produktów.
3,5
4,0
4,5
5,0

Literatura podstawowa

  1. Khorikov Vladimir, Testy jednostkowe. Zasady, praktyki i wzorce, Wydawnictwo Helion, 2020, 36016693
  2. Rafał Pawlak, Testowanie oprogramowania. Podręcznik dla początkujących, Helion, 2014, 459359

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Testy funkcjonalne - scenariusze testowe2
T-L-2Testy funkcjonalne - funkcjonalność/użyteczność stron interentwych oraz aplikacji2
T-L-3testy funkcjonalne - specyfikacja testowania: przypadki testowe; retesty; testy regresyjne - ZASADA FIRST2
T-L-4Testy jednostkowe - JUNIT 5 - Pierwszy test/Struktura testu Testowanie równości wartości i obiektów Matchery – Hamcrest i assertJ Testowanie kolekcji2
T-L-5Testy jednostkowe - JUNIT 5 Testowanie wyjątków Adnotacje @BeforeEach i @AfterEach, @AfterAll Oznaczeni testów Extension Model2
T-L-6Testy jednostkowe - JUNIT 5 Assumption i adnotacja @RepeatedTest Adnotacja @Tag Testy parametryzowane2
T-L-7Testy jednostkowe - Mockito 2 ArgumentCaptor Adnotacje i ustawienia restykcyjniści Obiekty typu Spy2
T-L-8Test Driven Development TDD w praktyce1
15

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Wstęp do testowania.1
T-W-2Dlaczego testować? Siedem zasad testowania. Proces testowy.2
T-W-3Rodzaje testów. Model cyklu życia oprogramowania. Poziomy testów. Proces przeglądu.2
T-W-4Planowanie i tworzenie testów. Organizacja testów. Planowanie i szacowanie testów. Monitorowanie testów i nadzór nad testami.2
T-W-5Techniki tworzenia testów. Czarnoskrzynkowe techniki testowania. Białoskrzynkowe techniki testowania. Techniki testowania oparte na doświadczeniu.4
T-W-6Continuous integration2
T-W-7Zadania z tworzenia testów za pomocą technik2
15

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1uczestnictwo w zajęciach15
A-L-2Praca własna22
37
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1uczestnictwo w zajęciach15
A-W-2Konsultacje2
A-W-3Praca własna20
37
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięItest_1A_D03.08_W01Student zna oraz rozumie nowoczesne metody projektowania, analizowania, wytwarzania i testowania oprogramowania, w szczególności posiada wiedzę na temat rodzajów testów oprogramowania, metod białoskrzynkowych oraz czarnoskrzynkowych. Zna podstawowe języki programowania ich biblioteki, potrafi czytać i modyfikować istniejące programy.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W03Ma szczegółową wiedzę w zakresie wybranych specjalności informatyki technicznej.
I_1A_W04Ma wiedzę o stanie obecnym i kierunkach rozwoju kluczowych obszarów informatyki i wybranych aspektów dyscyplin z otoczenia informatyki.
I_1A_W05Ma wiedzę o nowoczesnych metodach projektowania, analizowania, wytwarzania, testowania oprogramowania oraz rozwiązywania wybranych zadań inżynierskich obejmujących w szczególności narzędzia wspomagające wytwarzanie oprogramowania na różnych etapach powstawania, eksploatacji i rozwoju systemów informatycznych.
Cel przedmiotuC-1Zapoznanie studentów z metodami projektowania, analizowania, wytwarzania i testowania oprogramowania, rodzajami testów oprogramowania, metod białoskrzynkowych oraz czarnoskrzynkowych.
Treści programoweT-W-6Continuous integration
T-W-5Techniki tworzenia testów. Czarnoskrzynkowe techniki testowania. Białoskrzynkowe techniki testowania. Techniki testowania oparte na doświadczeniu.
T-W-2Dlaczego testować? Siedem zasad testowania. Proces testowy.
T-W-1Wstęp do testowania.
T-W-3Rodzaje testów. Model cyklu życia oprogramowania. Poziomy testów. Proces przeglądu.
T-W-4Planowanie i tworzenie testów. Organizacja testów. Planowanie i szacowanie testów. Monitorowanie testów i nadzór nad testami.
T-W-7Zadania z tworzenia testów za pomocą technik
Metody nauczaniaM-2Pokazy praktyczne - demonstracje użycia narzędzi.
M-1Wykłady oparte na prezentacjach multimedialnych.
Sposób ocenyS-4Ocena podsumowująca: Sprawdzenie wiedzy teoretycznej dotyczącej automatyzacji testowania.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Posiada poszerzoną wiedze w zakresie testowania oprogramowania, niezbędną do formułowania i rozwiązywania problemów w informatyce i dyscyplinach pokrewnych. Posiada wiedzę w zakresie projektowania, analizy oraz implementacji algorytmów, struktur danych oraz konstrukcji podstaw programistycznych, zna podstawowe problemy z testowania oprogramowania. Posiada wiedze o cyklu życia testowanego oprogramowania, zna podstawową teorię z wiedzy o testowaniu produktu, w szczególności obejmująco szeroko stosowane narzędzia wspomagające testowanie produktu. Ma podstawową wiedzę w zakresie programowania oraz zna podstawowe narzędzia do zarządzania testowanie,
3,5
4,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięItest_1A_D03.08_U01Student potrafi projektować i implementować przypadki testowe posługując się narzędziami wspomagającymi proces wytwarzania oprogramowania. Rozumie przygotwane przez innych przypadki testowe i jest w stanie je modyfikować.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U04Potrafi identyfikować związki i zależności w procesach zachodzących w systemach rzeczywistych i na tej podstawie tworzyć modele komputerowe oraz przeprowadzać ich symulacje.
I_1A_U05Potrafi zaplanować i zrealizować eksperymenty w zakresie oceny wydajności, złożoności, efektywności systemów informatycznych i ich składowych.
I_1A_U09Potrafi dobrać właściwe metody i narzędzia do rozwiązywania wybranych zadań informatycznych w warunkach nie w pełni przewidywalnych.
Cel przedmiotuC-2Ukształtowanie praktycznych umiejętności projektowania i implementowania przypadków testowych..
Treści programoweT-L-3testy funkcjonalne - specyfikacja testowania: przypadki testowe; retesty; testy regresyjne - ZASADA FIRST
T-L-1Testy funkcjonalne - scenariusze testowe
T-L-5Testy jednostkowe - JUNIT 5 Testowanie wyjątków Adnotacje @BeforeEach i @AfterEach, @AfterAll Oznaczeni testów Extension Model
T-L-6Testy jednostkowe - JUNIT 5 Assumption i adnotacja @RepeatedTest Adnotacja @Tag Testy parametryzowane
T-L-8Test Driven Development TDD w praktyce
T-L-4Testy jednostkowe - JUNIT 5 - Pierwszy test/Struktura testu Testowanie równości wartości i obiektów Matchery – Hamcrest i assertJ Testowanie kolekcji
T-L-7Testy jednostkowe - Mockito 2 ArgumentCaptor Adnotacje i ustawienia restykcyjniści Obiekty typu Spy
T-L-2Testy funkcjonalne - funkcjonalność/użyteczność stron interentwych oraz aplikacji
Metody nauczaniaM-2Pokazy praktyczne - demonstracje użycia narzędzi.
M-3Ćwiczenia praktyczne z użyciem komputera.
Sposób ocenyS-3Ocena podsumowująca: Całościowa ocena umiejętności praktycznych zdobytych podczas ćwiczeń laboratoryjnych.
S-1Ocena formująca: Ocena zadań zrealizowanych w ramach laboratorium.
S-2Ocena formująca: Ocena zadań domowych.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Potrafi zaplanować i zrealizować eksperymenty w zakresie oceny testowanego produktu, efektywności testowanych produktów i ich składowych. Potrafi pozyskiwać, przesyłać i przetwarzać dane, podsumowywać wyniki oraz dokonywać interpretacji na testowanym produkcie. Potrafi dobrać odpowiednie narzędzia do testowania produktu, zastosować metody biało i czarnoskrzynkowe oraz znać różnicę między przypadkami oraz warunkami testowanego produktu. Potrafi konfigurować programy komputerowe, instalować oraz uwzględniać sugestię wykładowcy. Potrafi dobrać i krytycznie ocenić elementy składowe testowanych produktów.
3,5
4,0
4,5
5,0