Wir haben eine Anwendung, die sowohl ein 64-Bit-Ziel als auch das alte 32-Bit-Ziel hat. Meine Frage betrifft unsere Unit Tests. Sollten wir unsere Unit Tests auch in beiden kompilieren und ausführen? Besteht die Möglichkeit, dass wir auf diese Weise Fehler finden? Bin ich übermäßig paranoid?
Antworten
Zu viele Anzeigen?-
Wenn die Sprache die Unterschiede zwischen 32- und 64-Bit-Modus aufzeigt, sollten Sie natürlich beide testen. Das erfordert weniger als die doppelte Menge an personellen Ressourcen als das Testen nur einer Plattform, ist also ein Schnäppchen :).
-
Wenn Ihre Sprache den Unterschied zwischen 32- und 64-Bit nicht kennt (z. B. weil es in dieser Sprache nur unbeschränkte Ganzzahlen gibt), sollten Sie dennoch Unit-Tests für beide Plattformen durchführen. Sie werden Fehler in der plattformabhängigen Implementierung Ihrer plattformunabhängigen Sprache finden oder sicherstellen, dass es keine Fehler gibt, die Ihren Code zu offensichtlich beeinträchtigen. Und in diesem Fall ist der zusätzliche Aufwand für die zweite Testreihe gleich Null, die Orakel sind die gleichen wie bei der ersten Testreihe.
EDIT: Wenn ich noch einmal über Fall 1 nachdenke, sollten Sie Ihren Code vielleicht so schreiben, dass er auf beiden Plattformen die gleichen Ergebnisse liefert auch wenn Ihre Sprache macht die Unterschiede zwischen 32- und 64-Bit deutlich. Auch in diesem Fall sind die Orakel für beide Testreihen dieselben.