Comment utiliser l'automatisation pour les applications de test basées sur des calculs très complexes?

StackOverflow https://stackoverflow.com/questions/545842

Question

Je veux les choses suivantes pour tester une application impliquant des calculs complexes:

  1. Comment utiliser les outils d'automatisation de test pour les calculs de test? (À l'aide d'outils d'automatisation des outils comme la source QTP ou ouvert)
  2. Comment décider la couverture lors des tests calculs, comment concevoir des cas de test?

Merci d'avance, Testmann

Était-ce utile?

La solution

Nous avons dû tester quelques calculs très complexes dans une application, nous avons construit. Pour ce faire, nous avons utilisé un appel d'outil FitNesse, qui est un harnais de test wiki (et open source aussi). Il fonctionne très bien lorsque vous fournissez des données dans un format de style de table.

Nous avions un code en C # qui effectuent des calculs très complexes. Alors, est-ce que nous avons fait écrit un harnais de test dans FitNesse, puis nous avons fourni avec beaucoup de données de test. Nous avons travaillé très dur pour couvrir tous les cas, nous avons donc utilisé une sorte de vérité table interne pour assurer que nous obtenions toutes les combinaisons possibles d'entrée de données.

Le harnais de test FitNesse nous a été très précieux à la complexité des calculs a changé au fil du temps en raison de l'évolution des besoins. Nous avons été en mesure d'assurer l'exactitude des calculs, car nos tests FitNesse agissent comme une suite de régression très agréable.

Autres conseils

Parfois, il faut estimer la conclusion attendue, puis remplir le cas de test à partir d'une exécution du programme.

Il est pas tant d'un péché mortel, aussi longtemps que vous êtes convaincu qu'il est correct. Ces tests seront ensuite vous faire savoir immédiatement si un changement de code casse le code. En outre, si vous testez un sous-ensemble, ce n'est pas grande d'un tronçon de confiance.

Et pour la couverture? Couvrir toutes les branches au moins une fois (c'est, le cas échéant ou instructions de boucle). Couvrir chaque seuil, les deux côtés de celui-ci (pour la division entière qui seraient -1, 0 et 1 en tant que dénominateurs). Ensuite, ajoutez un peu plus pour faire bonne mesure.

Pour tester le code existant, vous devez supposer que le code est (la plupart du temps) correct. Donc, vous donnez juste des données, exécutez et d'enregistrer le résultat. Ensuite, utilisez ce résultat enregistré dans un test.

Quand vous faites le prochain changement, votre sortie devrait aussi changer et le test échouera. Comparez le nouveau résultat avec ce que vous auriez prévu. S'il y a une différence, alors vous manque quelque chose -.> Écrire un autre test pour comprendre ce qui se passe

De cette façon, vous pouvez construire une expertise au sujet d'un système inconnu.

Lorsque vous demandez une couverture, je suppose que vous ne pouvez pas créer des données de couverture pour les calculs réels. Dans ce cas, assurez-vous que tous les calculs sont exécutés et les nourrir avec plusieurs entrées. Cela devrait vous donner une idée comment procéder.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top