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

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

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

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版