4

Nous avons environ 100 cas de test pour notre système. Nous essayons de construire une suite de tests automatisée pour cela.Cas de test automatisé Exécution - quand arrêter

Dites lors de l'exécution des tests que le 25ème test échoue. Notre système de test automatisé doit-il renflouer ici et arrêter l'exécution, ou doit-il simplement marquer cela comme échoué et continuer à essayer d'exécuter les tests à partir de la 26ème (chaque cycle de test exécutera tous les 100 cas de test). Bien entendu, après un cas de test défaillant (par exemple n ° 25), si le système doit être réinitialisé pour exécuter les tests élémentaires 26, il sera pris en compte.

Merci

James

Répondre

8

Si vos tests sont indépendants - vous devez terminer tous. De cette façon, vous pouvez surveiller la stabilité du système et voir tous les problèmes à la fois sans répéter les tests à maintes reprises.

0

Si cela fonctionne sans intervention humaine, par exemple dans le cadre d'une compilation automatisée, je voudrais essayer tous les tests. Cependant, il existe des scénarios dans lesquels vous êtes en train de résoudre des problèmes où le temps d'un humain peut s'arrêter. Si c'est facile, j'aimerais offrir une option «Stop au premier échec».

+0

Pourriez-vous donner un exemple d'un tel scénario? Je ne peux pas penser à tout. – bezmax

+0

@Max: Je peux penser à un pour le cas où vous ne pouvez pas commencer un nouveau test jusqu'à ce que l'ancien finisse. Si votre suite de tests prend normalement une heure pour s'exécuter et que vous effectuez une correction rapide de 5 minutes, vous ne devez pas attendre une heure pour réexécuter votre test lorsque vous essayez de corriger le bogue avec le test # 2. –

+0

@Bryan Oakley: Lorsque les tests dépendent les uns des autres - il est de pratique courante de ne pas les séparer. Ils doivent être contenus dans 1 bloc d'essai/méthode/unité/etc. Par conséquent, si vous avez 'test1()', test2and3and4() 'et' test5() ', à la première exécution' test1() 'et' test5() 'passera et' test2and3and4() 'échouera. Ensuite, vous réparez et relancez tout - et 'test2and3and4()' passe également. – bezmax

Questions connexes