どれだけテストを書けばいいか(1)
いま自分のメインプロジェクトは二つあって、両方共TDDで開発している。([Nendo]、[Sekka]) もうTDDでない開発方法には戻れないと思っているが、効果を上げるには[Nendo]側のテストスイートの網羅率が足りない気がしている。 (科学的に分析したわけではないが… というか、そもそも科学的に分析できるものなのかもわからないけど) あきらかに[Nendo]のほうが複雑なソフトウェアだと思うので、より多くのテストコードが必要になるのだろう。 それぞれ、実際にテストコードがどれくらいあるのか気になったので調べてみた。
調べるのは、製品コードとテストスイートの行数。
実際に調べてみると、[Nendo]の製品コード(テストされる側のコード)は自分が思ったよりも行数が多い。
5000行程度じゃないかと思っていたが、そうではなかった。
おまけに、テストコードも製品コードと同じくらい書いていると思っていたが、実際はテストコードのほうが行数が少なかった。
一方、[Sekka]のほうはバランス良さそう。一応テストコードのほうが行数が多い。 感覚的には[Sekka]くらいがいいのかも。
[Nendo]のほうはまだまだ機能追加していくけれども、このペースでいけばテストコードが製品コードを追い抜くことは無さそうだなぁ。 このブログのテーマに戻ると、結局どれだけテストを書けばいいかという結論は出なさそうだ。 しかし何らかの指標にはなるので把握しておいて感覚を掴んでおくといいのではないかと思う。 他のプロジェクトはどれくらいテストしているんだろう… というのはまた後日。