What one likes, one will do well 〜好きこそ物の上手なれ〜

寄り道しながらも、最後は昔から好きな物理とプログラミングに戻ってくる。そんな男の思いをつづるブログです。

テストの重要性と失敗あるある

Qiitaに記事を投稿しました。

 テストの重要性のまとめです。

  • プログラムの品質を確保する上でテストは重要です。いくらコードレビューを十分にしたところで、間違えはあるもので、必ず最後はテストで確認しましょう。
  • テストの網羅度は最低限C0(命令網羅)100%が必須です。実行されていない部分にはバグが潜んでいます。C1(分岐網羅)、C2(条件網羅)は100%でなくとも考慮する必要はあります。必要な部分はテストに追加しましょう。
  • テストは単体テスト結合テストの順にやりましょう。結合テスト1発でオッケーならすぐに終わるかもしれません。しかし1発で終わることはまれだし、終われない場合は時間ばかり掛かってしまいます。
  • テストはテストコードを書いて繰り返しできるようにしましょう。テストは何度も繰り返すものです。単体テストで何度も実行し、その後のテストやリリース後でもバグが見つかったら再度テストします。さらにはリファクタリングする時にも必要です。
  • テストは自動化して毎日全テスト実行しましょう。日々修正しているモジュールは色んな要因でバグが混在します。テスト済みのテストコードは、毎日実行する事でデグレードを早期に発見できます。

自分が書いたコードは完璧だと思いがちで、テストは面倒だという気持ちが起こりがちです。でも実際は自分の書いたコードはバグばかりで、テストを何度も繰返して品質を向上させます。
面倒だと言う気持ちを捨てて、テストは重要だ、必要だという気持ちを持ちましょう。実際に経験して、失敗を繰り返さないとわからないのですが、やはりテストは重要なのです。

失敗あるあるの具体的な例は、Qiitaを見て下さい。

 

qiita.com