ソフトウェアの品質を学びまくる2.0

ソフトウェアの品質、テストなどについて学んだことを記録するブログです。

境界値分析を行える対象とはどんなものなのか

Boundary

 同値分割と境界値分析は、セットで学ぶことが多い技法です。でも、どんな同値クラスにも境界値があるわけではありません。
 たとえば、世界各国を同値分割することを考えましょう。
 日本を「アジア」、エジプトを「アフリカ」、のように「地域」という切り口で分けていく場合は(「地域」をどうMECEに分割するかという問題はあるにせよ)、各クラスに境界はないでしょう。

 では、どういったケースが境界値分析の対象になるのでしょうか。
 パッとイメージするのは、「分割の対象になる各値が、一本の線の上に乗っている」というものです。数字が一番わかりやすくて、数直線上に乗っています。また、スポーツ大会のメダルは「金」「銀」「銅」と数字ではありませんが、一本の線の上に並べることができるでしょう。

 ちょっとそれっぽく書くと、

  1. 取り得る任意の2つの値aとbを取り出したとき、何らかの基準に基づいて、a>b、a=b、a<b のいずれかであることが一意に決まること
  2. a>b かつ b>c のとき、a>cであること。*1

みたいな感じになるでしょうか。
 世界各国の同値分割でも、「国名を英語表記にした1文字目(の文字コード)」、「国の首都の経度」*2のような切り口であれば、境界値分析を適応しうるでしょう。

 統計学において、変数の性質を分類する方法として、4つの尺度があります。統計Webというサイトから表を引用します。

分類 尺度 意味
質的データ 名義尺度 他と区別し分類するためのもの 男女、血液型、郵便番号
順序尺度 順序に意味はあるが間隔には意味がないもの 1位/2位/3位・・・、1.好き/2.ふつう/3.嫌い
量的データ 間隔尺度 目盛が等間隔になっているもの 温度、知能指数
比例尺度 原点があり、感覚や比率に意味があるもの 身長、速度

 この4つの尺度のうち、名義尺度以外は上述の条件に当てはまりそうです。
 単純には、「取り得る値同士に順番性がないものには、境界値分析は適さない」といった方が早いかもしれません。

*1:ループの回避。ただこの要件が必要か確信がありません。

*2:『沈黙の艦隊』で、海江田が各国を経度順に読み上げていく名シーンがある。ただし経度の場合どこかを基準にしないとループが発生してしまう。

沈黙の艦隊(1) (モーニングコミックス)

沈黙の艦隊(1) (モーニングコミックス)

  • 作者:かわぐちかいじ
  • 出版社/メーカー: 講談社
  • 発売日: 2012/09/28
  • メディア: Kindle版