Bei Unit-Tests habe ich mir angewöhnt, Methoden zu testen, die einige reguläre Werte, einige Werte, die gegen den Methodenvertrag verstoßen, und alle Grenzfälle, die mir einfallen, anwenden.
Aber ist es eine schlechte Praxis, wenn
- Wenn Sie einen Test mit zufälligen Werten durchführen, ist dies ein Wert innerhalb eines Bereichs, von dem Sie glauben, dass er keine Probleme verursachen sollte, so dass jedes Mal, wenn der Test läuft, ein anderer Wert eingegeben wird? Als eine Art ausführlicher Test für regelmäßige Werte?
- Prüfung ganzer Bereiche durch Iteration ?
Ich habe das Gefühl, dass diese beiden Ansätze nicht gut sind. Bei Reichweitentests kann ich mir vorstellen, dass es einfach nicht praktikabel ist, das zu tun, weil es so viel Zeit in Anspruch nimmt, aber bei Zufälligkeit?
UPDATE :
Ich wende diese Technik selbst nicht an, ich habe mich nur darüber gewundert. Ich weiß jetzt, dass der Zufall ein gutes Werkzeug sein kann, wenn man ihn bei Bedarf reproduzierbar machen kann.
Die interessanteste Antwort war der "Fuzzing"-Tipp von Lieven:
http://en.wikipedia.org/wiki/Fuzz_testing
tx