 |

|
PHP開発手法 |
第5回:複数人での開発におけるテストの勘所
著者:ウノウ 山本 健 2007/2/5
|
|
|
前のページ 1 2 3
|
 |
ウノウでの実践事例
|
今回は実際の事例として、フォト蔵のケースを紹介します。フォト蔵は写真共有サイトとして開発がスタートし、1万枚もの収容枚数、多言語対応、コミュニティ機能などの特徴を持っています。
写真共有・フォトストレージサービスは、カメラ業界のフィルムからデジタルへの移行を受けて登場した新しいサービスです。2006年度より「WEB of the YEAR」にも新たに分野が設立され、一般に広く知られるようになってきています。
この分野は成長期でユーザの囲い込みを競い合う段階にあり、頻繁なバージョンアップを行う開発体制が求められていました。

図2:フォト蔵 (画像をクリックすると別ウィンドウに拡大図を表示します)
フォト蔵の開発の場合はスパイラルモデルで行われています。実装スピードを重視した仕様で構築され、その後リファクタリングや機能のブラッシュアップが行われるケースが多く発生します。
テストからリリースまでの手順は本連載の「第1回:PHP開発の手法とは」でも解説しましたが、「開発環境でのテスト → 本番環境のアップデート → 本番環境でのテスト」と2重にテストする体制を採用しています。
これにより、スピード重視の開発ながらも大きなトラブルを回避することが可能です。影響度の大きいアップデートがある場合は、本番サーバに設置された双子環境での事前チェックを追加して実施するケースもあります。
テストでは「個人情報の保護」「閲覧権限の管理」「多言語対応」などクリティカルな機能にチェックの重点を置いています。またソースコードをSubversionで強力に管理しているため、文言修正やCSSの修正程度であれば開発環境でのチェックのみで済むケースもあります。
これらの作業はすべてBTS上で進捗が管理され、テスト漏れなどミスの起こりにくい体制を維持しています。
チーム全体でテスト結果を見ながら臨機応変にアップデートタイミングを管理し、固定のアップデート候補のビルドを作成する代わりに、コミットのタイミングを調整するなどして、小刻みに更新を行っています。
「第4回:Wikiによる情報共有」でも紹介したように、Wikiなどによってコミュニケーションコストをうまく削減していくことで、タイトなスケジュールをこなしつつもチームでの開発が非常に楽しいものになっていきます。
また、スパイラルモデル開発に対応するために、自動実行ツール「Selenium」によるリグレッションテストも徐々に準備が進んでいます。

図3:自動実行ツール「Selenium」 (画像をクリックすると別ウィンドウに拡大図を表示します)
|
まとめ |
コーディングとテストは対になるものとして捉えることができます。テストはスムーズなリリースをコントロールし、開発のリズムを作り出す重要な工程です。
一般にテスト工程というと経験の少ない新人に割り振られる作業で、つまらないものという偏見がありますが、その重要度は高く、品質の鍵をにぎるものでもあります。コミュニケーションに重きを置いた前向きな姿勢で、テストを行ってみるのはいかがでしょうか。
|
前のページ 1 2 3
|

|
|

|
著者プロフィール
ウノウ株式会社 山本 健
黎明期にPCを使いはじめるも、若気の至りか芸術の道へ大きく寄り道し東京芸術大学大学院で油画を専攻。在学中からはじめたサイト制作・携帯コンテンツ運営などを経て2003年より株式会社BEATにて受託開発のテスト業務に携わる。2006年4月よりウノウに参戦し、別名「テスト番長」としてより早くより深いWebアプリケーションの品質管理を目指して奮闘中。プライベートでは画家としても活動しており、見た目からは連想できない繊細な画風で世間の注目を集めている。白日会会員。
|
|
|
|