Sadržaj se učitava...
mdi-home Početna mdi-account-multiple Djelatnici mdi-script Studiji mdi-layers Katedre mdi-calendar-clock Raspored sati FOI Nastava search apps mdi-login
Testiranje i kvaliteta programskih proizvoda
Testing and Quality of Software Products
2023/2024
6 ECTSa
Informacijski i poslovni sustavi 1.2 (IPS)
Katedra za razvoj informacijskih sustava
M1
6. semestar
Osnovne informacijemdi-information-variant Izvođači nastavemdi-account-group Nastavni plan i programmdi-clipboard-text-outline Model praćenjamdi-human-male-board Ispitni rokovimdi-clipboard-check-outline Rasporedmdi-calendar-clock Konzultacijemdi-account-voice
Izvođenje kolegija
Studij Studijski program Semestar Obavezan
Informacijski i poslovni sustavi 1.2 (IPS) Razvoj programskih sustava 6 obavezan
Cilj kolegija
Osposobiti studenta da sudjeluje u aktivnostima planiranja, provedbe i dokumentiranja testiranja i procjene kvalitete programskih proizvoda.
Preduvjeti
Kolegij nema definirane preduvjete
Norma kolegija
Predavanja
30 sati
Vježbe u praktikumu
30 sati
Nastavnik Uloga na kolegiju Oblik nastave Tjedana Sati Grupa
Kirinić Valentina Nositelj Predavanja 10 2 1
Mijač Marko Suradnik Vježbe u praktikumu
Predavanja
11
5
2
2
3
1
Berket Marijana Vanjski suradnik Vježbe u praktikumu 4 2 3
Sadržaj predavanja
  • Uvod u testiranje i kvaliteta programskih proizvoda (2 sata)
    Refleksija o vlastitim kompetencijama, iskustvu i praksi u području testiranja i kvalitete programskog proizvoda. Značaj i dobra praksa u području testiranja i kvalitete programskog proizvoda. Motivacija: profesije/radna mjesta vezana uz testiranja i kvalitete programskog proizvoda. Definicija i osnovni koncepti. Validacija, verifikacija, testiranje i osiguravanje kvalitete programskog proizvoda.
  • Osnove kvalitete programskog proizvoda (4 sata)
    Kvaliteta u projektu razvoja programskog proizvoda. Planiranje, osiguravanje, kontrola i unapređenje kvalitete programskog proizvoda. Norme i preporuke kvalitete programskih proizvoda. Tehnike upravljanja kvalitetom programskog proizvoda (statičke i dinamičke). Mjere/metrike, modeli i alati za osiguravanje kvalitete programskog proizvoda. Dokumentiranje procesa procjene kvalitete programskog proizvoda.
  • Osnove testiranja programskog proizvoda (4 sati)
    Definicija i osnovni pojmovi u testiranju. Ciljevi testiranja. Pozicija i uloga aktivnosti testiranja u softverskom procesu. Poveznice i razlike u odnosu na druge srodne aktivnosti (SQM, formalna verifikacija, debuggiranje, izrada programa). Programske greške - uzroci i posljedice. Principi testiranja.
  • Proces testiranja programskog proizvoda i njegovo dokumentiranje (2 sata)
    Planiranje, priprema, izrada, organiziranje, izvršavanje testova.
  • Faze testiranja programskog proizvoda (4 sata)
    Testiranje u razvoju programskog proizvoda (engl. Development testing). Testiranje pri izdavanju programskog proizvoda (engl. Release testing). Testiranje od strane korisnika (engl. User testing).
  • Tehnike testiranja programskog proizvoda (4 sata)
    Kategorizacija tehnika testiranja. White-box i Black-box tehnike. Tehnike temeljene na iskustvu i intuiciji. Tehnike temeljene na programskom kôdu. Tehnike temeljene na pogreškama…
  • Agilno testiranje i razvoj softvera temeljen na testovima (engl. Test-driven development) (4 sata)
    Temeljni principi razvoja temeljenog na testovima. Osnovni i napredni koncepti jediničnog testiranja. Uzorci i dobre prakse.
  • Testiranje nefunkcionalnih zahtjeva (2 sata)
    Testiranje performansi, pouzdanosti, sigurnosti programa
  • Alati, biblioteke i softverski okviri za testiranje (4 sata)
    Prednosti automatiziranog testiranja. Primjeri popularnih alata. Integracija testiranja u proces automatizirane isporuke programskog proizvoda (DevOps).
Sadržaj seminara/vježbi
  • Laboratorijske vježbe
    Laboratorijske vježbe usklađene su sa sadržajem predavanja i služe kao priprema za izradu vlastitog projekta. Na laboratorijskim vježbama koristit će se odgovarajući alati za testiranje i procjenu kvalitete programskog proizvoda.
Ishodi učenja kolegija
  • Dizajnirati slučajeve za testiranje programskog proizvoda na principu crne i bijele kutije.
  • Koristiti programske alate za testiranje programskog proizvoda
  • Dokumentirati proces i rezultate testiranja i/ili procjene kvalitete programskog proizvoda
  • Opisati temeljne koncepte testiranja i osiguravanja kvalitete programskog proizvoda
  • Usporediti vrste testiranja programskog proizvoda
  • Organizirati regresijsko testiranje nakon izvršenih promjena te ispraviti regresijske pogreške u programskom proizvodu
  • Otkriti logičke pogreške u zadanom programskom proizvodu korištenjem programskog alata (eng. debugging)
  • Analizirati utrošeno vrijeme i alociranu memoriju za izvršavanje zadanog programskog proizvoda korištenjem programskog alata (eng. profiling)
  • Procijeniti kvalitetu programskog proizvoda korištenjem odgovarajućih metrika.
Ishodi učenja programa
  • razumjeti stanje i trendove razvoja suvremenih informacijskih i komunikacijskih tehnologija (ICT), razumjeti njihov utjecaj na pojedinca, organizaciju i društvo te procijeniti njihovu primjenjivost u zadanom kontekstu
  • razumjeti i primijeniti ključne aspekte informacijske tehnologije (programiranje, algoritmi, strukture podataka, baze podataka i znanja
  • razumjeti i primijeniti suvremene tehničke koncepte i prakse u informacijskim tehnologijama (arhitektura računala, operacijski sustavi, mreže računala)
  • razumjeti i primijeniti matematičke metode, modele i tehnike primjerene rješavanju problema iz područja informacijskih i poslovnih sustava
  • razumjeti bitne čimbenike koji utječu na poslovanje organizacije i pojedinaca te primijeniti osnovne metode i koncepte planiranja, upravljanja i obračuna poslovanja
  • analizirati stanje, identificirati prilike i definirati probleme s kojima se susreću organizacije i pojedinci u primjeni ICT, te formulirati rješenja uz primjenu ICT
  • razumjeti osnovna vertikalna područja primjene ICT (industrija, zdravstvo, promet, turizam, država i sl.), te horizontalne aplikacije (uredski sustavi, DSS, CRM, ERP, DMS i sl.)
  • razumjeti i primijeniti suvremene metodološke pristupe razvoja organizacijskih i informacijskih sustava, te oblikovanja organizacije i organizacijske strukture
  • razumjeti suvremene organizacijske koncepte i upravljati organizacijskom kulturom
  • modelirati poslovne procese i podatke u organizacijama i primijeniti modele u razvoju informacijskih i poslovnih sustava
  • razumjeti i primijeniti metode, tehnike razvoja informacijskih i programskih sustava u suvremenim razvojnim okolinama
  • razumjeti i primijeniti procese, metode i tehnologije upravljanja IT uslugama i resursima te podrške i pružanja različitih vrsta usluga vezanih uz ICT
  • razumjeti i primijeniti etička načela, zakonsku regulativu i norme koje se primjenjuju u struci
  • razumjeti osnovna načela i metode upravljanja organizacijom i uspješno raditi u timu
  • uspješno komunicirati s klijentima, korisnicima i kolegama na verbalan i pisani način uz primjenu odgovarajuće terminologije uključujući i sposobnost komunikacije o struci na stranom jeziku
  • pratiti stručnu literaturu na hrvatskom i stranom jeziku, pripremiti i samostalno održati prezentacije na hrvatskom i stranom jeziku stručnoj i općoj publici, te kritičku evaluaciju prezentirane stručne teme
  • razumjeti i primijeniti vještine učenja potrebne za cjeloživotno učenje i nastavak obrazovanja na diplomskom studiju.
  • razumjeti i primijeniti osnovne principe planiranja i razvoja karijere u struci i vlastitih poduzetničkih poduhvata
Osnovna literatura
  • Lewis, W. E. (2016). Software testing and continuous quality improvement. Auerbach publications.
  • Desai, S., & Srivastava, A. (2016). Software testing: A practical approach. PHI Learning Pvt. Ltd..
  • Fenton, N., & Bieman, J. (2014). Software metrics: a rigorous and practical approach. CRC press.
Dopunska literatura
  • ISO/IEC/IEEE 29119-1:2013 Software and systems engineering -- Software testing -- Part 1: Concepts and definitions
  • ISO/IEC/IEEE 29119-2:2013 Software and systems engineering -- Software testing -- Part 2: Test processes
  • ISO/IEC/IEEE 29119-3:2013 Software and systems engineering -- Software testing -- Part 3: Test documentation
  • ISO/IEC/IEEE 29119-4:2015 Software and systems engineering -- Software testing -- Part 4: Test techniques
  • ISO/IEC 30130:2016 Software engineering -- Capabilities of software testing tools
  • Beck, Kent (2002). Test-driven development, by example. Addison Wesley
  • Osherove, Roy (2009). The art of Unit testing. Manning Publications
Slični kolegiji
Redoviti studenti Izvanredni studenti
izvanredni rok
Datum: 25.11.2024.
Vrijeme: 16:00
Opis: Na Fakultetu
izvanredni rok
Datum: 23.04.2025.
Vrijeme: 16:00
Opis: Na Fakultetu
U kalendaru ispod se nalaze konzultacije predmetnih nastavnika, no za detalje o konzultacijama možete provjeriti na profilu pojedinog predmetnog nastavnika.
2024 © Fakultet organizacije i informatike, Centar za razvoj programskih proizvoda