-
Notifications
You must be signed in to change notification settings - Fork 0
Projekt 1
Svrha plana testiranja je osigurati da svi aspekti softvera budu testirani temeljito i sustavno, kako bi se identificirali i ispravili nedostaci prije nego što softver bude pušten u proizvodnju. Uz to, plan testiranja služi kao vodič za cjelokupni proces testiranja i pomaže u koordinaciji aktivnosti testiranja.
Ključni razlozi za izradu testnog plana:
- Jasna definicija ciljeva: Plan testiranja definira ciljeve testiranja, što omogućava svim članovima tima da razumiju što se želi postići testiranjem.
- Standardizacija procesa: Plan testiranja postavlja standardizirani proces koji svi se treba slijediti, čime se osigurava konzistentnost u testiranju.
- Identifikacija resursa: Identificira potrebne resurse, uključujući alate i okruženja potrebne za provođenje testiranja.
- Praćenje napretka: Pomaže u praćenju napretka testiranja i omogućava rano otkrivanje problema koji bi mogli ometati proces.
- Smanjenje rizika: Pomaže u identifikaciji i smanjenju rizika povezanih s kvalitetom softvera.
Okvirna struktura testnog plana je sljedeća:
- Uvod: Opis svrhe, opsega i ciljeva testiranja.
- Opseg testiranja: Definicija onoga što će biti testirano i što neće biti testirano.
- Dionici: Navedeni glavni pojedinci zainteresirani za rezultate testiranja.
- Pristup: Opisani koraci provedbe i raspored samog testiranja.
- Okruženje i alati: Navedeno i opisani koji će se alati i u kojem okruženju koristiti u provedbi testiranja.
- Metrike i kriterij uspjeha: Definirane metrike za praćenje napretka i kriteriji za uspjeh i neuspjeh testiranja softvera.
- Izvještavanje: Definiran način i frekvencija izvještavanja.
- Testni tim: Navedene osobe koje će direktno biti uključene u proces testiranja.
- Testovi: Popis testnih scenarija koje treba provesti.
Tokom faze testiranja, dokument testnog plana će se koristiti na sljedeće načine:
- Vodič za testne aktivnosti: Testni plan služi kao vodič za sve testne aktivnosti, osiguravajući da se slijedi strukturiran i konzistentan pristup.
- Praćenje napretka: Plan se koristi za praćenje napretka testiranja u odnosu na raspored i ciljeve definirane u dokumentu.
- Upravljanje rizicima: Pomaže u praćenju identificiranih rizika i osigurava da se poduzimaju potrebne mjere za njihovo ublažavanje.
- Izvještavanje: Koristi se za dokumentiranje rezultata testiranja i komunikaciju tih rezultata zainteresiranim stranama.
Izvršavanjem ovoga projekta biti će testirane određeni funkcionalni i nefunkcionalni zahtjevi. Funkcionalni zahtjevi koji će biti testirani su:
- FZ-11 Upravljanje opremom i resursima
- FZ-12 Grafički prikaz statistički podataka
- FZ-13 Dohvaćanje zaboravljene lozinke
Pored navedenih funkcionalnih zahtjeva, biti će testirani i sljedeći nefunkcionalni zahtjevi:
- NFZ-1 Sustav će imati formalan i minimalističan stil grafičkog sučelja
- NFZ-2 Sustav će biti dostupan 24 sata, 365 dana u godini
- NFZ-3 Sustav će samo korisnicima zabilježenima u bazi podataka vrtića omogućiti prijavljivanje u sustav
- NFZ-4 Vrijeme odgovora sustava
- NFZ-5 Performanse baze podataka
- Administratori vrtića i odgojitelji - oslanjaju se na rezultate testiranja kako bi osigurali da softver ispravno funkcionira, što izravno utječe na njihovu sposobnost obavljanja svakodnevnih zadataka.
- Roditelji - očekuju pouzdanu i sigurnu komunikaciju, a bilo kakvi nedostaci u testiranju mogu rezultirati nepravovremenim ili netočnim informacijama o njihovoj djeci.
- Zaposlenici IT odjela - koriste rezultate testiranja za identifikaciju i rješavanje tehničkih problema, što utječe na opću stabilnost i performanse sustava.
- Ravnatelj vrtića - treba točne podatke za donošenje strateških odluka, a kvalitetno testiranje osigurava integritet tih podataka.
-
Analiza zahtjeva
- Prvi korak u provedbi testiranja je detaljna analiza zahtjeva softvera. Ovaj korak uključuje pregled funkcionalnih i nefunkcionalnih zahtjeva kako bi se osiguralo da su svi aspekti sustava razumljivi i dokumentirani.
-
Izrada testne strategije
- Razvoj opće strategije testiranja koja uključuje definiciju metodologija, alata i resursa potrebnih za testiranje. Strategija obuhvaća vrste testiranja koje će se koristiti (npr. funkcionalno, integracijsko, regresijsko, performansno).
-
Izrada testnog plana
- Kreiranje detaljnog testnog plana koji uključuje ciljeve testiranja, opseg, raspored, resurse, kriterije za prihvaćanje i rizike. Plan također definira odgovornosti članova tima i načine komunikacije.
-
Dizajn testnih slučajeva
- Razvoj detaljnih testnih slučajeva koji pokrivaju sve definirane zahtjeve. Testni slučajevi opisuju specifične korake koje treba poduzeti, ulazne podatke i očekivane rezultate.
-
Priprema testnog okruženja
- Postavljanje i konfiguracija testnog okruženja koje oponaša stvarne uvjete u kojima će softver raditi. Ovo uključuje instalaciju potrebnog hardvera, softvera i alata za testiranje.
-
Izvršenje testiranja
- Provođenje testiranja prema planu i dizajniranim testnim slučajevima. Tijekom ovog koraka, testeri izvršavaju testne slučajeve, bilježe rezultate i uspoređuju ih s očekivanim rezultatima.
-
Izvještavanje o defektima
- Dokumentiranje svih otkrivenih defekata ili problema. Svaki defekt treba detaljno opisati, uključujući korake za reprodukciju, očekivani i stvarni rezultat, te ozbiljnost problema.
-
Ponovno testiranje i regresijsko testiranje
- Nakon što su defekti ispravljeni, provodi se ponovno testiranje kako bi se osiguralo da su problemi riješeni. Regresijsko testiranje se provodi kako bi se osiguralo da nove promjene nisu uvele nove greške u već testirane dijelove softvera.
-
Evaluacija i završno izvještavanje
- Evaluacija rezultata testiranja u odnosu na definirane kriterije prihvaćanja. Izrada završnog izvještaja koji sažima aktivnosti testiranja, otkrivene defekte i opće stanje softvera.
-
Održavanje testne dokumentacije
- Redovno ažuriranje testne dokumentacije kako bi se odrazile sve promjene u softveru i novootkriveni defekti. Dokumentacija treba biti ažurirana tijekom cijelog životnog ciklusa softvera.
-
Analiza zahtjeva
- Datum početka: 1. ožujka 2024.
- Datum završetka: 5. ožujka 2024.
-
Izrada testne strategije
- Datum početka: 6. ožujka 2024.
- Datum završetka: 9. ožujka 2024.
- Kontrolna točka: Pregled i odobrenje testne strategije – 10. ožujka 2024.
-
Izrada testnog plana
- Datum početka: 10. ožujka 2024.
- Datum završetka: 15. ožujka 2024.
- Kontrolna točka: Pregled i odobrenje testnog plana – 16. ožujka 2024.
-
Dizajn testnih slučajeva
- Datum početka: 17. ožujka 2024.
- Datum završetka: 22. ožujka 2024.
- Kontrolna točka: Pregled testnih slučajeva – 23. ožujka 2024.
-
Priprema testnog okruženja
- Datum početka: 24. ožujka 2024.
- Datum završetka: 26. ožujka 2024.
- Kontrolna točka: Verifikacija testnog okruženja – 27. ožujka 2024.
-
Izvršenje testiranja
- Datum početka: 27. ožujka 2024.
- Datum završetka: 24. travnja 2024.
- Kontrolne točke:
- Prva kontrolna točka: 3. travnja 2024. (Pregled napretka testiranja i početni izvještaj o defektima)
- Druga kontrolna točka: 17. travnja 2024. (Pregled napretka i drugi izvještaj o defektima)
-
Izvještavanje o defektima
- Neprekidan proces tijekom faze izvršenja testiranja.
-
Ponovno testiranje i regresijsko testiranje
- Datum početka: 25. travnja 2024.
- Datum završetka: 7. svibnja 2024.
- Pregled rezultata ponovnog i regresijskog testiranja – 8. svibnja 2024.
-
Evaluacija i završno izvještavanje
- Datum početka: 8. svibnja 2024.
- Datum završetka: 10. svibnja 2024.
- Kontrolna točka: Pregled završnog izvještaja – 11. svibnja 2024.
-
Održavanje testne dokumentacije
- Neprekidan proces tijekom cijelog životnog ciklusa softvera.
Ukupni vremenski okvir:
Datum početka testiranja: 1. ožujka 2024.
Datum završetka testiranja: 11. svibnja 2024.
Za testiranje softvera za praćenje rada dječjeg vrtića, potrebno je osigurati odgovarajuće testno okruženje koje uključuje potrebni hardver, softver, konfiguracije i postavke sustava. Okruženje je specifično prilagođeno za rad u Visual Studio (WPF, XAML) te korištenje raznih alata i tehnologija za testiranje i analizu koda, koji će biti detaljno opisani u sljedećem odjeljku.
Potrebni hardver
- Razvojna i testna računala
- Procesor: Intel Core i5 ili jači
- RAM: Minimalno 16 GB
- Diskovni prostor: Minimalno 500 GB SSD
- Grafička kartica: Integrirana ili osnovna diskretna grafička kartica dovoljna za WPF aplikacije
- Mrežna kartica: Ethernet ili Wi-Fi
Potrebni softver
-
Operacijski sustav
- Windows 10 ili noviji
-
Razvojno okruženje
- Visual Studio 2022
- WPF (Windows Presentation Foundation)
- XAML (eXtensible Application Markup Language)
-
Sustav za kontrolu verzija
- Git
- GitHub repository za upravljanje kodom i suradnju tima
Konfiguracije i postavke sustava
-
Visual Studio konfiguracija
- Instalirati potrebne ekstenzije: SpecFlow, SonarLint, Fine Code Coverage, GitHub Copilot
- Konfigurirati projekat za korištenje BDD pristupa s Gherkin jezikom
-
SonarLint konfiguracija
- Postaviti SonarLint za automatsko skeniranje koda i prijavljivanje problema u stvarnom vremenu tijekom razvoja
-
Fine Code Coverage konfiguracija
- Omogućiti Fine Code Coverage ekstenziju za generiranje izvještaja o pokrivenosti jediničnih testova
-
Code Metrics
- Koristiti ugrađene alate u Visual Studio za praćenje metrika koda poput složenosti, održivosti i povezanosti
-
GitHub Copilot
- Aktivirati i koristiti GitHub Copilot kao pomoć pri pisanju koda i predlaganju novih funkcionalnosti
Mrežna konfiguracija
-
Pristup GitHub repozitoriju
- Postaviti pravila za commit-ove i pull request-ove kako bi se osigurala kvaliteta koda
-
Integracija kontinuirane integracije (CI)
- Postaviti CI/CD pipeline na GitHubu za automatsko pokretanje testova i analiza koda nakon svakog commit-a
U provedbi testiranja softvera za praćenje rada dječjeg vrtića koristit ćemo niz alata i tehnologija koji će osigurati temeljitost i efikasnost procesa testiranja. Svaki od tih alata ima specifičnu ulogu i doprinosi kvaliteti testiranja na različite načine.
-
SpecFlow (BDD alat s podrškom za Gherkin jezik)
- Opis: SpecFlow je alat za Behavior-driven development (BDD) koji koristi Gherkin jezik za pisanje testnih scenarija. Pomaže u stvaranju testova koji su čitljivi i razumljivi i tehničkim i netehničkim članovima tima.
- Primjena: Koristit će se za testiranje prihvatljivosti kako bi se osiguralo da softver ispunjava sve definirane zahtjeve.
-
Code Metrics
- Opis: Code Metrics je ugrađeni alat u Visual Studio koji omogućava izračunavanje metrika koda kao što su složenost, održivost i povezanost. Pruža uvid u kvalitetu i održivost koda.
- Primjena: Koristit će se za kontinuirano praćenje kvalitete koda tijekom cijelog procesa razvoja i testiranja.
-
SonarLint
- Opis: SonarLint je ekstenzija za Visual Studio koja omogućava automatiziranu recenziju koda u stvarnom vremenu. Detektira potencijalne probleme i prijavljuje ih odmah tijekom razvoja.
- Primjena: Koristit će se za identifikaciju i otklanjanje problema u kodu prije nego što se oni manifestiraju kao greške u softveru.
-
Fine Code Coverage
- Opis: Fine Code Coverage je ekstenzija za Visual Studio koja pruža detaljne izvještaje o pokrivenosti jediničnih testova. Prikazuje koje dijelove koda testovi pokrivaju, a koji su neprovjereni.
- Primjena: Koristit će se za mjerenje i povećanje pokrivenosti koda jediničnim testovima, čime se osigurava da su svi dijelovi koda adekvatno testirani.
-
GitHub Copilot
- Opis: GitHub Copilot je alat temeljen na umjetnoj inteligenciji koji pomaže programerima tijekom implementacije nove funkcionalnosti. Predlaže kôd i automatski generira dijelove koda na temelju konteksta.
- Primjena: Koristit će se kao pomoć prilikom pisanja koda, omogućavajući bržu implementaciju i osiguravajući da se slijede najbolje prakse kodiranja.
-
GitHub (kontrola verzija i CI/CD)
- Opis: GitHub se koristi za kontrolu verzija koda i suradnju tima. Omogućava upravljanje verzijama, praćenje promjena i integraciju kontinuirane integracije (CI) i kontinuirane isporuke (CD).
- Primjena: Koristit će se za upravljanje kodom, pregled promjena i postavljanje CI/CD pipeline-a za automatsko pokretanje testova i analiza nakon svakog commit-a.
Za praćenje napretka i učinka testiranja softvera za praćenje rada dječjeg vrtića, koristit ćemo niz metrika koje će nam pomoći da osiguramo kvalitetu i pouzdanost softverskog rješenja. Ove metrike omogućuju praćenje različitih aspekata testiranja, identifikaciju problema te evaluaciju učinkovitosti testnog procesa.
-
Gustoća grešaka (Defect Density)
- Opis: Gustoća grešaka mjeri broj grešaka pronađenih u određenoj količini koda (obično po tisuću linija koda - KLOC).
- Formula: Gustoća grešaka = (Broj grešaka) / (Broj KLOC)
- Primjena: Koristi se za identifikaciju dijelova koda koji su skloniji greškama i zahtijevaju dodatnu pažnju ili refaktoriranje.
-
Pokrivenost testovima (Test Coverage)
- Opis: Pokrivenost testovima mjeri postotak koda koji je pokriven jediničnim testovima. To uključuje pokrivenost granama, linijama koda, funkcijama i putanjama.
- Formula: Pokrivenost testovima = (Broj testiranih elemenata koda) / (Ukupan broj elemenata koda) * 100%
- Primjena: Koristi se za osiguravanje da su svi dijelovi koda adekvatno testirani i smanjenje rizika od neočekivanih grešaka.
-
Stopa prolaska/pada testova (Pass/Fail Rate)
- Opis: Stopa prolaska/pada testova mjeri postotak testova koji su prošli ili pali tijekom određenog testnog ciklusa.
- Formula: Stopa prolaska = (Broj prošlih testova) / (Ukupan broj izvršenih testova) * 100%
- Primjena: Koristi se za praćenje stabilnosti i kvalitete softvera tijekom vremena te identifikaciju regresija.
-
Prosječno vrijeme za otklanjanje grešaka (Average Time to Fix)
- Opis: Prosječno vrijeme za otklanjanje grešaka mjeri prosječno vrijeme potrebno za ispravljanje prijavljenih grešaka.
- Formula: Prosječno vrijeme za otklanjanje grešaka = (Ukupno vrijeme za ispravljanje svih grešaka) / (Broj ispravljenih grešaka)
- Primjena: Koristi se za praćenje učinkovitosti tima u otklanjanju grešaka i poboljšanje procesa otklanjanja.
-
Broj otkrivenih grešaka po fazi (Defects per Phase)
- Opis: Mjeri broj grešaka otkrivenih u različitim fazama razvoja softvera (npr. tijekom dizajna, kodiranja, integracije, testiranja).
- Primjena: Koristi se za identifikaciju faza u kojima se pojavljuje najviše grešaka, što omogućuje ciljanje poboljšanja u tim fazama.
-
Stopa ponovljenih grešaka (Defect Reoccurrence Rate)
- Opis: Mjeri postotak grešaka koje su se ponovno pojavile nakon što su bile ispravljene.
- Formula: Stopa ponovljenih grešaka = (Broj ponovljenih grešaka) / (Ukupan broj ispravljenih grešaka) * 100%
- Primjena: Koristi se za praćenje učinkovitosti procesa ispravljanja grešaka i identificiranje potreba za dodatnim testiranjem ili refaktoriranjem.
-
Vrijeme izvršavanja testova (Test Execution Time)
- Opis: Mjeri ukupno vrijeme potrebno za izvršavanje svih testova.
- Primjena: Koristi se za optimizaciju testnog procesa, identifikaciju testova koji traju predugo i poboljšanje učinkovitosti testiranja.