はじめに
GIHOZを用いて組み合わせテストを実践していきます.
今回でソフトウェアテスト関連の記事は一区切りをつけます.
組み合わせテスト
組み合わせテストは,複数の条件を組み合わせてソフトウェアの動作を
確認するテスト技法です.
単一の条件だけでは発生しないが,複数の条件が組み合わさった際に発生する欠陥を
見つけるために行います.
組み合わせテストでは2因子間網羅という考え方に基づくことで考えるべき組み合わせ数を減らします.
一般的にソフトウェアのテストにおいて**多くの欠陥は2因子間までで見つかる」という定説があるので,このような考え方をします.
因子水準表
因子とは,「テスト対象の機能名や設定項目名など」を指します.
水準とは,「因子が持つ選択肢や設定値など」を指します.
GIHOZでは因子は「パラメータ」,水準は「値」に対応した表を作ることになります.
組み合わせテストの例
以下のラベル印刷機の仕様に対して,組み合わせテストをする場合を考える.
ラベル印刷機の仕様
概要:ラベル印刷機で印字される文字の書式を設定する
- 縦書き・横書き
- ラベルに印刷する文字の方向を設定
- 縦書き、横書きの設定が可能
- デフォルト設定は縦書き
- 行表示
- ラベルに印刷する行数を設定
- 1行,2行,3行の設定が可能
- デフォルト設定は1行
- 文字サイズ
- ラベルに印刷する文字のサイズを設定する
- 大,中,小,極小の設定が可能
- デフォルト設定は中
- フォント
- ラベルに印刷するフォントを設定
- ゴシック,明朝の設定が可能
- デフォルト設定はゴシック
- 文字飾り
- ラベルに印刷される文字に対する,装飾を設定
- なし,太字,斜体,下線,網掛けの設定が可能
- デフォルト設定はなし
因子水準表の準備
上記の仕様を基に因子と水準を考えてみます.
すると以下のような因子水準表が作れます.
因子水準表
テストケースの生成
上のような因子水準表を基にテストケースを作成された結果が以下となります.
禁則を考える
ここで,ラベル印刷機で以下のような仕様が記述されていたとします.
- 行表示を3行としたとき,文字サイズを大に設定することはできない.
このように,禁止になっている組み合わせのことを禁則と呼びます.
この場合,以下のように制約を追加することでその組み合わせを除外することができます.
制約の追加
値の前に'#'を追加することで,それを除外という意味になります.
逆に,'#'がなければ,それになるという意味になります.
(行表示が3行の時,文字サイズは大になる)
制約を追加した後にテストケースを生成してみると,確かに除外されていることが確認できました.
制約追加後のテストケース
最後に
組み合わせテストをGIHOZで実践してみましたが,
考えるべきテストケースを非常に簡単に生成することができました.
これまで,GIHOZを用いて代表的なソフトウェアテスト(境界値分析・同値分析・デシジョンテーブル・状態遷移テスト・ペアワイズ法)を実践するとともに,ツールの使い方を学びました.
きっかけは,書籍でのインプットだけでは中々頭に定着しないということで,ツールを用いてソフトウェアテスト関連の知識のアウトプットをしようということで始めたことでしたが,
おかげで,いつもよりも必要な知識が記憶に留まっている気がします.
(そんな気がするだけかもしれませんが)
次回以降もインプット→アウトプットの過程は特に大事にしていきたいです.