テスト設計のメイン工程ともいえるテストケースの作成では、典型的な“駄目なテスト”のパターンがある。どのようにテストケースを作成すべきかを検討せずに作り始めてしまう、といったものだ。テストケースの作り方を担当者の判断任せにすると、テスト条件やテスト観点が曖昧で不具合摘出が不十分なままテストが終わってしまう恐れがある。

 テストケース作成前に「テストケースをどのように作成すべきか」を検討する必要がある。また、検討した内容は資料にして残しておくべきである。これらを実施しないと“駄目なテスト”を引き起こす。

 1つめはバラツキのあるテストケースを作成してしまう問題。いきなりテストケースの作成を開始すると、テスト設計の担当者ごとに記載粒度がばらつく。テスト実行の担当者が混乱するし、不具合摘出が不十分なままテストが終わってしまう原因にもなりかねない。

 2つめはテストケースを再利用しにくい問題。資料が不十分だと、過去案件のテスト設計の担当者に聞かないと「テストケースとテスト対象機能のひも付け」「テスト条件」「テスト観点」が分かりにくい。これではテストケースの再利用が進まない。

設計者ごとにバラバラのテストケース
設計方針をまとめた文書を作成

 設計者ごとに異なるテストケースを作成していて、記載粒度が異なっていたり、テスト対象機能やテスト条件に抜け漏れがあったりする―。システム開発現場でよくある困った光景だ。例えば、Webシステムの結合テスト工程において、チームリーダーのAさん、メンバーのBさん、Cさんの3人でテスト設計をしたとする。“駄目なテスト”になっている現場では、表1のようなテストケースが作成される。

表1●設計者ごとにばらつきがあるテストケース
[画像のクリックで拡大表示]

 この3つのテストケースは、同じフォーマットを使用しているのに各項目の記述内容が異なっている。テストケースの「分類1」でAさんは「登録ボタン」、Bさんは「入力項目」と異なる画面のパーツを指している。Cさんは「データ登録」と操作内容を示している。分類2や分類3も同様で、3人でバラバラの言葉を書いている。しかし、読んでみると、どれも入力フォームに金額の値を入力して、登録ボタンを押した場合の挙動を確認させようとしている。表記のばらつきはテスト実行者を混乱させる恐れがある。

 さらに、期待結果(テストケースの「期待値」)の記載粒度が異なる。Aさんはエラーチェック処理ごとに、エラーメッセージの出力が設計通りに実装されているかどうかを確認しようとしている。Bさんは、エラーチェック処理の入力データの境界値(振る舞いが変わる境目)を網羅しようとしている。Cさんは期待値を「正常に処理されること」としている。エラーチェック処理の確認をしているのか、データベースへの登録の確認をしているのか、Cさんのテストケースでは分からない。

 これは、テストで検証しようとしている要素やイベントである「テスト条件」が異なる、ということだ。テストケースごとにテスト条件が異なるというのは、テスト範囲やテスト条件の網羅ができていないのと同義で、不具合摘出が不十分なままテストが終わってしまう恐れがある。

方針がないからテストケースがばらつく

 テストケースにばらつきが生じる理由は「テストケースをどのように作成すべきか」を検討していないからだ。テストケースの作成前に実施すべきことだが、曖昧なまま進んでしまう現場が多い。実は前出のテストケースは筆者が遭遇した経験に基づく。テスト計画書の作成はしていたが、プロジェクト管理に関する記述が中心で、どのようなテストケースを作成するのかの判断基準の記載はなかった(図1左)。また、プロジェクト内の役割として、テストケースの作成方針を誰がいつ検討すべきかも決まっていなかった。

図1●テストケースの記述ばらつきは「テスト設計方針書」で防止
テストケースはテスト設計書内に記載されている
[画像のクリックで拡大表示]

 これでは、テストで確認すべき事項をそれぞれのテスト設計者で判断しなければならなくなる。結果、冒頭のようなばらつきのあるテストケースが作成され、レビューで大量の問題が見つかる。だいたいの場合、問題の深刻さに気付くのはこの段階に至ってからだ。

 こうした問題を解決するには、テスト設計の方針をまとめた「テスト設計方針書」(現場によってはテスト設計仕様書と呼ぶ)を作成するとよい(図1右)。テスト計画書に従ったテストケースの作成に必要なアプローチを記述する。このドキュメントがあると、テスト設計者はそのテストの中で自分がどのようなテスト設計を行えばよいのかを容易に把握できる。テストチームのリーダーはテストケースの作成に入る前にチーム内で認識の共有ができる。作成担当はテストチームのリーダーが適任だ。

この先は有料会員の登録が必要です。「日経SYSTEMS」定期購読者もログインしてお読みいただけます。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら