Wie Verwenden von Automatisierung für die Einbeziehung von Testanwendung hochkomplexe Berechnungen?

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

Frage

Ich mag folgende Dinge zum Testen einer Anwendung mit komplexen Berechnungen:

  1. Wie Test-Automatisierungs-Tools zum Testen von Berechnungen verwenden? (Mit Automatisierungstool wie QTP oder Open-Source-Tools)
  2. Wie Deckung entscheiden, während Berechnungen zu testen, wie Testfälle zu entwerfen?

Vielen Dank im Voraus, Testmann

War es hilfreich?

Lösung

Wir hatten einige wirklich komplexe Berechnungen in einer Anwendung testen wir gebaut. Dazu verwenden wir einen Werkzeug-Aufruf FitNesse, die eine Wiki Testumgebung ist (und Open Source auch). Es funktioniert wirklich gut, wenn Sie es Daten in einem Tabellenstil-Format zur Verfügung stellen.

Wir hatten einige Code in C #, die einige sehr komplexe Berechnungen durchführen. Also, was wir haben geschrieben hat, ist ein Testgeschirr in FitNesse, und dann lieferten wir es mit einer Menge von Testdaten. Wir haben sehr hart gearbeitet, alle Fälle abzudecken, so nutzten wir eine Art inneren Wahrheitstabelle, um sicherzustellen, wir jede mögliche Kombination von Dateneingabe wurden zu bekommen.

Der FitNesse Test-Harnisch hat uns von unschätzbarem Wert als die Komplexität der Berechnungen im Laufe der Zeit aufgrund sich ändernder Anforderungen geändert hat. Wir sind in der Lage, die Richtigkeit der Berechnungen, um sicherzustellen, weil unsere FitNesse Tests als sehr schöne Regression Suite handeln.

Andere Tipps

Manchmal muss man den erwarteten Abschluss abschätzen zu können, und dann den Testfall aus einem Laufe des Programms füllen.

Es ist nicht so viel von einer Todsünde, so lange wie Sie überzeugt sind, es ist richtig. Diese Tests werden dann lassen Sie wissen sofort, wenn eine Codeänderung den Code bricht. Auch, wenn Sie eine Teilmenge zu test, es ist nicht so groß von einer Ausdehnung des Vertrauens.

Und für die Berichterstattung? Deckt jeden Zweig mindestens einmal (das heißt, wenn irgendeine oder Schleifenanweisungen). Deckt jeden Schwellenwert, wobei beide Seiten davon (für die ganzzahlige Division wären -1, 0 und 1 als Nenner). Dann fügen Sie ein paar mehr in für eine gute Maßnahme.

Um zu testen, vorhandenen Code, sollten Sie davon ausgehen, dass der Code ist (meist) korrekt. So können Sie es nur einige Daten geben, führen Sie es und das Ergebnis notieren. Dann verwenden Sie dieses aufgezeichnete Ergebnis in einem Testfall.

Wenn Sie die nächste Änderung zu tun, Ihre Ausgabe sollte ändern, und der Test wird fehlschlagen. Vergleichen Sie das neue Ergebnis mit dem, was Sie erwartet haben würde. Wenn es eine Diskrepanz ist, dann etwas, das Sie fehlen. -> schreiben einen weiteren Test, um herauszufinden, was los ist,

Auf diese Weise können Sie Know-how über ein unbekanntes System aufzubauen.

Wenn Sie für die Berichterstattung fragen, nehme ich an, dass Sie nicht Abdeckungsdaten für die eigentlichen Berechnungen erstellen können. In diesem Fall stellen Sie sicher, dass alle Berechnungen ausgeführt werden und füttern sie mit mehreren Eingängen. Das sollte Ihnen eine Idee geben, wie es weitergehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top