ブランチカバレッジとアサートカバレッジ?

ジョンファレリー

現在、ほとんどの人がステートメントカバレッジよりも品質メトリックとしてブランチカバレッジを使用していると思いますが、私があまり見たことがないメトリックの1つは、テスト自体の品質です。

たとえば、コード内の多くのブランチを実行するテストを作成できますが、どのテストもアサートを実行しません。そのため、多くのブランチを実行しましたが、返品条件を適切にチェックしていません。この「アサート」メトリックをキャプチャする方法はありますか?

人々はテスト自体に何らかの指標を使用していますか?

nrainer

ブログ投稿コードカバレッジは実際にはどういう意味ですか?この質問を扱います。調査結果は、単体テストのコードカバレッジが一般に回帰テストの信頼性の良い指標であることを示しています。システムテスト(ソフトウェアシステムの大部分を実行する)の場合、コードカバレッジは信頼性の有用な概算ではありません。

ミューテーションテストは、テストケースの有効性を評価するために使用できます。アイデアは、障害を導入することによってソースコードを変更し、テストケースが障害を検出できるかどうかを確認することです。通常のアプローチは、単一のメソッドにミューテーション演算子を適用し(たとえば、コード行を削除する、加算を減算に置き換える、ブール条件を反転する)、すべてのテストを実行し、テストケースの少なくとも1つをチェックすることです。失敗します。失敗したテストケースは、壊れたコードを明らかにすることができました。ミューテーションテストの欠点は、計算が複雑で、同等のミュータントが結果を歪めるという問題です(同等のミュータントは、構文的にミューテーションされたが意味的には変更されていないコードチャンクです)。ピテスト は、業界で使用されているJavaのミューテーションテストシステムです。

アサーションを含まないテストケースに関して、MartinFowlerは次のように書いています

アサーションフリーのテストはほとんど冗談ですが、完全に役に立たないわけではありません。[...]一部の障害[nullポインター例外など]は、コードの実行を通じて表示されます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

jacocoブランチカバレッジとソナー条件カバレッジの違いは何ですか?

分類Dev

ブロックカバレッジとブランチカバレッジの違いは何ですか?

分類Dev

ブランチカバレッジとDUパス

分類Dev

JUnitとMockitoによるブランチカバレッジ

分類Dev

Gitlabテストカバレッジ解析ブランチのみ

分類Dev

100%のステートメントカバレッジなしで100%のブランチカバレッジを持つことは可能ですか?

分類Dev

冗談でブランチカバレッジゼロパーセント

分類Dev

イスタンブールとモカのカバレッジレポート

分類Dev

他に欠けているブランチカバレッジ

分類Dev

ロードバランサーとサーキットブレーカー

分類Dev

golangテストのブランチカバレッジを取得する

分類Dev

ソナーブランチ分析:カバレッジを計算して表示

分類Dev

COLOR_ATTACHMENT's-フレームバッファオブジェクト内のカラーアタッチメントとして複数のテクスチャにレンダリングする方法は?

分類Dev

Javaアプリエンジンバックエンドサーブレットへのカレンダープッシュ通知

分類Dev

カバレッジ:「正式に無限の」 `while(true)`ループに100%のブランチカバレッジを適用します

分類Dev

BDDとテストカバレッジ

分類Dev

JenkinsパイプラインジョブのCoberturaコードカバレッジレポート

分類Dev

JenkinsパイプラインジョブのCoberturaコードカバレッジレポート

分類Dev

ユニットテストでJavaのブランチカバレッジが欠落している

分類Dev

モカとイスタンブールでカバレッジを生成する

分類Dev

Pythonコードカバレッジとマルチプロセッシング

分類Dev

マスターブランチと同期するときに、ブランチカバレッジがSonarcloudに表示されない

分類Dev

Codecov:カバレッジレポートの処理エラー

分類Dev

Java-分散オブジェクトロジック:ストアとしてのサーバー/ワーカーとしてのクライアント

分類Dev

イスタンブールカバレッジレポートの読み方

分類Dev

ジンゴニックサーバーアプリケーションのコードカバレッジレポートを生成できません

分類Dev

カバレッジレポートとJenkinsの統合

分類Dev

イスタンブールはモカチャイとチャイのカバレッジを生成していません-httpテスト

分類Dev

マルチモジュールプロジェクトでソナーランナーとの統合カバレッジを使用できません

Related 関連記事

  1. 1

    jacocoブランチカバレッジとソナー条件カバレッジの違いは何ですか?

  2. 2

    ブロックカバレッジとブランチカバレッジの違いは何ですか?

  3. 3

    ブランチカバレッジとDUパス

  4. 4

    JUnitとMockitoによるブランチカバレッジ

  5. 5

    Gitlabテストカバレッジ解析ブランチのみ

  6. 6

    100%のステートメントカバレッジなしで100%のブランチカバレッジを持つことは可能ですか?

  7. 7

    冗談でブランチカバレッジゼロパーセント

  8. 8

    イスタンブールとモカのカバレッジレポート

  9. 9

    他に欠けているブランチカバレッジ

  10. 10

    ロードバランサーとサーキットブレーカー

  11. 11

    golangテストのブランチカバレッジを取得する

  12. 12

    ソナーブランチ分析:カバレッジを計算して表示

  13. 13

    COLOR_ATTACHMENT's-フレームバッファオブジェクト内のカラーアタッチメントとして複数のテクスチャにレンダリングする方法は?

  14. 14

    Javaアプリエンジンバックエンドサーブレットへのカレンダープッシュ通知

  15. 15

    カバレッジ:「正式に無限の」 `while(true)`ループに100%のブランチカバレッジを適用します

  16. 16

    BDDとテストカバレッジ

  17. 17

    JenkinsパイプラインジョブのCoberturaコードカバレッジレポート

  18. 18

    JenkinsパイプラインジョブのCoberturaコードカバレッジレポート

  19. 19

    ユニットテストでJavaのブランチカバレッジが欠落している

  20. 20

    モカとイスタンブールでカバレッジを生成する

  21. 21

    Pythonコードカバレッジとマルチプロセッシング

  22. 22

    マスターブランチと同期するときに、ブランチカバレッジがSonarcloudに表示されない

  23. 23

    Codecov:カバレッジレポートの処理エラー

  24. 24

    Java-分散オブジェクトロジック:ストアとしてのサーバー/ワーカーとしてのクライアント

  25. 25

    イスタンブールカバレッジレポートの読み方

  26. 26

    ジンゴニックサーバーアプリケーションのコードカバレッジレポートを生成できません

  27. 27

    カバレッジレポートとJenkinsの統合

  28. 28

    イスタンブールはモカチャイとチャイのカバレッジを生成していません-httpテスト

  29. 29

    マルチモジュールプロジェクトでソナーランナーとの統合カバレッジを使用できません

ホットタグ

アーカイブ