Sobes.tech
Middle

Hoe kies je tests voor regressietesten?

sobes.tech AI

Antwoord van AI

Bij het kiezen van tests voor regressietests, baseer ik me op de volgende criteria:

  • Tests die kritieke bedrijfsprocessen dekken: Controleren de belangrijkste functies waarop de werking van het systeem afhankelijk is.
  • Tests die gebieden met de meeste wijzigingen dekken: Focussen op delen van het systeem die door de laatste wijzigingen of verbeteringen zijn beïnvloed.
  • Tests die gebieden met een hoge frequentie van defecten dekken: Bevatten scenario's waarin eerder defecten zijn vastgesteld.
  • Tests die nieuwe functionaliteiten dekken: Controleren de correcte werking van de toegevoegde mogelijkheden en hun integratie met het bestaande systeem.
  • Tests die de integratie tussen modules dekken: Zorgen ervoor dat verschillende delen van het systeem correct samenwerken.
  • Tests die de meest complexe en risicovolle delen van het systeem dekken: Gericht op de meest instabiele gebieden, waar de kans op problemen hoog is.
  • Geautomatiseerde tests: Geautomatiseerde tests zijn de ideale keuze voor regressie vanwege hun snelheid en betrouwbaarheid.

Voor een effectieve selectie van tests gebruik ik ook:

  • Analyse van wijzigingen in de codebasis.
  • Gegevens over de defectgeschiedenis en hun lokalisatie.
  • Prioritering van functionaliteiten met betrokkenheid van productmanagement.
  • Resultaten van eerdere regressietests.

Afhankelijk van de omvang van de wijzigingen en de beschikbare middelen, kan ik kiezen voor een volledige set regressietests of een subset (smoke, sanity). Bij het kiezen van een subset geef ik de voorkeur aan tests die de belangrijkste en meest risicovolle scenario's dekken.

Voorbeeld van de structuur van mappen met regressietests (voor geautomatiseerde):

# tests/
#   regression/
#     critical_paths/
#       test_login.py
#       test_create_order.py
#     new_features/
#       test_new_payment_method.py
#     bug_fixes/
#       test_fixed_issue_123.py
#     integration/
#       test_order_payment_flow.py
#     smoke/
#       test_basic_ui_elements.py
#   ... andere testtypes