2009-02-13 11 views
1

Je veux les choses suivantes pour tester une application impliquant des calculs complexes:Comment utiliser l'automatisation pour tester une application impliquant des calculs très complexes?

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

Merci à l'avance, Testmann

Répondre

0

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

Nous avions du code en C# qui effectuait des calculs TRÈS complexes. Nous avons donc écrit un harnais de test dans FitNesse, puis nous lui avons fourni beaucoup de données de test. Nous avons travaillé très dur pour couvrir tous les cas, nous avons donc utilisé une sorte de table de vérité interne pour nous assurer que nous obtenions toutes les combinaisons de données possibles.

Le harnais de test FitNesse nous a été d'une aide inestimable car la complexité des calculs a évolué 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 très bonne suite de régression.

0

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

Ce n'est pas tellement un péché mortel, tant que vous êtes convaincu que c'est correct. Ces tests vous permettront alors de savoir immédiatement si un changement de code casse le code. De plus, si vous testez un sous-ensemble, ce n'est pas vraiment une question de confiance.

Et pour la couverture? Couvrez chaque branche au moins une fois (c'est-à-dire, n'importe quelles instructions if ou loop). Couvrir chaque seuil, des deux côtés de celui-ci (pour la division entière qui serait -1, 0 et 1 comme dénominateurs). Ensuite, ajoutez un peu plus pour faire bonne mesure.

0

Pour tester le code existant, vous devez supposer que le code est (pour la plupart) correct. Donc, vous lui donnez juste des données, exécutez-le et enregistrez le résultat. Ensuite, utilisez ce résultat enregistré dans un scénario de test.

Lorsque vous faites la prochaine modification, votre sortie devrait également changer et le test échouera. Comparez le nouveau résultat avec ce que vous auriez attendu. S'il y a un écart, alors il vous manque quelque chose -> écrivez un autre test pour comprendre ce qui se passe. De cette façon, vous pouvez créer une expertise sur un système inconnu.

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