「とんでもなくテストが難しくなっている」──。

 2010年春、ある製造業のシステム開発プロジェクトを担当したISIDインターテクノロジーの山本卓也氏(開発二部 プロジェクトディレクター グループマネージャー)は、そう感じざるを得なかった。大量のテストケースを、従来の半分近い期間でさばかなくてはいけない。外部システムとの連携も多く、ライブラリやフレームワークも多用しており、アーキテクチャーは複雑だった。「今までのテストのやり方では立ち行かなくなる」。危機感を募らせた山本氏は、テストの方法を見直す決意を固めた。

 まず、テストの体制をバグの発見と修正の2チームに分け、迅速かつ確実にバグをなくすことを目指した。結合テストの自動化も検討。操作ログをスクリプト化するExcelマクロを活用した。テスト担当者が設計フェーズに参加し、テスト計画を共同で作ることも試みた。すべて過去のテストでは実践しなかった対策である。

求められる二つのアプローチ

図1●現場で取り入れたい二つのアプローチ
図1●現場で取り入れたい二つのアプローチ
準備段階と実施段階で対策を打つ必要がある。準備段階では見通しを良くすること、実施段階では効率を高めることを目指そう
[画像のクリックで拡大表示]

 第1回で見たように、最近のシステム開発のテストは、悪条件が重なり、難しさが増している。第2回では、そうした悪条件がそろった大規模プロジェクトのテストを乗り越えた経験談を紹介した。今回と次回は、ここ最近のテストで現場が取り入れて効果を上げた「悪条件に負けない秘訣」を取り上げる。具体的な現場の秘訣は、大きく分けて二つある(図1)。

 一つは、テストの準備段階で見通しを良くすることだ。「短納期かつ大規模・複雑化したシステムを対象とする最近のテストは、混沌として見通しが悪い」。こう訴えるのは、TISの佐々木喜一郎氏(産業事業統括本部 サービス&コミュニケーション事業部 サービス第3部 統括マネジャー)だ。佐々木氏は、準備段階で作成するテスト計画書に、設計や実装以上に細かく「マイルストーン」を記載している。「一つの作業の遅れが全体に影響するのがテストフェーズ。テストデータの入手時期やテスト環境の構築時期などを細かく記載し、テスト全体の見通しを良くしている」と佐々木氏は説明する。

 もう一つの秘訣は、テストの実施段階で効率を高めることである。クオリカの清水克彦氏(事業推進本部 開発センター 主査)らの現場では、画面の操作や表示に関するテスト観点(どのようにテストするか)をリスト化。テスト実施時に効率的にテストを進められるようにしている。清水氏は「スキル差による効率の差をなくすと同時に、抜けや漏れの防止にもつながる」と、その効果に自信を見せる。

 今回と次回は、準備段階と実施段階に分けて、現場の具体的な秘訣を見ていこう。