Sobes.tech
Middle

Comment choisir les tests pour effectuer des tests de régression?

sobes.tech IA

Réponse de l'IA

Lors du choix des tests pour les tests de régression, je me base sur les critères suivants:

  • Tests couvrant les processus métier critiques: Vérifient les fonctions principales dont dépend le fonctionnement du système.
  • Tests couvrant les zones avec le plus grand nombre de modifications: Se concentrent sur les parties du système affectées par les dernières modifications ou améliorations.
  • Tests couvrant les zones avec une fréquence élevée de défauts: Incluent des scénarios où des défauts ont été détectés précédemment.
  • Tests couvrant de nouvelles fonctionnalités: Vérifient le bon fonctionnement des nouvelles capacités et leur intégration au système existant.
  • Tests couvrant l'intégration entre modules: S'assurent que différentes parties du système interagissent correctement.
  • Tests couvrant les parties les plus complexes et risquées du système: Ciblent les zones les plus instables, où la probabilité de problèmes est élevée.
  • Tests automatisés: Les tests automatisés sont le choix idéal pour la régression en raison de leur rapidité et fiabilité.

Pour une sélection efficace des tests, j'utilise également:

  • Analyse des changements dans la base de code.
  • Données sur l'historique des défauts et leur localisation.
  • Priorisation des fonctionnalités avec la participation du gestionnaire de produit.
  • Résultats des exécutions précédentes des tests de régression.

Selon l'ampleur des changements et les ressources disponibles, je peux choisir un ensemble complet de tests de régression ou un sous-ensemble (tests de fumée, sanity). Lors du choix d'un sous-ensemble, je privilégie les tests couvrant les scénarios principaux et les plus risqués.

Exemple de structure de dossiers pour les tests de régression (pour automatisés):

# 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
#   ... autres types de tests