0

3 つの整数入力を受け取り、3 つの関係に基づいて値またはエラーを返す関数を作成しています。これをテストするために、不正な値のテスト、オーバーフローを含む整数の境界条件、およびいくつかの肯定的なテストを含むいくつかのテスト ケースを作成しました。この単純な機能のために他に何をテストする必要があるのでしょうか?

このような小さな機能のテスト ケースとして、異なるプラットフォームでのテストは理にかなっていますか? また、実行時間のテストは、テスト ケースとして追加したかったもう 1 つのことです。静的および動的分析をテスト ケースの一部に含めることはできますか? 他にテストすべきことはありますか?

int foo(int a, int b, int c) {
   return a value based on a, b, and c. 
}
4

2 に答える 2

2

あなたの質問の仕方は、ブラック ボックス テストを行っているように見えます。つまり、入力と出力の関係についてしか知らず、実装については知りません。その場合、テスト ケースは関係について知っていることに依存する必要があり、これらのことをテストしたと思います (関係の詳細を教えてくれませんでした)。

そのため、プラットフォームの独立性をテストする必要はないように見えますが、自動化されたテスト スイートがある場合は、異なるプラットフォームでテストすることは悪い考えではありません。

利用可能なコードがある場合は、ホワイト ボックス テストを行うことができます。通常、これを行うには、最初にコード構造を調べます。つまり、100% の分岐カバレッジを持つようにします。つまり、コード内のすべての分岐は、テスト中に少なくとも 1 回実行されます。このように、静的および動的分析は、さまざまなカバレッジ メジャーを見つけるのに役立ちます。

関数にプラットフォームに依存するコードがない場合、プラットフォームの非依存性テストは行いません。

于 2012-10-20T19:13:34.873 に答える
0

sizeof(int) は、特定のコンパイラについてテストする必要があります。これは些細なことのように見え、C 標準では int のサイズが指定されていますが、使用されているコンパイラが 16 ビットの標準非準拠コンパイラであるかどうかを常に把握しておくことをお勧めします。ちょうど別のテストケース。

于 2012-10-20T19:09:38.320 に答える