Middle
Kako se formiraju test skupovi?
sobes.tech АИ
Одговор од АИ
Test suite-ovi (test suites) se formiraju na osnovu analize zahteva za proizvodom, definisanja oblasti testiranja i odabira odgovarajućih tehnika testiranja. Proces uključuje sledeće korake:
- Analiza zahteva i specifikacija: Identifikacija funkcionalnih i nefunkcionalnih zahteva koje je potrebno proveriti.
- Definisanje oblasti testiranja: Određivanje konkretnih funkcija, modula, scenarija korišćenja ili oblasti sistema koje će biti testirane.
- Odabir tehnika dizajna testova: Primena različitih tehnika, kao što su:
- Ekvivalentno deljenje (Equivalence Partitioning)
- Analiza graničnih vrednosti (Boundary Value Analysis)
- Decision Tables (tabele odluka)
- State Transition Testing (testiranje prelaza stanja)
- Use Case Testing (testiranje slučajeva korišćenja)
- Pairwise Testing (parno testiranje)
- Razvoj test slučajeva: Kreiranje detaljnih opisa koraka, podataka, očekivanih rezultata i uslova za svaki test. Test slučaj treba da bude atomaran i da proverava jednu konkretnu funkcionalnost ili aspekt.
- Grupe test slučajeva: Grupisanje povezanih test slučajeva u logičke grupe na osnovu funkcionalnosti, modula, tipa testiranja (npr. regresiono, integraciono) ili prioriteta. Svaka takva grupa formira testni skup.
- Prioritizacija test skupova: Određivanje redosleda izvršavanja test skupova na osnovu kritičnosti proveravane funkcionalnosti, učestalosti korišćenja, rizika i drugih faktora.
- Strukturiranje test skupova: Organizovanje test skupova u hijerarhijsku strukturu ili po kategorijama radi jednostavnijeg upravljanja i izvršavanja.
Primer strukture testnog skupa u okviru automatizacionog okvira:
# fajl: test_suite_user_management.py
import unittest
from test_cases.test_user_creation import TestUserCreation
from test_cases.test_user_deletion import TestUserDeletion
# Grupisanje test slučajeva u testni skup
def suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestUserCreation)) # Dodavanje klase testa za kreiranje korisnika
suite.addTest(unittest.makeSuite(TestUserDeletion)) # Dodavanje klase testa za brisanje korisnika
return suite
# Primer testa klase
class TestUserCreation(unittest.TestCase):
def test_successful_user_creation(self):
# Koraci za uspešno kreiranje korisnika
pass
def test_user_creation_with_existing_email(self):
# Koraci za kreiranje korisnika sa već postojećim email-om
pass
class TestUserDeletion(unittest.TestCase):
def test_successful_user_deletion(self):
# Koraci za uspešno brisanje korisnika
pass
Testni skupovi mogu biti organizovani prema različitim kriterijumima:
| Kriterijum | Primeri testnih skupova |
|---|---|
| Funkcionalnost | User Management Suite, Product Catalog Suite, Checkout Suite |
| Tip testiranja | Regression Suite, Smoke Suite, Integration Suite |
| Prioritet | High Priority Suite, Critical Path Suite |
| Modul/Komponenta | Testovi baze podataka, Testovi UI komponenti |