テストを書きましょう、という話はもっともだと思うのだけど、テストを書けばバグのないリリースができるかといえばそんなことはない。テストで保証できるのは、自分が認識している仕様が正しく満たされていることであって、逆にいうと自分の想定から漏れているものは網から外れる。ここからバグが生まれる。
テストの不足によるバグと考慮漏れによるバグは自分の感覚では2:8くらいな気がする。テスト戦略にまつわる議論がここまでされるのだから、考慮漏れをいかになくすかという議論は、もう少しされても良いのかなぁという気がした。
今パッと思いつく限りで考慮漏れを根絶する方法をリストアップしてみる。
- 検証項目を脳内に持たずどこかに書き出し、それを誰かにレビューしてもらう。
- 毎度イチから検証項目を考えるのでなく、共通する検証項目はどこかに書き残しておき、それをベースに作成する。
- 動作チェックを第三者にやってもらう。
いただいた反応メモ
テスト書くことが賛美されすぎてて、テストコード自体が負債になりうるって視点で語られることが少ない(皆無だ)なと思うことはありますね。
— songmu (@songmu) June 16, 2013
担当者も変わるし、サービスの方針も変わる。テスト無いと相当辛い
— 大西康裕 (@yasuhiro_onishi) June 16, 2013
鍵:テストの不足によるバグと考慮漏れによるバグが 2:8 くらいなの、テストによりバグが減っているからとも考えられる気がする。わたしの場合はけっこうテスト書いてたおかげで気づけてなくせたバグ多い。というかリグレッションテストのときにたいていそういうことになる
「検証項目を脳内に持たずどこかに書き出し、それを誰かにレビューしてもらう」このためにテストを書くのであって、あとはレビューの問題だと思います。 / “テストを書きましょう、という話はもっともだと思うのだけど - Cside::Pr…” http://t.co/Eds4cjFw3y
— nekoya (@nekoya) June 17, 2013