Blog

テスト自動化に関するスライドの紹介

 2011/04/05
このエントリーをはてなブックマークに追加

みなさんこんにちは。@ryuzeeです。

SlideShareでテスト自動化に関する良いスライドをみつけたのでご紹介します。 Agile Toolkit http://www.slideshare.net/nverdo/agile-toolkit-mo-conf

参考になる部分は以下の3スライドでしょう。順に説明していきます。

手動テストのコスト

プロジェクトの初期は以下のような状況です。

  • テストする項目は少ない
  • 手動でテストを完了するのも簡単
  • まだプロダクションでもないし、問題があって影響を受けるのは限定された人だけ

しかし時間がたつにつれて

  • 手動でのテストにはとても多くの時間がかかるようになる
  • 製品が出荷されてしまうと、バグによってとても多くの人が影響を受けることになってしまう

という状況に変わっていきます。

右のグラフは手動でテストを行った場合のテスト時間の推移を示していますが、見て分かる通り、時間がたてばたつほど、機能のテストよりもリグレッションテストにより多くの時間と割合がかかるようになることを示しています。 僕が顧客側だったら、機能を追加すればするほど、リグレッションコストの費用が高くなっていって、投資における「価値を生まない作業の割合」が増えていくことは耐えられないでしょう。

問題修正までの時間

このスライドでは問題の修正にかかる時間を工程ごとに示しています。 よく言われることで当たり前だと思いますが、設計段階ではすぐに解消できる問題もプロダクションに近くなればなるほどその問題の解消に時間がかかることを示しています。 思い当たる節もあるでしょうが、設計上の問題をそのままにしたり気づかずに実装や結合フェーズにおいてそれが顕在化すると、多くのコードベースに影響を与えます(そして品質にも影響を与えます)。

テスト自動化はいつ始めても遅くない!

ということでこのスライドでは以下を説いています。

  • プロジェクト開始時点からテストの自動化をする
  • 個々のストーリーにおいてちょっとのテスト自動化への投資をしていく
  • 自動化されたテストのコストは、何回実行しても変わらない
  • 自動化されたテストは素早いフィードバックと、素早い修正を可能にする

とはいえ、最初からテストの自動化ができない場合もあるでしょうが、そのような場合でも

  • テスト自動化を始めるのに遅すぎるということはない
  • 始めるのは簡単ではないかもしれないが、あとになって多くの恩恵にあずかることができる
  • だから今からでも始めよう!

ということを覚えておいてください。

なお、内容自体は以前僕がDevLove等で話をした内容と類似しているので、是非そちらもご参照ください。

テストについて考える #devlove from Ryutaro YOSHIBA

 2011/04/05
このエントリーをはてなブックマークに追加