組合せテスト技法について調べてみた
こんにちは。
koma です。
Qbookというソフトウェア品質に関するポータルサイトがあります。
そこから組合わせテストに関する記事があり、学ぶところが多かったので紹介します。
【引用元】
組合せテスト技法とは?システム開発で使いこなす4つのポイント
組合せテスト技法とは?
組合せテストとは『複数の条件を組合せてシステムの動作を確認するテスト技法』で「単一の条件では発生しないけれど、複数の条件が組み合わさった際に発生する欠陥」を見つけるためのテスト技法です。
この組合せテストの技法は、組合せ条件が増えてテスト実行に支障が生じる場合に活用する手法で、洗い出した因子・水準をそのまま用いてテストパターンを作成することになります。
※オールペア法(All-Pair法)や直交表を適用
テストパターンの削減や効率化に活用するテスト技法ですが、効率性を求めて安易にテスト技法に頼ることは望ましくない、と記載がありました。
使いこなすポイント
記事には「システム開発で組合せテストを使いこなす4つのポイント」の記載がありましたので、まとめてみます。
因子と水準の設定について
必要なテストパターンを網羅する因子と水準を設定するのが最初のポイントです。
因子と水準を減らせば組合せパターンを減らせるため、実装内容に合わせ、必要なテストパターンを網羅する因子と水準を採用することが重要とのこと。
禁則組合せ
2つ目のポイントは、禁則組合せの抜け漏れや重なりに着目すること。「禁則組合せ」とは、「因子水準を洗い出してそれぞれを組合せていったときに出てくる、システムの仕様や論理上実現し得ない組合せ」のことです。
「禁則組合せ」が多い状況は、因子水準の設定の仕方が適切でない場合によく見られ、条件のヌケモレや重複が生じている可能性が高く、テスト不足・過多が起こりやすくなります。
原因としては、システムの構造を理解しないまま、テストすべき区分値や条件を因子・水準に適切に盛り込めていないなどが考えられます。
対応方法としては、テストパターンを網羅した上で起こりえない条件を省く、もしくは起こりえないパターンを多く含む因子を除いた上で組み合わせを行うなど。
優先度の調整
3つ目のポイントは、因子や水準の優先度を調整すること。
上記のようにテストパターンが多いのではなく、逆にテストパターンが少なすぎる時には水準を分割してパターン数を増やす方法があります。
どちらも、因子や水準の採用基準となる優先度を設定し、工数に見合うテストボリュームになるように目的や根拠を持ってパターン数を調節することになります。
優先度の判断基準としては、「不具合があった場合にリスクが高いものかどうか」「ユーザー利用頻度が高いかどうか」「過去の傾向として不具合が発生しやすい組合せであるか」など。
「機能要求」から洗い出す
最後のポイントは「機能要求」から必要な因子・水準を抽出すること。
上記の通り、因子・水準の選び方がテスト設計の後工程に大きく影響する作業となりますが、経験や知識がないテスト担当者にとっては難しいこともあります。
そういったときに、より適切な因子・水準を見つけるためには、機能要件(「クライアントから求められる『機能』)や画面UI(操作画面や操作方法)を参考にする方法も有効になります。
組み合わせテストは実際の試験実施でもよく出てきますが、あらためて調べてみて納得する部分・知らなった部分がが多く勉強になりました。
おしまい。
ここまで読んでいただきありがとうございました。