継続的なテストの重要性について
松野です。こんにちは。
今回は継続的なテストという話題についてお話したいと思います。本稿では、
本稿で取り上げる継続的テストとは、
割れ窓理論というのがあります。これは
これは、
チームによる開発においては、
継続的なテストを行う方法
Perlの世界では継続的なテストを支援するツールがいくつかありますので、
- cron
- 最もシンプルな方法はcronで定時にmake testするように設定するという方法でしょう。cronのMAILTOを適切なMLに向けておくだけでOKです。Subversionを利用している場合には、
hookを使ってmake testを自動で行うのも良いでしょう。 - 重要なのは
「commitする人がmake testを自分で手動で実行しなくても自動で実行される仕組みを構築する」 というところにあります。 - trunk1本でbranchがないようなプロジェクトの場合にはこれで十分でしょう。実際弊社でもcron+αで運用しています。
- buildbot
- buildbotは、
Pythonで書かれた継続的テストのためのソフトウェアです。IRCとの連携などもあって、 使いやすいのではないかと思います。筆者は試したことはないです。 - 図のように、
綺麗なWebページも表示できます。 - Pythonで書かれてはいますが、
Perlにも対応しているので容易に試すことができます。綺麗な画面が必要な場合には、 buildbotを採用するのも1つの選択肢になってくると思います。 - Perlでのbuildbotの使い方は、
id:dannさんの日記が詳しいですので、 そちらをご欄ください。 - Test::Chimps
- Test::Chimpsというツールは、
継続的テストサーバとそのクライアントを提供します。Plaggerの継続的テストで採用されていたので、 ご存知の方も多いでしょう。Perlで書かれているのですが、 依存モジュールが多いのと、 インストールが面倒なのでオススメしません。 - そもそも、
Test::Chimpsの最新バージョンはテストすら通りません。もし気が向いた方がいらっしゃいましたら、 直してください。
モバイルファクトリーでの継続的なテスト
弊社ではYappo氏が開発したClass::Componentを使い、
社内に配置した継続的テスト用サーバにて、
もう1つの継続的テスト
継続的なテストという言葉には他にも定義があって、
まとめ
今回は継続的なテストについて解説いたしました。テストを走らせるのが億劫な貴方も、
Happy Continuous Testing!