見出し画像

14. FL表


アドカレ14日目は「FL表」。

FL表は、上図の有則のテストと無則のテストが合流しているところにある。両方ともテストデータをつくる前にFL表で因子・水準の検討をした方が上手くいく。

四角だから成果物(つくるもの、残すもの)を表している。

ソフトウェアテストをつくるときにテスト条件やテストケースをつくると言うが、どちらも文章なので、書くのが面倒だなあと私は思う。だから、その代わりにFL表をつくる。

ソフトウェアは結局のところ入力に対する反応の繰り返しでしかない(タイミングもあるけど、その狙い方は別の機会に書きたい)ので、入力を網羅すれば良い。ただし、入力といってもキーボードやマウスによるものばかりではない。

上記はFRAMダイヤグラムの機能のモデルである。FRAMはイチオシ技術なのでこちらの本を読んでほしいけれども、まずは上図を見て、入力には5種類もあるんだなあとぼんやり思ってもらえれば当面は十分である。ただ、FRAMでいう「入力」は[OK]ボタンのようなソフトウェアをキックするイベントのことである。
以下の画面で言えば、緑色のスイッチは入力ではなく、「前提条件」なので、そこは注意が必要。

呼び方の分類の違いだけ。

それで、FL表について詳しくは『詳説FL表』のPDFをリンク先からダウンロードして読んでほしい。

ここでは下表のように様々な呼び方があるということを認識していただければと思う。

例えば「F」を因子と呼ぶ人と、パラメータと呼ぶ人がいるということ。
他を圧倒する良い呼び名が決まっていないということ。

※ 因子と値というように別の行のものを組み合わせてはいけない。

さて、ここで、水準とクラスが同じってことは、同じ因子の水準は排他的で同値クラスの代表値で良いんだなとか、クラシフィケーションツリーメソッドで因子と水準を洗い出そうかとか、開発者には変数とその値で伝えたら良いかなとか思うと良い。

なお、因子は出来るだけ多く挙げて(前にも書いたけど)1水準のみを持つ因子でもいいからテストに入れること。
水準は、同値分割をすることで最小限の数にすること。水準が多い因子の場合は、とりあえず最小値と最大値といった“バグが見つかりそうな2水準”だけにして、残りの水準は単機能テストで確認する。これを1因子実験(1つの因子だけをテストする意味。他の因子はデフォルトにしておく。)と呼ぶ。

要は、テストの目的が「組み合わせるテスト」なのか、「水準の単機能テスト」なのかを分けて考えるということ。前者は水準数を減らして組み合わせテストを実施し、後者は水準を減らさずに1因子実験を行う。

※ 水準を減らすといってもソフトウェアの場合は2水準では上手くいかないので私は最大16水準まではヨシとしていた。16×16=256なので256回もテストが必要だけど。たまに。

なお、FL表の1列目には必ず各因子のデフォルト値を置くこと。組み合わせテストの時に役にたつ(直交表を使う場合には1番目のテストがデフォルトのテストとなる)から。また、真剣に考えたFL表は、テストの狙い目が書いてあるため、別のプロジェクトでも役にたつことが多い。

この記事が気に入ったらサポートをしてみませんか?