TOPプロジェクト管理> システム開発におけるテストのあり方
PHP開発手法
PHP開発手法

第5回:複数人での開発におけるテストの勘所

著者:ウノウ  山本 健   2007/2/5
1   2  3  次のページ
システム開発におけるテストのあり方

   これまで解説してきたように、ウノウでは各々の開発者の開発環境で慎重に組み上げられたソースコードをSubversionで管理された統一の開発環境にそれぞれコミットし、リリースに向けて足並みを揃えながらシステムテストを実施します。

   ウノウではテスト専門の担当者が在籍しており、開発者とは違った視点から成果物のチェックを行う体制を整えています。今回はその実践事例を紹介しながら、複数人での開発におけるテストの勘所について解説していきます。

何のためにテストを行うのか

   テスト工程はプロダクトの品質を確保するために欠かせないフローの1つです。組み上げられたばかりのソースコードは、まだ完成度が客観的に保証されていない状態であり、開発者のスキルに対する信頼によってのみ「完成した」と推測されるものでしかありません。極端にいえば、いざ蓋を開けてみたら動かなかったということもあり得るのです。

   自社プロダクトの開発がほとんどであれば、問題が発生し難いですし、発生しても自社内ですぐに解決できます。しかし委託開発などの場合では、問題が起こると品質の点でクライアントとのトラブルが発生することがあります。

   中小規模の開発会社ではプログラマがテストも兼任するケースが多いようです。しかしテストを専門とするスタッフを置き、実装側とは違った観点でテストを行うことで、様々なトラブルの発生を未然に回避することができますので、テストのプロともいうべきスタッフは必要不可欠だと考えます。

   またプロジェクトを統括するプロジェクトマネージャーにとってもテストは重要な要素です。実際のプロジェクトの進捗をテスト結果の状況から把握することができるからです。進捗状況に影響を与える問題や、最終的な品質に影響を与える問題が判明するのもテストの工程ですので、プロジェクトマネージャーにとってはプロジェクト管理の肝ともいえるのではないでしょうか。

   それでは、テストの際のポイントについて解説していきます。


テスト実施の目的を定め、合意を得る

   テストによって確保すべき品質水準や内容は、プロダクトの種別や内容によって異なりますので、採用すべき手法は様々です。そのため、一口にテストといってもいろいろな意味合いで使われています。

   複数人で開発を行う場合、品質に対する意識のバラツキが発生し、どうしてもプロダクトの仕上がりに差異が生じます。それを回避するためには、「何をどこまで確保してよしとするのかを定め、メンバー間で共有意識を持っておく」必要があります。

   またテストは品質を確保するために行われますが、品質のみを純粋に追求できるような状況はほとんどありません。なぜなら必ず開発コストと納期を考慮しなければならないからです。よってそれらの中でどれだけのことを行うかについても、チームとしてゴールラインを定めなくてはなりません。

   実際にテストを行う際の項目例を以下に示します。

  • 必要なパフォーマンス
  • セキュリティ強度
  • 対応プラットフォームやWebブラウザ
  • テスタビリティ
  • コストの上限
  • 守るべき納期

表1:テストを行う際に考慮すべき項目例

   先ほども述べたように、これらの項目に求められるハードルについて、どのレベルまで品質を確保するかを決定・周知する必要があります。これらの項目とその詳細は開発の初期に定められているべきことですが、組み上げてみなければ判断できない部分もあり、その基準を決めるのは往々にして難しいのが実情です。一般的には、その判断材料として「リスク」「コスト」を比較して決断します。

   無計画に端から手をつけていき、時間切れになって終了というのが最悪のパターンといえるでしょう。では次に判断材料の1つである「リスク」と「コスト」について解説します。

1   2  3  次のページ


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


INDEX
第5回:複数人での開発におけるテストの勘所
システム開発におけるテストのあり方
  リスクを測定する
  ウノウでの実践事例