2017-09-26 2 views
0

関数の出力が常に一定の制限内になければならないという要件がある場合、関数が予測できない結果を返す場合、これをどのようにテストできますか?出力が一定の限度内に収まるように単体テストを書くにはどうすればよいですか?

たとえば、乱数やパスワードを生成する関数があるとしましょう。数字が常に1000〜9999の間であること、またはパスワードが常に6〜12文字の間であることをどのようにテストできますか?

数値生成器の例を使用しましょう - 現在、有限ループで関数を実行し、各結果をテストするテストは2つです:1000 = 1000、出力は< = 9999です。可能なすべての出力値をカバーする可能性があるために、テストごとに多数回(> 9K)実行する必要があります。

は、任意のより良いアプローチ(より信頼性が高いと考えられるすなわちもの)予測不可能な機能

答えて

0

の出力をテストするときに一般的に使用すると、すべての可能な入力をテストしたい、と出力は何であることを確認してくださいがあります期待する。

ランダムなアスペクトの関数をテストする場合、同じ入力に対して異なる出力を持つため、これは困難です。

可能であれば、ランダム値がどこで使われているのかを調べ、そのランダム値ジェネレータの可能性のある値をすべてテストしますが、ランダム値ジェネレータ自体をテストする場合は、最良の選択肢となる。

関連する問題