便利機能(2)
本番環境からテストケースをリバース

 テスト範囲を決定したら、次にどんなテストを実施するかを検討する。これが、テストケースの洗い出しだ。単体テスト/結合テスト/システムテストのそれぞれでどんなテストを実施すべきかをテストケースとして練り上げる。

 「特に難しいのがシステムテストで実施する負荷テストのテストケースの洗い出しだろう」。こう強調するのは、実際にプロジェクトに入ってテストを支援することもある、日本オラクルの平井克人氏(製品戦略統括本部 テクノロジー製品推進本部 担当シニアマネジャー)である。単体テストや結合テストは、設計書に記載された仕様を満たしているかどうかを確認すればよい。だが負荷テストの場合は、性能要求を確認するためのテストケース(シナリオ)を、膨大なパターンの中から適切に選び出す必要がある。現実離れしたシナリオでは性能を正しく測定できない。負荷テストにおけるテストケースの洗い出しは“プロの眼”が要求される典型的な作業なのだ。

 便利機能の二つ目は、本番環境で処理されるトランザクションをキャプチャーし、それをSQL文としてリバース(逆生成)するもの。旧システムの刷新プロジェクトに利用は限定されるが、負担だったテストケースの洗い出しが軽減されそうだ。米Oracleの「Enterprise Manager」が持つ機能で、実業務で発行されるピーク時のSQL文をそのままシナリオとして利用できる。ツール上でリバースしたSQL文の中から、参照系のみ、更新系のみをテストするカスタマイズも可能だ。

便利機能(3)
質問からテストケースを絞り込む

 プロジェクトマネジャー(PM)の悩みの一つは、膨大な数のテストをすべて実施したくても、限られたスケジュールやメンバーではこなし切れないケースだ。スケジュールを優先してやみくもにテストケースを絞り込めば、品質問題を招きかねない。

 三つ目の機能は、3分野12項目の質問に3段階で答えると、テストケースの重要度を採点し、絞り込みの判定に役立つという機能である(図3)。

図3●12の質問から時間内に終わるテストケースを絞り込む
時間的にすべてのテストケースを実施できない場面がある。米Hewlett-Packardの「Quality Center」には、3分野12項目の質問に答えると要件ごとの重要度とテスト工数を見積もる機能がある。これを使うと、時間内に終了するテストケースを絞り込める
[画像のクリックで拡大表示]

 この機能を持つのは、米Hewlett-Packardの「Quality Center」。一覧化した機能要件や非機能要件(=テストケース)に対してビジネス上の危険性などの12項目を「高い」「普通」「低い」の3段階でPMや担当者が評価する。すると、その結果をツール上で採点し、テストケースの重要性をランキングとして表示する。

 ユニークなのは、ツール内で評価結果に応じた標準的なテスト工数を持つ点だ。つまりテストケースを実施した際の全体のテスト工数を集計できる(図3右)。このテスト工数を計画工数と比較し、時間内に終わるかどうかを検討する。テストケースを絞る際にはあらかじめ判定した重要度の低いものから削ればよい。明確な根拠に基づく絞り込みが可能になり、PMの悩みの種も少しは減るかもしれない。

テスト環境を素早く準備

 便利機能の(4)~(8)は、テスト準備に関する機能だ。ここにきて、スマートフォンやタブレット端末といったクライアントのマルチ化や、Webブラウザーの多様化などを背景に、テスト環境の構築はますます負担になっている。準備の時間が限られた中で、素早く実業務に近いテストデータを用意するのも、相変わらず大きな負担だ。