テクノロジーの進化により、企業のソフトウェア依存度は高まるばかりである。その結果、ソフトウェアの品質管理とビジネスの成果が直結するようになっている。ソフトウェアの障害が企業経営に及ぼす影響を踏まえると、"品質"は極めて重要である。一方で、新たなテクノロジーの登場やビジネス要求の高まり、開発チームの分散などにより、ソフトウェア開発の"品質"を一元管理することは非常に難しくなっている。このような課題に対してさまざまなソリューションを提供するのがIBMのRationalソフトウェア(以下、Rational)である。本稿では、豊富なソフトウェア開発実績を誇るIBMの「ソフトウェア品質」に対する考え方とテスト・ソリューションについて、日本アイ・ビー・エム ソフトウェア事業・ラショナル事業部の越水喜之氏に話を伺った。

越水氏が登壇する「ソフトウェア品質サミット」(6月26日(水) 東京・竹橋)の参加申し込みはこちらから(参加費無料)

品質管理の鍵となる3つのキーワード

日本アイ・ビー・エム株式会社 ソフトウェア事業・ラショナル事業部 テクニカル・セールス&サービス 越水喜之氏

「私たちが考える"高い品質"とは、"ユーザーの要求をすべて網羅している"ことを意味します」と越水氏は語る。

「テストの観点でとらえると、ユーザーの要求に沿った形でテストを定義し、実際に作られ、実施されているかということについての"品質"を管理していく……これが当社の考え方です」

越水氏はこれを「要求駆動型の品質管理」と呼んでいる。

このような考え方に基づくIBMの品質管理ソリューションについて越水氏は、「トレーサビリティ」「影響分析」「リアルタイムでの可視化」という3キーワードを掲げる。

「要求定義から開発、テストまでを一元管理することで、トレーサビリティの確保が可能となり、実行状況などをリアルタイムで可視化できるようになります。また、要求が変わった場合や障害があった場合、影響がある箇所を正確に分析することもできます。これがRationalの強みです」と越水氏は解説する。

品質管理においては、関係者のコラボレーションが効率的かつ効果的であるかどうかということが生産性を大きく左右する。そこで、最新のソリューションであるコラボレーティブ・ライフサイクル・マネージメント(CLM)では、地理的に分散されたプロジェクト、例えばユーザー企業とベンダー企業、そして子会社などのように物理的に離れた場所であっても、情報の一元管理を実現し、可視化することが可能となっている。

効果的なテストの自動化でアジリティを確保

品質とともにアジリティの確保も重要な課題の1つだ。日々刻々と変化していくビジネスの現場では、勝ち残っていくために環境の変化に合わせて素早くビジネスを改善していく必要に迫られている。

しかし、たとえ変化に合わせて要求を変えようとしても、それを確認するためのテストを設計し、実行するとなると時間がかかりすぎてしまう。その課題を解決する手段として、Rationalでは、機能テスト、負荷テスト、システム間のインターフェーステスト、モバイルのテスト、以上4つのコンポーネントについてテスト実行部分の自動化ソリューションを提供している。これらを活用してテストを自動化することで、品質を維持しつつ工数を削減することが可能となる。

なお、越水氏によると「最近はモバイルに関する問い合わせが非常に多くなっている」とのことである。

「モバイルには、タブレットも含めると300種類ほどのデバイスがリリースされています。それらすべてを人の手でテストするのは大変な作業です。特にモバイルの場合は変化が早いので、テストの自動化によって品質をある程度確保しつつも工数を削減することで、より早期にリリースしていくことが可能になると考えています」

工数の削減やスピードアップなどメリットの多い自動化だが、その一方で越水氏は「自動化をしすぎてしまっては、"丸投げ"と何も変わりません」とし、テストの極端な自動化には慎重な姿勢を示す。「自動化する時は、記録するために一度テストを動かす。そのため、最低でも2回分の工数が必要となるため、すべてを自動化してもコストメリットが出ない可能性がある」という点もその理由の1つだ。

「現状では、30~40%程度がパフォーマンスとコストメリットの面でベストと言われています。そこで、どこを、どこまで自動化するかが重要なポイントになります。ユーザー企業とベンダー企業、必要であれば豆蔵さんのような専門知識を持つコンサルタントも加えて、一緒になって考えていくことが求められるでしょう」

ここまでIBMの品質管理に関するソリューションについて解説してきた。しかし、これはほんの一部でしかない。来る6月26日のセミナー当日には、さらに踏み込んだ解説がなされる予定だ。また事例として、テストの自動化によって削減できたのコストや工数について具体的な数値が示される予定だ。さらに、IBM自身が活用している品質管理の事例についても解説されることになっている。品質管理やソフトウェアテストに関わる人たちにとっては、見逃すことができないセミナーと言えるだろう。