組み合わせテストを開発現場で使いこなすには?――考え方のヒントと5つのコツ現場で使うためのオールペア法、直交表の基本(3)(2/3 ページ)

» 2015年04月28日 05時00分 公開
[五味弘OKI(沖電気工業)]

コツその2:禁則組み合わせのヌケモレ、重なりを分かりやすくするコツ

 第二回でも言及したように「禁則組み合わせ」が多いと、禁則のヌケモレや重なりが生じやすくなり、その結果としてテスト不足または過多になってしまいます。もし、組み合わせテストが禁則だらけになった場合は、テスト対象に対する因子や水準の発見方法がおかしかったか、そもそも対象が組み合わせテストに不向きだったことを疑うべきでしょう。

禁則組み合わせを切り分けてチェックしやすくする

 禁則組み合わせ自体は、本稿冒頭で紹介した「因子と水準の調整」で減らすことができます。ここでは別の考え方として、「禁則そのものを切り分けてヌケモレや重なりが発生しにくくする方法」を見ていきましょう。

 第二回で例に使ったプリンターを例に考えてみます。

 このプリンターでは、「A4」「A5」「A6」「A7」サイズの用紙のみに印刷できますが、「両面印刷」は「A4」と「A5」のみが可能で、「四辺フチなし印刷」は「A4」と「A7」にのみ可能です。また、「両面印刷」と「四辺フチなし印刷」は同時に実行できます。

 このとき、禁則となる組み合わせは表5のように、「A5-片面-フチなし」から「A5-両面-フチなし」「A6-片面-フチなし」「A6-両面-フチあり」「A6-両面-フチなし」「A7-両面-フチあり」「A7-両面-フチなし」の7個です。

表5 プリンターの禁則組み合わせ

 この禁則組み合わせを、因子と水準による調整ではなく、以下のように水準で調整する方法があります。

 例えば、禁則が多いA6を別にテストすることで、それを除いた禁則組み合わせは表6のように、禁則は「A5-片面-フチなし」「A5-両面-フチなし」「A7-両面-フチあり」「A7-両面-フチなし」の4個の組み合わせにでき、7個からは減少します。

表6 プリンターの禁則組み合わせ(禁則が多いA6用紙を削除)

 一度に扱う数が減少することで、禁則の確認がしやすくなります。もちろん、これは禁則を分割しただけで、禁則組み合わせの数そのものを減らすわけではありません。

 最初に紹介した「因子と水準の調整」で注意した通り、禁則を「減少させる」のは、テストそのものに悪影響を与える場合もありますから、注意してください。

 このコツは、禁則を見やすくする目的のものであって、不自然なテストケースを生成するためのものではありません。

コツその3:因子や水準の優先度を調整するときのコツ

 重要な因子または水準に対するテストを重点的に実施するために、それに対応するテストケースの数を多く生成したいことがあります。オールペア法のツールでは、こうした目的のために、因子や水準に優先度を付けられるものもあります。第二回で紹介したテストケース生成ツール「PICT」も優先度が付けられます。

 ただし、優先度は水準の選択に幅があるときに調整するものなので、優先度が高い水準を使ったテストケースが劇的に増えるわけではありません。

重要な因子・水準を分割して数を増やすテクニック

 そこで、因子や水準を劇的に多くテストする方法として、多くテストをしたい因子や水準を分割して、個数を増やすというコツがあります。例えば、表7のように機能要求からすれば年齢因子は「一般」の水準でよいところを、表8のように「一般(20歳代)」と「一般(30歳代以上)」のように水準を分割すると、テストケースは少なくとも1個は増えます。

表7 最初の水準
表8 重要な項目を増やした水準

 この方法は、テストケースを増やすことができますが、やり方によっては水準が実装と無関係になってしまう危険性があります。また、テストケースは増加しますので、使い過ぎには注意してください。また重点的にテストをしたいものを、別のデシジョンテーブルを作成してテストをするという方法もよく行われています。

 逆に「優先度を落とすために、因子や水準を合体させる」というコツもあるのですが、これには問題があります。この方法を採用する場合、「テストに対して同値類になっているか」を慎重に判断し、適用を判断する必要があるからです。原則としては、優先度を落とすための合体はしない方がいいでしょう。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。