Sobes.tech
Middle

Jak jsou sestavovány testové sady?

sobes.tech AI

Odpověď od AI

Testovací sady (test suites) jsou vytvářeny na základě analýzy požadavků na produkt, určení oblasti testování a výběru vhodných testovacích technik. Proces zahrnuje následující kroky:

  1. Analýza požadavků a specifikací: Identifikace funkčních a nefunkčních požadavků, které je třeba ověřit.
  2. Určení oblasti testování: Definice konkrétních funkcí, modulů, scénářů použití nebo oblastí systému, které mají být testovány.
  3. Výběr technik návrhu testů: Použití různých technik, například:
    • Ekvivalentní dělení (Equivalence Partitioning)
    • Analýza hraničních hodnot (Boundary Value Analysis)
    • Tabulky rozhodnutí (Decision Tables)
    • Stavové přechody (State Transition Testing)
    • Testování případů použití (Use Case Testing)
    • Párové testování (Pairwise Testing)
  4. Vývoj testovacích případů: Vytvoření podrobných popisů kroků, dat, očekávaných výsledků a podmínek pro každý test. Testovací případ by měl být atomický a ověřovat jednu konkrétní funkčnost nebo aspekt.
  5. Skupinování testovacích případů: Seskupení souvisejících testovacích případů do logických skupin na základě funkčnosti, modulu, typu testování (například regresní, integrační) nebo priority. Každá taková skupina tvoří testovací sadu.
  6. Prioritizace testovacích sad: Určení pořadí provádění testovacích sad na základě kritičnosti testované funkčnosti, frekvence použití, rizik a dalších faktorů.
  7. Strukturování testovacích sad: Organizace testovacích sad do hierarchické struktury nebo podle kategorií pro snadnější správu a provádění.

Příklad struktury testovací sady v rámci automatizačního rámce:

# soubor: test_suite_user_management.py

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

# Skupinování testovacích případů do testovací sady
def suite():
    suite = unittest.TestSuite()
    suite.addTest(unittest.makeSuite(TestUserCreation)) # Přidání třídy testu UserCreation
    suite.addTest(unittest.makeSuite(TestUserDeletion)) # Přidání třídy testu UserDeletion
    return suite

# Příklad třídy testu
class TestUserCreation(unittest.TestCase):
    def test_successful_user_creation(self):
        # Kroky testu pro úspěšné vytvoření uživatele
        pass

    def test_user_creation_with_existing_email(self):
        # Kroky testu pro vytvoření uživatele s existujícím emailem
        pass

class TestUserDeletion(unittest.TestCase):
     def test_successful_user_deletion(self):
        # Kroky testu pro úspěšné odstranění uživatele
        pass

Testovací sady mohou být organizovány podle různých kritérií:

Kritérium Příklady testovacích sad
Funkcionalita User Management Suite, Product Catalog Suite, Checkout Suite
Typ testu Regression Suite, Smoke Suite, Integration Suite
Priorita High Priority Suite, Critical Path Suite
Modul/Komponenta Testy databázového modulu, Testy UI komponent