テスト対象の性質と適用するテスト技法 | 組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題

テスト対象の性質と適用するテスト技法

テスト対象の仕様を分析し、どのテスト技法を適用するかを決めることはとても重要なことです。

ブラックボックステストの場合についてお話します。

私のチームでは、以下のテスト技法をテスト対象に合わせて使い分けています。

(1) 要因組み合わせテスト
(2) 要因列挙テスト
(3) 要因限定テスト
(4) デシジョンテーブルテスト
(5) 状態遷移表テスト
(6) 探索的テスト

要因列挙テストとは、要因の組み合わせを行なわず、各要因の種別を列挙します。したがって基本的にテストケース数は最も種別の数が多い要因の種別の数と同じになります。

要因限定テストとは、各要因のすべての種別ではなく、限定した種別(1つの場合もあり)に絞って行なうテストです。

例えば、ビジネスホンシステムでは。代表的な要因には、回線種別と端末種別があります。それぞれの要因の種別には、回線種別ではアナログ回線、ISDN回 線、IP回線、NGN回線など、端末種別ではKT、IP-KT、DC-PS、DC-KT、SLTなどがあります。この2つの要因だけで、それぞれ10種類 近くのあります。これをそのまま手を加えずに、要因組み合わせテストでテストケースを作成すると必ず10×10=100以上のテストケースとなってしまいま す。このあたりは、PICTのエイリアス機能を使ってテストケース数を減らすことになります。

おおざっぱにいって、各テスト技法の適用割合をテスト項目数で表すと、
要因組み合わせテスト: 20%
要因列挙テスト: 50%
要因限定テスト:10%
デシジョンテーブルテスト:10%
状態遷移テスト:10%
探索的テスト:?%

くらいです。同値分割や境界値分析はどのテスト技法でも同時に使っています。ただし、同値分割では不十分で、全数のテストが必要なテスト対象も一部ですが存在します。

要因組み合わせテストは、大まかに言って正常系の基本ルートなど特に重要な部分の確認に適用します。
要因列挙テストは、要因組み合わせテストではカバーされない部分の確認に適用します。
要因限定テストは、要因組み合わせテストと要因列挙テストでカバーされている部分で、限定した要因の種別のみで確認すればよい場合に適用します。
デシジョンテーブルテストは、複雑な論理を含むテスト対象や優先順位を含むテスト対象に適用します。
状態遷移表テストは、電話帳登録など、ユーザから見て多くの状態の遷移を伴うテスト対象に適用します。
探索的テストは、既存のテスト仕様書で障害が見つからなくなったときに行なう場合があります。

要因組み合わせテストが適用されるテスト項目の割合は、20%程度しかありません。思ったより少ないと思われた方がいるかもしれません。その理由には、テストケース数とテスト実施時間が関係します。要因組み合わせテストは、他のテスト技法より、テストケース数が多くなる傾向があります。また生成されたテストケースは、各要因の種別の組み合わせとなるため、そのテスト実施には実施条件を満たすための前準備により時間がかる傾向があります。仮に要因組み合わせテストをテスト項目全体の50%に適用したとしたら、全体のテストケース数は倍増するでしょう。さらに試験実施のための前準備に多くの工数が必要となります。

ということで、意外と思われるかもしれませんが要因組み合わせテストはメインのテスト技法とはしていません。ですが組み合わせテストは欠かせないテストです。その意味でオールペア法や直交表は重要なテスト技法といえます。