0

私は、100% のステートメント カバレッジが証明とテストの点であまり意味がないことを実証しようとしています。簡単な例は思いつきません。これが私の最善の試みです。

TestObject t = null;

            if (Console.ReadLine() == "A")
            {
                t = new TestObject();
                t.Value = 5;

            }
            Console.WriteLine(t.Value);  //exception only when the IF statement was not run as the variable remains null.

また、ユーザーが「A」を押すと、ステートメントのカバレッジは 100% になります。ただし、他の何かが押されると、例外が発生します。

4

3 に答える 3

1

あなたの例はその目的に適していると思います。

  • たった 1 つのテスト ケースで完全な (100%) ステートメント カバレッジが得られます。バグは明らかにされませんでした。
  • カバレッジの観点からは、2 つの分岐 (IF は TRUE または FALSE を評価) があり、1 つだけがカバーされます (50%)。ブランチ カバレッジが 100% に達すると、バグが露呈します。これをブランチ カバレッジと呼びます。
于 2013-01-25T18:05:54.267 に答える
0

私はあなたの主張が間違っていると思います。100%のステートメントカバレッジにより、すべてのコードを検証するためのテストケースを考案できることを確認できます。単体テストを使用してコードのすべての行をヒットできるため、1つのテストケースで完全にテストされているという考えを混乱させているようです。

于 2013-01-25T15:18:39.420 に答える
0

Bullseye テスト カバレッジ ツールの Steve Cornnett は、「ステートメント カバレッジの何が問題なのか?」という素晴らしい記事を書いています。

ステートメント カバレッジが最も弱い形式のカバレッジと見なされる理由についての完全な分析が見つかります。

于 2013-01-26T10:24:36.903 に答える