Sobes.tech
Middle

Kaip formuojami testų rinkiniai?

sobes.tech AI

Atsakymas iš AI

Testų rinkiniai (test suites) formuojami remiantis produkto reikalavimų analize, testavimo srities nustatymu ir tinkamų testavimo technikų pasirinkimu. Procesas apima šiuos etapus:

  1. Reikalavimų ir specifikacijų analizė: Funkcinių ir nefunkcinių reikalavimų identifikavimas, kuriuos reikia patikrinti.
  2. Testavimo srities nustatymas: Konkrečių funkcijų, modulių, naudojimo scenarijų ar sistemos sričių nustatymas, kurios bus testuojamos.
  3. Testavimo dizaino technikų pasirinkimas: Naudojant įvairias technikas, tokias kaip:
    • Ekvivalentinė dalijimasis (Equivalence Partitioning)
    • Riba reikšmių analizė (Boundary Value Analysis)
    • Sprendimų lentelės (Decision Tables)
    • Būsenų perėjimo testavimas (State Transition Testing)
    • Naudojimo atvejų testavimas (Use Case Testing)
    • Porinių testų taikymas (Pairwise Testing)
  4. Testų atvejų kūrimas: Detalių aprašymų sudarymas žingsnių, duomenų, tikėtinų rezultatų ir sąlygų kiekvienam testui. Testo atvejis turi būti atominis ir tikrinti vieną konkretų funkcionalumą ar aspektą.
  5. Testų atvejų grupavimas: Susijusių testų atvejų sujungimas į logines grupes pagal funkcionalumą, modulį, testavimo tipą (pvz., regresinį, integracinį) ar prioritetą. Kiekviena tokia grupė sudaro testų rinkinį.
  6. Testų rinkinių prioritetizavimas: Numatymas, kaip vykdyti testų rinkinius, remiantis funkcionalumo kritiškumu, naudojimo dažnumu, rizikomis ir kitais veiksniais.
  7. Testų rinkinių struktūrizavimas: Organizuoti testų rinkinius hierarchinėje struktūroje arba pagal kategorijas patogesniam valdymui ir vykdymui.

Pavyzdys testų rinkinio struktūros automatizavimo karkase:

# failas: test_suite_user_management.py

import unittest
from test_cases.test_user_creation import TestUserCreation
from test_cases.test_user_deletion import TestUserDeletion

# Testų atvejų grupavimas į testų rinkinį
def suite():
    suite = unittest.TestSuite()
    suite.addTest(unittest.makeSuite(TestUserCreation)) # Pridėti naudotojo kūrimo klasę
    suite.addTest(unittest.makeSuite(TestUserDeletion)) # Pridėti naudotojo ištrynimo klasę
    return suite

# Testų klasės pavyzdys
class TestUserCreation(unittest.TestCase):
    def test_successful_user_creation(self):
        # Žingsniai sėkmingam naudotojo sukūrimui
        pass

    def test_user_creation_with_existing_email(self):
        # Žingsniai naudotojo sukūrimui su jau egzistuojančiu el. pašto adresu
        pass

class TestUserDeletion(unittest.TestCase):
     def test_successful_user_deletion(self):
        # Žingsniai sėkmingam naudotojo ištrynimui
        pass

Testų rinkiniai gali būti organizuojami pagal įvairius kriterijus:

Kriterijus Pavyzdžiai testų rinkinių
Funkcionalumas User Management Suite, Product Catalog Suite, Checkout Suite
Testo tipas Regression Suite, Smoke Suite, Integration Suite
Prioritetas High Priority Suite, Critical Path Suite
Modulis/Komponentas Duomenų bazės modulio testai, UI komponentų testai