セッション2は森田成紀氏(日本アイ・ビー・エム(株))による「ソフトウェア開発ライフサイクルの最適化を実現するIBM Rationalテスト管理ソリューション」です。ソフトウェアの品質管理に求められる現状と対策を指摘し、開発ライフサイクルの最適化に向けたテストはどうあるべきかを解説します。
テストは開発ライフサイクルの一環
テストに関わるエンジニアの皆さんは、「テスト工程は時間がかかり大変だ」と思っていないでしょうか。テストは1つの作業としてとらえるのではなく、開発ライフサイクルの中に位置づけることが重要なのです。
エンジニアとして与えられた仕事だけを黙々とこなしていくのではなく、生産性を上げ、より良い開発をするためにはどうすべきかを、お話しします。
品質管理をとりまく現状とその対策
現在のソフトウェア開発は「贅沢な機能」、「高い品質」、「限られた期限とコスト」という矛盾した要因に取り囲まれており、その帳尻あわせを強いられています。ソフトウェア品質管理の目標は、機能・品質・リソースのバランスを取ることといえます。
ソフトウェア開発やツールに関するユーザーの関心事は個人やチームの生産性から、組織やビジネスに優先度を置いたものに移行しています。しかし、開発形態にも大きな変化が生じており、従来の物理的に集中した作業から、開発工程の区切りを明確化したプロセスへと変わってきています。
一般的なテストについて言えば、従来のテスト手法やツール以上に開発ライフサイクルから見る品質管理が注目されています。これらにより、短期的な対応で済ませるのではなく、ビジネス目標に沿った長期的な対応が求められているのです。
ソフトウェア品質管理では、「継続的」、「自動的」、「適度なガバナンス」という3つのキーワードを考慮すべきです。開発ライフサイクルで品質を保証するためにはプロセスとツールの融合が不可欠であり、コラボレーションや品質の可視化がカギとなります。最適化された開発ライフサイクルは、自動化を備えた繰り返し可能なプロセスにより成立するのです。
最適化に向けたテストとは
テストの実行にはビルド工程は必須であり、また実践~ビルド~テストの流れは最も繰り返し実行されるプロセスのため、テスト工程に加えてビルド工程も含めた自動化が重要です。
このプロセスにおけるボトルネックや問題点を解決するには工程を自動化するとともに工程間・メンバー間・ツール間にある壁を取り払い、テストサイクル全般にわたる最適化が求められます。一方で、「開発全体の工程を短縮できても、テスト量が比例して減るわけではない」という現実もあります。開発サイクルを加速することで迅速な繰り返し作業とフィードバックを実現するには、工程間を自動化し効率化を図る必要があります。
Rationalシリーズの効用
IBM Rationalのテストソリューションには、開発ライフサイクル全体にわたりご活用いただけるツールセットがあります。生産性の向上と高い品質に寄与するツールであると自負しております。
Rational Software Analyzer(RSAR)による静的解析テスト、Rational Functional Tester(RFT)による機能テスト、Rational Performance Tester(RPT)による負荷テスト、Rational AppScanによるWebアプリケーション脆弱性検査、Rational Build Forgeによるプロセス自動化・最適化により、開発サイクルを加速し生産性を向上させ、迅速で安定した繰り返し作業とフィードバックを実現します。
まとめ
開発ライフサイクルの最適化により、上流からの品質確保が可能となり各担当者のモチベーションもアップします。
つまり、作業の自動化による労力・時間の節約と正確性が向上し、属人性の排除によるプロセスからの逸脱防止や発生した問題の原因分析・次の段階への移行の検討が可能になり、ツールによる作業の自動化でテストに要していた時間を他の作業に割り当て可能となり高い時間投資効果が得られるのです。