本連載では、開発プロセスの中でも重要な位置を占めるテストプロセスに着目し、全体最適を実現させるために、どのように現実のテストプロセスに取り組んでいくべきかを考察しています。前回からソフトウェアテストの最新トレンドについて解説していますが、今回は方法論のトレンドとして「STEP」を取り上げます。
STEPはSystematic Test and Evaluation Processの略で、テストのドキュメントのための標準であるIEEE-std.829を実現するための手段として、Bill Hetzel博士とDavid Gelperin博士が開発した方法論です。参考文献『体系的ソフトウェアテスト入門』(Rick D. Craig著、日経BP社刊)によれば、STEPは1985年からセミナーやコンサル、開発現場で用いられ、改善されてきたものだそうです。
開発モデルはウォーターフォールモデルがベースになっています。STEPの要素は以下の図のように、テストプロセスの段階を示す「フェーズ」とフェーズを推進する「役割」、フェーズによる「成果物」で構成されます。
「役割」では、表1のように担当者ごとの責任範囲が示されており、それぞれの役割を受け持つメンバーが、チームを組んで次のフェーズをそれぞれ進めます。
- 戦略の計画(テスト戦略の選定とテストレベル、およびアプローチの選定)
- テストウェアの確保(詳細なテスト対象の特定、テスト設計と準備)
- 動作の測定(テスト実行、およびソフトウェアとプロセスの評価)
表1 STEPの役割と責任(出典:『体系的ソフトウェアテスト入門』 P14. 表1-4)
役割 | 責任を負う事項 |
---|---|
マネージャー | コミュニケーション、計画、調整 |
アナリスト | 計画、テスト対象事項明細一覧、設計、評価 |
エンジニア | テスト事項準備、テスト実行、チェック |
レビュアー | 吟味と評価 |
STEPは、テストの進め方としてはベーシックなものですが、段階的に開発を進めながらテストの成果物(テストウェア)をまとめていく道筋を示せるという利点があります。テストプロセスをこれから構築しようとしている現場や、標準に基づいたテストプロセスを知りたい方にとっては参考になるでしょう。
ただし、IEEE-std.829にも言えることですが、そのまま無理やり使ってうまくいくものではなく、基本的な考え方を理解した上で、自分たちに合うように導入時に手を入れ、かつ常に改善していくことが肝心です。
執筆者プロフィール
大西建児 (Kenji Onishi)
株式会社豆蔵 シニアコンサルタント。国内電機メーカー、外資系通信機器ベンダーで培ったテストや品質保証などの経験を生かし、テスト手法や技術の普及、発展に取り組む。NPO法人ソフトウェアテスト技術振興協会(ASTER)副理事長。JaSST’08東京 共同実行委員長。著書に「ステップアップのためのソフトウェアテスト実践ガイド」(日経BP社)などがある。
『出典:システム開発ジャーナル Vol.5(2008年7月発刊)』
本稿は原稿執筆時点での内容に基づいているため、現在の状況とは異なる場合があります。ご了承ください。