Mythical Unit Test Coverage: IEEE Software May/June 2018: 網羅率の謎

各企業でどれだけ網羅しているかという情報は長らく学会では発表されなかった。なぜなら各企業がその情報を開示するのを嫌がっていたし、論文にすることが難しかったので(あまり大学教授の業績にならない。残念ながら大学教授の業績とソフトウェア品質業界の欲するところはイコールではない)。2000年代はまったくそういう論文が出てこなかった(私の知る限りBoris Beizer(ソフトウェア業界の巨匠)がカンファレンスで、「やっぱ80%は必要だよね!」と話していただけ)。

Googleが少しずつ自分たちの活動をオープンにしてくれたおかげで、Google内での品質活動から世の中こんだけ網羅すればだいじょうぶなんじゃないでしょうか!感がわかってきた。2010年代の初頭に出たGoogleでの網羅率データは個人的には素晴らしいことだと思ったのを覚えている。

この論文はその上をいくもので、網羅率があがることがバグ密度の減少にどう貢献するか論じている。今後CI/CDが主流になっていけば、どのくらい上流で網羅すべきかというのはかならず話の中にでてくる、その議論の根幹となる論文なのかもしれない。2018年の素晴らしい論文でした!

  • Code Coverage Best Practices, Friday, August 07, 2020
  • Code Coverage at Google, https://homes.cs.washington.edu/~rjust/publ/google_coverage_fse_2019.pdf

更にこの論文のよいところは、our analysis focused just on scrutinizing the relationship of test coverage and defects. However, since both coverage and defects are affected by code properties— complexity, changes, and size—we investigated their influence as well. にあるように複雑度・変更度合い・ファイルのサイズとバグの関係を論じている(ちょっと扱うテーマが広すぎるとおもうが、こういうテーマは重要なので毎年誰かが最新の状況を調べてほしい)。