Uniwersytet Jagielloński w Krakowie Instytut Informatyki i
Transkrypt
Uniwersytet Jagielloński w Krakowie Instytut Informatyki i
Uniwersytet Jagielloński w Krakowie Instytut Informatyki i Matematyki Komputerowej Szanowni Państwo, W nowym roku akademickim 2015/2016, w odpowiedzi na duże zapotrzebowanie rynkowe, Instytut Informatyki i Matematyki Komputerowej UJ (IIiMK) planuje uruchomienie kierunku studiów podyplomowych dla osób, które swoją przyszłość zawodową wiążą z szeroko pojętym zarządzaniem jakością w procesie tworzenia produktów i usług informatycznych: Testowanie oprogramowania Kierunek ten powstał w efekcie ścisłej współpracy Instytutu Informatyki i Matematyki Komputerowej UJ z grupą doświadczonych praktyków zajmujących się zarządzeniem jakością w projektach software’owych oraz rekrutacją i edukacją testerów oprogramowania, analityków i menadżerów testów. Nasza propozycja skierowana jest do osób odpowiedzialnych za zapewnianie i kontrolę jakości systemów software’owych, pozostałych pracowników firm informatycznych oraz wszystkich rozważających wybór nowej ścieżki kariery związanej z profesjonalnym zapewnianiem jakości oprogramowania. Słuchacze poznają techniki i narzędzia stosowane w testach manualnych i automatycznych, ich wykorzystanie do testowania aplikacji desktopowych, webowych i mobilnych, nauczą się jak dokumentować efekty swojej pracy oraz jak zarządzać procesem testowym. Zajęcia prowadzone są przez doświadczonych specjalistów i w przeważającej części opierają się na ćwiczeniach praktycznych. Kadrę dydaktyczną stanowią praktycy z firm z branży IT z wieloletnim doświadczeniem zawodowym w obszarze testowania i zapewniania jakości oprogramowania. Większość ćwiczeń i laboratoriów ma formę zajęć praktycznych w laboratoriach komputerowych. Studia, których szczegółowy program i informacje organizacyjne załączone są poniżej niewątpliwie pomogą Państwu skompletować zespół profesjonalistów gotowych wziąć odpowiedzialność za kontrolę jakości oprogramowania którego jesteście Państwo producentem lub odbiorcą. Z poważaniem dr Adam Roman z-ca Dyrektora IIiMK ds. dydaktycznych Plan studiów Studia są dwusemestralne i składają się z 200 godzin zajęć (po 100 w każdym semestrze). Większość (70%) stanowią zajęcia praktyczne, odbywające się w laboratoriach komputerowych w grupach co najwyżej 15-osobowych. Pozostałe zajęcia mają formę konwersatoriów. Program studiów składa się z dwóch zasadniczych bloków. Pierwszy, obejmujący przedmioty 1, 5, 6 z poniższej tabeli, dotyczy bezpośrednio zagadnień związanych z testowaniem. Drugi, obejmujący przedmioty 2, 3, 4, 7 pozwala studentom nabyć umiejętności techniczne wspomagające testera w jego pracy (programowanie – w tym skryptowe, praca w sieci, wykorzystywanie baz danych, praca w systemie operacyjnym z poziomu użytkownika). Lp. Nazwa przedmiotu 1 2 3 4 Semestr I Podstawowe techniki i narzędzia testowania oprogramowania Sieci komputerowe, podstawy programowania w sieci Internet Systemy baz danych Wybrane elementy systemów operacyjnych 5 6 7 Semestr II Techniki i narzędzia automatyzacji testowania oprogramowania Zarządzanie i dokumentowanie procesu testowania Praktyczne wprowadzenie do programowania Liczba godzin zajęć Konw. Lab. Razem 20 20 20 20 20 Razem 40 20 20 20 100 20 20 20 10 30 Razem 40 30 30 100 Konw. = konwersatorium, Lab. = laboratorium w pracowni komputerowej Miejsce odbywania studiów Zajęcia odbywać się będą na Wydziale Matematyki i Informatyki UJ, w Instytucie Informatyki i Matematyki Komputerowej przy ul. Łojasiewicza 6 (III Kampus UJ) w nowym budynku, oddanym do użytku w 2008 roku. Wydział dysponuje nowoczesnymi salami wykładowymi, laboratoriami komputerowymi oraz szeregiem specjalistycznych pracowni, które będą wykorzystane podczas zajęć (np. pracownią sieci komputerowych czy pracownią urządzeń mobilnych). Kadra Studia w założeniu mają kłaść nacisk na kwestie praktyczne. Dlatego kadrę dydaktyczną stanowić będzie grono specjalistów – pracowników branży IT z wieloletnim doświadczeniem w zakresie testowania, zapewniania jakości, automatyzacji testów oraz zarządzania testowaniem. Wszystkie osoby prowadzące zajęcia posiadają również bogate doświadczenie dydaktyczne. Słuchacze będą mieli znakomitą okazję do kontaktu z doświadczonymi praktykami w obszarze zapewniania jakości. Ogólny opis treści programowych studiów Podstawowe techniki i narzędzia testowania oprogramowania zawód testera, możliwe ścieżki kariery miejsce i rola testowania, cykl życia testów strategie testowania; testowanie oparte na ryzyku wymagania funkcjonalne i niefunkcjonalne, jakość wymagań tworzenie przypadków, scenariuszy i procedur testowych; techniki projektowania testów analiza i raportowanie wyników testów i defektów, cykl życia defektów środowisko testowe i dane testowe – definicja, konfigurowanie, utrzymanie testowanie eksploracyjne testowanie w metodykach zwinnych testy niefunkcjonalne (wydajność, użyteczność, bezpieczeństwo itp.) Techniki i narzędzia automatyzacji testowania oprogramowania wstęp do automatyzacji; poziomy automatyzacji testów Selenium IDE + Webdriver Page Object Pattern + Selenium Grid Data Driven Testing JBehave JMeter SoapUI testowanie oparte na słowach kluczowych Zarządzanie i dokumentowanie procesu testowania testowanie w cyklu życia oprogramowania planowanie testowania nadzór i kontrola procesu testowego metryki i raportowanie; analiza raportów rodzaje dokumentów wytwarzanych w procesie testowym doskonalenie procesu testowego w organizacji zarządzanie zespołem testerów umiejętności miękkie w pracy testera testowanie w kontekście zapewniania jakości przeglądy, inspekcje, audyty Praktyczne wprowadzenie do programowania Program zajęć będzie dostosowany indywidualnie do poziomu słuchaczy, ich potrzeb oraz doświadczenia w zakresie programowania. Wiedza zdobyta na tych kursach będzie w szczególności wykorzystana na zajęciach z automatyzacji testowania. Zajęcia dotyczyć będą zarówno klasycznych języków programowania (Java, C++, C#) jak i języków skryptowych (np. Python). W przypadku języków klasycznych nacisk może być położony na analizę i rozumienie kodu, w przypadku języków skryptowych – na programowanie, ale zależeć to będzie od słuchaczy i ich potrzeb. Sieci komputerowe, podstawy programowania w sieci Internet Program zajęć będzie dostosowany indywidualnie do poziomu słuchaczy, ich potrzeb oraz doświadczenia w zakresie sieci komputerowych. W szczególności program obejmować będzie wykorzystanie snifferów/narzędzi do podglądania przesyłanych pakietów w sieci. Systemy baz danych podstawy języka SQL zapytania do bazy danych przeprowadzanie backupu bazy danych (Oracle, MySQL, MSSQL) inne zagadnienia, zależnie od potrzeb i doświadczenia słuchaczy Wybrane elementy systemów operacyjnych praca w systemach operacyjnych z poziomu użytkownika operacje na plikach (logowanie, wykorzystanie narzędzi typu grep/awk itp.) pisanie prostych skryptów (zarówno w Windows jak i w powłoce Linuxa) odczytywanie parametrów pracy systemu (np. zużycie pamięci, procesowa, miejsca na dysku itp.) wirtualizacja środowisk testowych, wykorzystanie narzędzi typu VMWare inne zagadnienia, zależnie od potrzeb i doświadczenia słuchaczy