Sobes.tech
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:

  1. Analiza zahteva i specifikacija: Identifikacija funkcionalnih i nefunkcionalnih zahteva koje je potrebno proveriti.
  2. Definisanje oblasti testiranja: Određivanje konkretnih funkcija, modula, scenarija korišćenja ili oblasti sistema koje će biti testirane.
  3. 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)
  4. 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.
  5. 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.
  6. Prioritizacija test skupova: Određivanje redosleda izvršavanja test skupova na osnovu kritičnosti proveravane funkcionalnosti, učestalosti korišćenja, rizika i drugih faktora.
  7. 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