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:

  1. 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:

  1. Opišite funkcionalnost koju testirate (npr. dodavanje korisnika, validacija podataka).

  2. Navedite ispitni slučaj:

    • Ulazne podatke.

    • Očekivane rezultate.

    • Dobivene rezultate (prolaz/pad ispitivanja).

  3. Opišite postupak prvođenja ispitivanja

  4. 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:

  1. Ulazi:

    • Konkretni podaci koji se unose u sustav (npr. korisničko ime i lozinka za prijavu).

    • Simulacija korisničkih akcija (klikanje, unos teksta, navigacija).

  2. Koraci ispitivanja:

    • Npr. Detaljan opis koraka koje Selenium izvršava:

      1. Otvoriti aplikaciju u pregledniku.

      2. Unijeti podatke u formu.

      3. Kliknuti na gumb za potvrdu.

      4. Verificirati očekivane rezultate (npr. prijava uspješna).

  3. Očekivani izlaz:

    • Očekivani rezultat ispitivanja (npr. korisnik preusmjeren na početnu stranicu nakon prijave).
  4. 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:

  1. 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."
  1. Rubni uvjet – nevažeća lozinka:

    • Ulaz: Korisničko ime = "[email protected]", Lozinka = "malimedo".

    • Koraci:

      1. Unijeti podatke u formu za prijavu.

      2. Kliknuti na "Prijava".

      3. 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.