DZone.com Feed 日本語
フォロー
コードカバレッジ100%はテスト済みを意味するか?
エンジニアリング組織が報告したがる、そしてエンジニアリングリーダーが受け取りたがる数字があります。それは「コードカバレッジ100%」です。この数字は、完全性という満足感のある性質を持っています。しかし、それは一体何に対する完全性なのでしょうか?それは、すべての行がテストされ、すべての分岐が調べられ、すべての条件が検証されたことを意味します。それは、うまくやり遂げた仕事の数学的な証明のように見えます。しかし、そうではありません。そして、その数字が約束するものと、それが提供するものとの間のギャップは、多くの組織において、品質プログラムにおける最も高価な誤解です。コードカバレッジは、テストが実行するコードの割合を測定するのであって、テストが検証する振る舞いの割合を測定するのではありません。これらは根本的に異なるものであり、それらを混同すると、よくカバレッジされているが危険なほどテストが不十分なシステムが生まれます。エンジニアはそのカバレッジの数字を知っています。幹部はそのカバレッジの数字を信頼しています。そして、そのシステムは、カバレッジの数字では検出できなかった方法で失敗します。