6. Ispitivanje programskog rješenja - hjembrek48/progi GitHub Wiki
Ovo poglavlje treba opissti provedena ispitivanja implementiranih funkcionalnosti na razini komponenti i sustava. Fokus je na odabiru i izvedbi ispitnih slučajeva koji obuhvaćaju redovne, rubne uvjete i testiranje grešaka, kao i upotrebu odgovarajućih alata za provedbu testiranja.
Ispitivanje komponenti
Cilj ispitivanja komponenti je provjera osnovnih funkcionalnosti implementiranih u razredima sustava. Ovdje je potrebno izolirati svaku komponentu kako bi se testirala njezina ispravnost i reakcija na različite scenarije.
Zadaci:
-
Razviti minimalno 6 ispitnih slučajeva koji obuhvaćaju:
-
Redovne slučajeve: testiranje uobičajenog ponašanja funkcionalnosti.
-
Rubne uvjete: provjera ulaznih podataka na granici valjanosti.
-
Izazivanje pogreške (exception throwing): testiranje reakcije na iznimke.
-
Nepostojeće funkcionalnosti: provjera reakcije na poziv neimplementirane funkcionalnosti.
-
Struktura ispitivanja:
Za svaki ispitni slučaj potrebno je:
-
Opišite funkcionalnost koju testirate (npr. dodavanje korisnika, validacija podataka).
-
Navedite ispitni slučaj:
-
Ulazne podatke.
-
Očekivane rezultate.
-
Dobivene rezultate (prolaz/pad ispitivanja).
-
-
Opišite postupak prvođenja ispitivanja
-
U Gitu moraju biti dostupni izvorni kodovi ispitnih slučajeva.
**Ispitivanje sustava **
Cilj ispitivanja sustava je testiranje ponašanja cijelog sustava u uvjetima stvarnog korištenja, uz posebnu pažnju na međusobnu povezanost svih komponenti. Ispitivanje treba obuhvatiti sve aspekte sustava i njegovu interakciju s korisnicima.
Zadaci:
Razviti minimalno 4 ispitna slučaja koji obuhvaćaju:
-
Redovne slučajeve: očekivano ponašanje sustava.
-
Rubne uvjete: reakcija sustava na granične ulaze.
-
Poziv nepostojećih funkcionalnosti: testiranje kako sustav reagira na neimplementirane ili neispravne funkcije.
Struktura ispitnih slučajeva za Selenium:
-
Ulazi:
-
Konkretni podaci koji se unose u sustav (npr. korisničko ime i lozinka za prijavu).
-
Simulacija korisničkih akcija (klikanje, unos teksta, navigacija).
-
-
Koraci ispitivanja:
-
Npr. Detaljan opis koraka koje Selenium izvršava:
-
Otvoriti aplikaciju u pregledniku.
-
Unijeti podatke u formu.
-
Kliknuti na gumb za potvrdu.
-
Verificirati očekivane rezultate (npr. prijava uspješna).
-
-
-
Očekivani izlaz:
- Očekivani rezultat ispitivanja (npr. korisnik preusmjeren na početnu stranicu nakon prijave).
-
Dobiveni izlaz:
- Priložiti logove, screenshotove ili izvještaje s generiranim rezultatima (npr. iz JUnit-a ili Selenija).
Alati za ispitivanje sustava:
-
Selenium IDE ili prikladan obzirom na vaše razvojno okruženje:
-
Jednostavan alat za snimanje korisničkih akcija u pregledniku i automatsko ponavljanje testova.
-
Preporučuje se za osnovne ispitne slučajeve.
-
-
Selenium WebDriver:
-
Omogućuje pisanje naprednih testova u različitim programskim jezicima (Java, Python, C#).
-
Preporučuje se za složenije testove, koji zahtijevaju detaljno prilagodbu i automatizaciju.
-
Primjeri ispitivanjasa Seleniumom:
- Formular za prijavu:
u dokumentaciji obavezna su specifičnija ispitivanja vaše aplikacije! - Ulaz: Korisničko ime = "[email protected]", Lozinka = "password123".
- **Koraci**:
1. Otvoriti aplikaciju.
2. Unijeti korisničko ime i lozinku.
3. Kliknuti na "Prijava".
4. Provjeriti je li korisnik preusmjeren na početnu stranicu.
- **Očekivani izlaz**: "Prijava uspješna."
-
Rubni uvjet – nevažeća lozinka:
-
Ulaz: Korisničko ime = "[email protected]", Lozinka = "malimedo".
-
Koraci:
-
Unijeti podatke u formu za prijavu.
-
Kliknuti na "Prijava".
-
Provjeriti je li prikazana poruka o grešci.
-
-
Očekivani izlaz: "Pogrešno korisničko ime ili lozinka."
-
Prezentacija rezultata
Za oba tipa ispitivanja (komponenti i sustava) potrebno je:
-
Jasno dokumentirati ulaze, korake, očekivane i dobivene rezultate.
-
Priložiti slike ekrana, logove ili izvješća generirana alatima (npr. JUnit ili Selenium).
-
Detaljno opisati ponašanje sustava, posebno u rubnim uvjetima.
-
Navesti broj otkrivenih grešaka!
Predložak temeljen na wiki materijalima projekta Programsko inženjerstvo autora Vlado Sruk, pod licencom CC BY-NC-SA 4.0.