Wydział Informatyki - Inżynieria cyfryzacji (S1)
specjalność: Zastosowania informatyki
Sylabus przedmiotu Zapewnienie jakości oprogramowania - Przedmiot obieralny II:
Informacje podstawowe
Kierunek studiów | Inżynieria cyfryzacji | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | pierwszego stopnia |
Tytuł zawodowy absolwenta | inżynier | ||
Obszary studiów | nauk technicznych, studiów inżynierskich | ||
Profil | ogólnoakademicki | ||
Moduł | — | ||
Przedmiot | Zapewnienie jakości oprogramowania - Przedmiot obieralny II | ||
Specjalność | przedmiot wspólny | ||
Jednostka prowadząca | Katedra Inżynierii Oprogramowania | ||
Nauczyciel odpowiedzialny | Maciej Poliwoda <Maciej.Poliwoda@zut.edu.pl> | ||
Inni nauczyciele | Krzysztof Małecki <Krzysztof.Malecki@zut.edu.pl> | ||
ECTS (planowane) | 2,0 | ECTS (formy) | 2,0 |
Forma zaliczenia | zaliczenie | Język | polski |
Blok obieralny | 3 | Grupa obieralna | 3 |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Znajomość podstawowych zagadnień z zakresu systemów operacyjnych, sieci komputerowych, programowania komputerów, inżynierii systemów informatycznych. |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Zapoznanie studentów z zasadami testowania oprogramowania. |
C-2 | Poznanie zagadnień testowania na poziomie umożliwiającym podejście do certyfikacji na poziomie podstawowym wg International Software Testing Qualification Board (Foundation Level). |
C-3 | Zapoznanie studentów ze specyfiką testowania poszczególnych platform (mobilnych, webowych). Wyjaśnienie i zaakcentowanie różnic i podobieństw oraz wymaganych umiejętności dla potrzeb zapewnienia jakości każdej z nich. |
C-4 | Przedstawienie najbardziej popularnych i najczęściej wykorzystywanych narzędzi, wspomagających przygotowanie i zarządzanie środowiskami testowymi oraz wspomagających przebieg cyklu testowania oprogramowania. |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Przygotowanie środowiska pracy i przypadków testowych na podstawie dokumentacji oraz zgłaszanie błędów do dokumentacji. Zgłaszanie uwag do specyfikacji architektury. | 2 |
T-L-2 | Sprawozdanie z poprzednich laboratoriów. Testowanie według planu testów, testowanie eksploracyjne / ad-hoc dla systemów webowych. Zapoznanie z narzędziami wspomagającymi testowanie aplikacji back-end. Wykorzystanie narzędzi do zarządzania przebiegiem cyklu testowania oraz narzędzi wspomagających zarządzanie defektami. | 2 |
T-L-3 | Testowanie według planu testów, testowanie eksploracyjne / ad-hoc dla systemów webowych. Zapoznanie z narzędziami wspomagającymi testowanie aplikacji back-end. Wykorzystanie narzędzi do zarządzania przebiegiem cyklu testowania oraz narzędzi wspomagających zarządzanie defektami. | 2 |
T-L-4 | Sprawozdanie z poprzednich dwóch laboratoriów. Testowanie według planu testów, testowanie eksploracyjne / ad-hoc dla urządzeń mobilnych. Zapoznanie z narzędziami wspomagającymi testowanie aplikacji mobilnych na różnych platformach sprzętowych (Windows). Specyfika testowania platform mobilnych ( Android, Windows Phone). Wykorzystanie narzędzi do zarządzania przebiegiem cyklu testowania oraz narzędzi wspomagających zarządzanie defektami - c.d. | 2 |
T-L-5 | Testowanie według planu testów, testowanie eksploracyjne / ad-hoc dla urządzeń mobilnych. Zapoznanie z narzędziami wspomagającymi testowanie aplikacji mobilnych na różnych platformach sprzętowych (Windows). Specyfika testowania platform mobilnych ( Android, Windows Phone). Wykorzystanie narzędzi do zarządzania przebiegiem cyklu testowania oraz narzędzi wspomagających zarządzanie defektami - c.d. | 2 |
T-L-6 | Wejściówka. Sprawozdanie z poprzednich dwóch laboratoriów. Testowanie według planu testów, testowanie eksploracyjne / ad-hoc usług (webservis, rest). Zapoznanie z narzędziami wspomagającymi testowanie serwisów. Wykorzystanie narzędzi do zarządzania przebiegiem cyklu testowania oraz narzędzi wspomagających zarządzanie defektami - c.d. | 2 |
T-L-7 | Testowanie według planu testów, testowanie eksploracyjne / ad-hoc usług (webservis, rest). Zapoznanie z narzędziami wspomagającymi testowanie serwisów. Wykorzystanie narzędzi do zarządzania przebiegiem cyklu testowania oraz narzędzi wspomagających zarządzanie defektami - c.d. | 2 |
T-L-8 | Sprawozdanie z poprzednich dwóch laboratoriów. Testowanie regresyjne, retesty. Testu niefunkcjonalne (obciążeniowe, wydajnościowe, użyteczności). Wykorzystanie narzędzi, wspomagających tego typu testy. | 2 |
T-L-9 | Testowanie regresyjne, retesty. Testu niefunkcjonalne (obciążeniowe, wydajnościowe, użyteczności). Wykorzystanie narzędzi, wspomagających tego typu testy. | 2 |
T-L-10 | Sprawozdanie z poprzednich dwóch laboratoriów. Raportowanie postępów prac. Wykorzystanie narzędzi, wspomagających tworzenie raportów. Alternatywne narzędzia wspomagające planowanie, wykonanie i zamykanie cyklu testowania. | 2 |
T-L-11 | Wejściówka Automatyzacja testów na przykładzie platformy mobilnej Android (użycie narzędzia Robotium do przygotowania prostych przypadków testowych. | 2 |
T-L-12 | Automatyzacja na platformach webowych (użycie narzędzia Selenium do przygowania skryptów) | 2 |
T-L-13 | Sprawozdanie z poprzednich trzech laboratoriów. Testy penetracyjne - SQL Injection, XSS | 2 |
T-L-14 | Testy regresji. Raport końcowty z wykonanych testów | 2 |
T-L-15 | Zaliczenie, poprawy sprawozdań. | 2 |
30 | ||
wykłady | ||
T-W-1 | Wprowadzenie do testowania. Definicja testowania. Siedem zasad testowania. Podstawowy proces testowy. Psychologia w testowaniu. Strategia testów. Plan Testów Procedura testowa. Normy w testowaniu: ISO 9126, IEEE 829 (dokumentacja), IEEE 1028 (przeglądy), IEEE 12207 (cykle życia oprogramowania), CMMI. | 2 |
T-W-2 | Testowanie w cyklu życia oprogramowania. Model V. Poziomy testów. Testy modułowe, integracyjne, systemowe, akceptacyjne. Typy i cele testów. Testowanie funkcji, właściwości, struktury/architektury, testowanie związane ze zmianami w oprogramowaniu. | 2 |
T-W-3 | Statyczne techniki testowania (przeglądy a proces testowy, proces przeglądu). Wprowadzenie do projektowania testów: identyfikacja warunków testowych i projektowanie przypadków testowych, kategorie technik projektowania testów. | 2 |
T-W-4 | Techniki na podstawie specyfikacji lub czarnoskrzynkowe. Podział na klasy równoważności. Analiza wartości brzegowych. Testowanie z użyciem tablicy decyzyjnej. Testowanie przejść między stanami. Testowanie z zastosowaniem przypadków użycia | 2 |
T-W-5 | Techniki na podstawie struktury lub białoskrzynkowe. Testowanie instrukcji i pokrycie. Testowanie decyzyjne i pokrycie. Inne techniki na podstawie struktury. Techniki oparte na doświadczeniu | 2 |
T-W-6 | Zarządzanie testowaniem. Organizacja i niezależność testowania. Zadania kierownika testów i testera. Planowanie testowania. Czynności wykonywane podczas planowania testów. Kryteria wyjścia. Oszacowanie wysiłku testowego. Sposoby podejścia do testowania (strategie testowe). Monitorowanie postępu testów. Raportowanie testów. Nadzór nad testowaniem. | 2 |
T-W-7 | Ryzyko a testowanie. Ryzyko produktowe a projektowe. Zarządzanie konfiguracją. Zarządzanie konfiguracją. Podstawowe informacje o systemach zarządzania wersjami oprogramowania (np. GIT, Subversion). | 2 |
T-W-8 | Zaliczenie | 1 |
15 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | Udział w laboratoriach | 30 |
A-L-2 | Konsultacje | 2 |
A-L-3 | Praca własna studenta i przygotowanie sprawozdań | 28 |
60 | ||
wykłady | ||
A-W-1 | Udział studenta w zajęciach dydaktycznych | 15 |
A-W-2 | Praca własna studenta - studia literatury | 12 |
A-W-3 | Udział w konsultacjach | 2 |
29 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład konwersatoryjny |
M-2 | Laboratorium - Metoda przypadków z dyskusja |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena podsumowująca: Ogólna ocena formująca oraz ocena sprawozdań i aktywnej obecności - laboratorium |
S-2 | Ocena formująca: Ocena realizacji zadań bieżących, sprawozdań i wejściówek |
S-3 | Ocena podsumowująca: Zaliczenie pisemne na wykładzie - pytania w formie i treści możliwie najbardziej zbliżone do pytań egzaminacyjnych ISTQB Foundation Level. |
Zamierzone efekty kształcenia - wiedza
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
IC_1A_O/02-03_W01 Wiedza na temat testowania oprogramowania z zakresu ISTQB Foundation Level | IC_1A_W10 | T1A_W02, T1A_W04, T1A_W06, T1A_W07, T1A_W09 | InzA_W01, InzA_W02, InzA_W04, InzA_W05 | C-1, C-2 | T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7 | M-1, M-2 | S-3 |
Zamierzone efekty kształcenia - umiejętności
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
IC_1A_O/02-03_U01 Umiejętność rozpoznawania oraz formułowania przypadków testowych | IC_1A_U11, IC_1A_U13, IC_1A_U22, IC_1A_U06, IC_1A_U28 | T1A_U07, T1A_U09, T1A_U10, T1A_U11, T1A_U12, T1A_U13, T1A_U14, T1A_U15, T1A_U16 | InzA_U02, InzA_U03, InzA_U04, InzA_U05, InzA_U06, InzA_U07, InzA_U08 | C-3, C-4 | T-L-1 | M-2 | S-1, S-2, S-3 |
IC_1A_O/02-03_U02 Umiejętność doboru i wykorzystania narzędzi wspomagających zarządzanie cyklem testowania oprogramowania | IC_1A_U22, IC_1A_U25 | T1A_U07, T1A_U09, T1A_U10, T1A_U13, T1A_U15 | InzA_U02, InzA_U03, InzA_U05, InzA_U07 | C-2, C-4 | T-L-4, T-L-8, T-L-6, T-L-7, T-L-5, T-L-9, T-L-10, T-L-11, T-L-12, T-L-13, T-L-14 | M-2 | S-1, S-2, S-3 |
IC_1A_O/02-03_U03 Umiejętność analizy i interpretacji czynników wpływających na powstawanie defektów, szacowania ryzyka, wynikającego z ich istnienia oraz klasyfikowania defektów (określania ważności) | IC_1A_U28 | T1A_U14, T1A_U16 | InzA_U06, InzA_U08 | C-2, C-3, C-4 | T-L-4, T-L-8, T-L-3, T-L-6, T-L-7, T-L-5, T-L-9, T-L-13, T-L-14 | M-2 | S-1, S-2, S-3 |
Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
IC_1A_O/02-03_K01 Zorientowanie na pracę zespołową, otwartość na współpracę. Umiejętność jasnego i neutralnego komunikowania się. | IC_1A_K03 | T1A_K03, T1A_K04 | — | C-1 | T-L-2, T-L-4, T-L-8, T-L-1, T-L-3, T-L-6, T-L-7, T-L-5, T-L-9, T-L-10, T-L-11, T-L-12, T-L-13, T-L-14 | M-1, M-2 | S-2 |
Kryterium oceny - wiedza
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
IC_1A_O/02-03_W01 Wiedza na temat testowania oprogramowania z zakresu ISTQB Foundation Level | 2,0 | Nie posiada wiedzy dotyczącej testowania i organizacji testów na poziomie dostatecznym (3,0) |
3,0 | Potrafi zdefiniować testowanie, podać i scharakteryzować 7 zasad testowania. Zna i charakteryzuje statyczne techniki testowania. Potrafi sklasyfikować i podać przykłady narzędzi (oprogramowania) stosowanych w testowaniu. Opisuje model V i rodzaje testów na poszczególnych etapach rozwoju oprogramowania w tym modelu. | |
3,5 | Objaśnia i tłumaczy na przykładach techniki czarnoskrzynkowe (testowanie na podstawie specyfikacji) i białoskrzynkowe. Wyjaśnia testowanie eksploracyjne i regresyjne. | |
4,0 | Potrafi objaśniać proces planowania testowania, kryteria wyjścia. Definiuje ryzyko w testowaniu, tłumaczy różnicę między ryzykiem projektowym i produktowym. Opisuje na przykładach istotę zarządzania konfiguracją oraz przykładowe narzędzia. | |
4,5 | Charakteryzuje automatyzację testów. Objaśnia zastosowanie testów jednostkowych oraz odpowiednie narzędzia. Zna pojęcie i zastosowanie jarzma testowego. | |
5,0 | Objaśnia zawartość informacyjną dokumentów w testowaniu (przypadek testowy, procedura testowa, plan testów, raport z testów, dokument z testów eksploracyjnych, raport pokrycia testów). Potrafi omówić standardy IEEE i ISO związane z testowaniem. |
Kryterium oceny - umiejętności
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
IC_1A_O/02-03_U01 Umiejętność rozpoznawania oraz formułowania przypadków testowych | 2,0 | Nie potrafi dobrze rozpoznać i sformułować przypadków testowych. |
3,0 | Potrafi rozpoznać tylko niektóre przypadki testowe i zapisać je w poprawnej formie. | |
3,5 | Potrafi rozpoznać większość przypadków testowych oraz poprawnie je sformułować i zapisać. | |
4,0 | Rozpoznaje najważniejsze przypadki testowe, potrafi poprawnie je poprawnie sformułować i zapisać. Zdarza mu się pomijać istotne szczegóły. | |
4,5 | Bezbłędnie rozpoznaje wszyskie możliwe przypadki testowe, poprawnie je formułuje i zapisuje. Sporadycznie pomija niektóre szczegóły. | |
5,0 | Bezbłędnie rozpoznaje wszystkie możliwe przypadki testowe, poprawnie je formułuje i zapisuje, nie pomijając żadnych istotnych szczegółów. | |
IC_1A_O/02-03_U02 Umiejętność doboru i wykorzystania narzędzi wspomagających zarządzanie cyklem testowania oprogramowania | 2,0 | Nie potrafi dobrać i wykorzystać narzdzi potrzebnych do zarządzania przypadkami testowymi, defektami oraz środowiskiem testowym. |
3,0 | Zna i potrafi wykorzystać tylko niektóre narzedzia do zarządzania przypadkami testowymi. Może nie znać narzdzi do zarządzania defektami. W znikomym stopniu potrafi zarządzać środowiskiem testowym. | |
3,5 | Potrafi dobrać i wykorzystać najbardziej popularne narzędzia do zarządzania przypadkami testowymi i defektami. Potrafi zarządzać środowiskiem testowym. | |
4,0 | Potrafi dobrać i wykorzystać różnorakie narzędzia do zarządzania cyklem testowania oprogramowania. Sprawnie operuje tymi narzędziami. Bezproblemowo konfiguruje środowisko testowe. | |
4,5 | Zna i potrafi wykorzystać większość dostępnych narzędzi, wspomagających cykl testowania oprogramowania (konfiguracja środowiska, zarządzanie przypadkami testowymi, zarządzanie defektami). Sprawnie operuje narzędziami wspomagającymi automatyzację testów. | |
5,0 | Szybko i sprawnie operuje narzędziami do zarządzania przypadkami testowymi oraz defektami. Bez problemów konfiguruje środowisko testowe. Potrafi tworzyć proste skrypty testów regresji, przy użyciu narzędzi wspomagających ten proces. | |
IC_1A_O/02-03_U03 Umiejętność analizy i interpretacji czynników wpływających na powstawanie defektów, szacowania ryzyka, wynikającego z ich istnienia oraz klasyfikowania defektów (określania ważności) | 2,0 | Nie rozumie potrzeby testowania i zapewnienia jakości oprogramowania. Nie potrafi określić potencjalnych przyczyn i miejsc powstawania defektów. Nie potrafi określić ryzyka, wynikającego z istnienia defektów. Nie potrafi określić ważności oraz istotności (priorty/severity) defektów. |
3,0 | Często potrafi określić przyczyny i miejsca powstawania defektów. Nie zawsze poprawnie szacuje ryzyko, wynikające z ich istnienia. Ma problemy z poprawną klasyfikacją ważności oraz istotności defektów. | |
3,5 | W wiekszości przypadków poprawnie definiuje miejsca i przyczyny powstawania defektów. Poprawnie szacuje ryzyko, wynikające z ich istnienia. W niektórych przypadkach poprawnie klasyfikuje defekty. | |
4,0 | Zawsze potrafi określić czynniki, wpływające na powstawanie defektów. Poprawnie szacuje ryzyko, wynikające z ich istnienia. W większości przypadków poprawnie określa ważność oraz istotność defektów. | |
4,5 | Poprawnie określa, analizuje oraz interpretuje czynniki, wpływające na powstawanie defektów. W niektórych przypadkach sugeruje rozwiązania, niwelujące wpływ defektów na produkt. Poprawnie określa ryzyko, wynikające z istnienia defektów. Poprawnie klasyfikuje defekty. | |
5,0 | Sprawnie analizuje oraz interpretuje czynniki, wpływające na powstawanie defektów. Myśli nieszablonowo, potrafi sugerować potencjalne rozwiązania, niwelujące wpływ znalezionych defektów na produkt. Poprawnie klasyfiukuje defekty, zarówno pod wzgldem priorytetów projektowych jak również istotności dla użytkownika końcowego. |
Kryterium oceny - inne kompetencje społeczne i personalne
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
IC_1A_O/02-03_K01 Zorientowanie na pracę zespołową, otwartość na współpracę. Umiejętność jasnego i neutralnego komunikowania się. | 2,0 | nie spełnia warunków oceny dostatecznej |
3,0 | Potrafi organizować swoją pracę i narzędzia (w ramach przydzielonych zadań). | |
3,5 | Pracuje dokładnie i metodycznie. Komunikuje wykryte błędy w oprogramowaniu w jasny sposób. | |
4,0 | Potrafi identyfikować problemy i ryzyka projektowe. | |
4,5 | Potrafi komunikować się w zespole (grupie) w sposób jasny i neutralny. | |
5,0 | Motywuje innych do pracy nad postawionymi zadaniami projektowymi. |
Literatura podstawowa
- ISTQB Foundation Level Syllabus, http://www.istqb.org/downloads/ (13.05.2013), 2013
- Black, R., Veenendaal, E. van, Graham, D., Foundations of Software Testing - ISTQB® Certification, Cengage Learning, 2012
- Morgan, P., Samaroo, A., Hambling, B., Software Testing: An ISTQB®-ISEB Foundation Guide, British Computer Society, 2010
- Spillner, A., Linz, T., Schaefer, H., Software Testing Foundations: A Study Guide for the Certified Tester Exam, Rocky Nook, 2011
- Homès, B., Fundamentals of Software Testing, IHomès, B., Fundamentals of Software Testing, ISTE Ltd and John Wiley & Sons Inc7. Patton, R., 2005, Software Testing (2nd. ed)