見出し画像

12. 無則のテスト


アドカレ12日目は「無則のテスト」。

無則のテストは、表の3行目にあたる。

ラルフチャートの入力のところにある複数の因子の間に論理的関係(有則)が無いことを無則と呼ぶ。無則のテストの出力は正常系に限定する。

例外として異常系を取り扱う禁則のテストがあるが、禁則は有則の一種であるから準正常系のテストである。

論理的関係がないというのは、キャッチイメージのように因子がそっぽ向いているものである。
例えば、テレビのチャンネルと音量。チャンネルを変えても音量は同じだし、音量を変えてもチャンネルは変わらない。お互い影響を与えない。

※ それゆえに無則の因子は単機能テストで済む。ところが、無則だと思っていた因子間に特別な関係があることがある。それが、“組み合わせバグ”である。

無則の因子の具体例を示す。

iPhoneのキーボード設定画面

上記の画面のテストをしようとしたときに、それぞれの単機能のテスト(例えば“スマート句読点”スイッチのテスト)を実施する。次に複数の設定項目の組み合わせテストを実施するだろう。それぞれの因子は独立しているのだから、組み合わせても結果は変わらないけれども、バグがあれば結果が変わる。

話は戻り、上表の続きを読んでいく。表を再掲する。

状態変数は“Read中心”とある。状態変数を書き換えてしまうと、書き換えたことによる欠陥を見つける必要がある。
そのようなテストは、状態遷移テストで考える。

次に「ノイズ」のところに「市場環境の考慮」とある。HAYST法では、3W(When, Where, Who)のキワを組み合わせた市場環境を考える。ここについてはJaSST東北で、実行委員の方が作成した資料に詳しい。

次は「アクティブノイズ」であるが「いたずら」とある。いたずらとは「子供などがふざけてするわるさ。」のことだが、ソフトウェアテストの場合はセキュリティ的な安全を脅かす入力のこと。
また、ウェブアプリなら、使用中にウィンドウサイズを小さくして戻すとか、住所のところにコントロールコードが入った文字列をコピペしたりといった本来の用途と違うことを試されたときの振る舞いもアクティブノイズのテスト対象となる。

さて、無則のテスト設計で行うことは「本当に、ラルフチャートに列挙された全ての因子を組み合わせるべきか」の検討である。
このときに、要らないと思った因子も捨てないことがコツである。
関係が薄そうな因子はテスト対象から外さないと組合せ表が大きくなると心配する人がいる。
しかし、その因子の水準を1つにしてやれば表は1行も増えない。ただし、その水準をデフォルト値にしたのであれば因子を削除するのと変わらない。そうではなく、ヤバい水準を1つセットするのだ。

いいなと思ったら応援しよう!

この記事が参加している募集