11. 有則のテスト
アドカレ11日目は「有則のテスト」。
ラルフチャートを描くことで、テスト対象の仕組みを理解する。その上でラルフチャートの特徴によって3つのタイプのテスト技法を適用する。
3つのタイプのテスト技法とは上から4行目までだ。なお、1行目の「少ない」は、HAYST法のテスト対象外(開発者本人による単機能テストでHAYST法の前に実施する)である。
ソフトウェアテスト技法には様々なものがある。
上記は「テスト技法ポジショニングマップ」である。HAYST法では上図の状態遷移テスト以下のテスト技法を使う。
逆にいうと例えば「並行処理」を網羅するテストは対象外である。そこはとても優秀な開発者が1人で作る以外ないと考えている。そうでない開発者がつくった並行処理プログラムに潜むバグをテストで取り切る戦略は効率が悪すぎるからである。
さて、ラルフチャートの話に戻る。有則のテストは、表の2行目にあたる。
ラルフチャートの入力のところにある複数の因子の間に論理的関係(有則)があり、出力には「正常系と異常系」を取る場合には、「原因結果グラフ」、「CFD法」、「DT(デシジョンテーブルテスト)」のいずれかを用いてテスト設計を行うということである。
以下は、表見出しと1-2行目を切り出したものである。
それぞれのテスト技法については過去のnoteをリンクした。
「原因結果グラフ」、「CFD法」、「DT(デシジョンテーブルテスト)」
上記3つのテスト技法のうち、どれを使うかは状況による。小さな目的機能(ユーザーストーリー)であればDTを直接つくるほうが早い。
ところが、DTの場合は、因子が5個で2の5乗の32列のDTになるので私には限界である(因子が6個で64列はかなり扱いにくい)。そこで私は、「因子が5個以上なら原因結果グラフ」を使っている。
内部の処理順序が分かっているなら原因結果グラフではなく、CFD法でも良いがCFD法の場合はCFDからDTを作成するときに作成者の意思が入る点に注意が必要である。