前回、テストを最適化することは、開発全体から見ると個別最適になり、結局、開発全体のボトルネックになってしまうと説明しました。このような事態に陥らないようにするには、どうすればよいでしょうか。

上流設計者、プログラマー、テスター、ユーザーなど、それぞれの役割の人たちが実施するテスト(レビューも含む)のコーディネートを行い、重大な欠陥をより早期に、かつより低コストで見つける(つまり、テストの目的を満たす)テスト戦略を立案・遂行することが1つの答えとなるでしょう。

例を挙げてみましょう。仕様書や設計書のレビューは、通常はユーザーと設計者間や設計者同士で行うケースがほとんどだと思います。これを、テスターがテスト分析やテスト設計を実施して見つけた課題をレビュー結果として指摘するアプローチがあります。テストケース作成やテスト実施の効率が良くなる=テスト容易性を上げることが目的になりますが、結果的に仕様書の欠陥も取り除けるという効果があります。

さらに、事前にテスト設計ができるため、テストケースを作る上での課題への早期対処が可能になるだけでなく、ソフトウェア実装時に欠陥が入り込むことを防止することにもなります。テスターが実施する上流のテストフェーズは、このレビュー結果が正しく実装されていることを確認するフェーズとしてしまえばよいのです。テストで見つかる不具合が減れば、修正工数や再テスト工数が減ります。

これは新しいアプローチの一例ですが、テスト戦略のパラダイムを見直すことで、品質を確保しつつ全体的な工数削減、つまり開発の全体最適を実現できるのです。 一方、結果的にテスターが実施するテストで見つかる不具合が少なくなるなど、個別に見るとテストがうまくいっていないように見えてしまうこともありますが、個別に戦略を実現している訳ではないことをプロジェクト全員が納得していれば問題にならないはずです。

テスト戦略のパラダイムシフト

テスト戦略のパラダイムシフトの結果出てきた新たなアプローチとしては、以下のようなものが挙げられます。

テストの新しいアプローチ

・「テストレベルの分割」
 テストレベルとテストタイプ(視点の種類)の再構築
・「開発した本人以外がテストする
 Wモデルプロセスの適用
・「レビュー」
 テスト容易性を意識したレビューの実施
 欠陥分析結果のフィードバック
・「複数の視点の組み合わせ
 リスクベースドテストの実施
 グレーボックステストの実施
・「全体」
 開発の各役割(e.g.設計者、プログラマー)のテストのコーディネート

開発プロセス全体を通して、開発プロジェクトに関わる全員でテスト戦略を遂行することが大事であることを忘れず、方向性を誤らないようにこれらのアプローチを活用することで、開発全体を最適化するテスト戦略が実現できるものになってくるでしょう。

次回以降は全体最適のための新しいアプローチについて、さらに詳しく取り上げていきたいと思います。

執筆者プロフィール

湯本剛 (Tsuyoshi Yumoto)
株式会社豆蔵 シニアコンサルタント。1991年に製造メーカーに就職し、原価管理、製品管理システム構築プロジェクトに参画。その後、ソフトハウスにてパッケージソフト、プリンタドライバ、C/Sシステム、Webシステムなどソフトウェアテスト業務に携わる。現在は豆蔵にてソフトウェアテストのコンサルタントとして活動中。日本科学技術連盟SQiPステアリング委員、JSTQB技術委員、s-open幹事、NPO法人ソフトウェアテスト技術振興協会理事。

『出典:システム開発ジャーナル Vol.2(2008年1月発刊)
本稿は原稿執筆時点での内容に基づいているため、現在の状況とは異なる場合があります。ご了承ください。