連載
» 2017年02月22日 11時00分 公開

山浦恒央の“くみこみ”な話(92):タダでソフト開発の生産性と品質を上げる方法(2):フリーの組合せテスト自動生成ツール「PictMaster」 (2/4)

[山浦恒央 東海大学 大学院 組込み技術研究科 非常勤講師(工学博士),MONOist]

3.1 因子と水準

 組合せテストの設計の前に、「因子」と「水準」について説明します。「因子」はパラメータに相当し、「水準」は、因子の設定値です。表1に扇風機の例を示します。

因子 水準
入・切 運転 停止
風量
タイマー 30分 1時間 2時間
首振り 有り 無し
表1 扇風機の因子と水準

 表1の1列目が因子で、2列目以降が水準です。因子(対象の機能)は「風量」「タイマー」「首振り」などのパラメータで、水準は、因子の設定値です。

3.2 組合せテストの設計

 効率の良い組み合わせテストを設計する方法として、「直交表」と「オールペア法」があります。

3.2.1 直交表

 直交表とは、対象の因子と水準の全ての組み合わせが同じ回数ずつ現れる性質を持つ表です。例えば、3つの因子があり、おのおのの水準が0と1の場合を考えます。実際に、直交表の形で表すと、表2となります。

因子1 因子2 因子3
その1 0 0 0
その2 0 1 1
その3 1 0 1
その4 1 1 0
表2 直交表の例

 表2に直行表の例を示しました。表に因子と水準の全ての組み合わせが同じ回数現れたことが分かるでしょうか。表3に各2列を抜き出した3通りの表を示します。

表3 表3 各2列の表

 表3は、表2で示した直行表からそれぞれ2列分抜き出した表です。左の表から確認すると、以下のようになります。

  • 左の表  :[0,0]、[0,1]、[1,0]、[1,1]
  • 真ん中の表:[0,0]、[0,1]、[1,1]、[1,0]
  • 右の表  :[0,0]、[1,1]、[0,1]、[1,0]

 現れる順番は異なりますが、因子と水準の全ての組み合わせが同じ回数分現れました。

3.2.2 オールペア法

 オールペア法は、2因子間の組み合わせを最小限のテスト項目数でテストする方法です。直交表では、因子と水準の全ての組み合わせが同数回現れる特徴がありました。オールペア法では、その制約がありません。任意の2つの因子の組み合わせが、1つ以上あればよいので、直行表より少ないテスト項目でテストが実施できます*3)

*3)テスト項目が少なくなった分、もちろん、テストの漏れは増えます。一種の手抜きですが、どのように手抜きしているかを理解した上で、手を抜いているため、「工学的な手抜き」と言えます。どのように手を抜いているかや、その手抜きでどんなリスクがあるかを理解しないでサボるのは、「正真正銘の手抜き」です。エンジニアたるもの、「工学的な裏付けのある手抜き」をしたいものです。

Copyright © ITmedia, Inc. All Rights Reserved.