情報科学 › ソフトウェア設計とテスト › テストの理論

境界値テストが検出を保証する誤りのモデル

定理 4.2(「テストの理論」§4) ・ ✓公理まで証明済み

m≥1m \ge 1 とし、整数 b1<b2<⋯<bmb_1 \lt b_2 \lt \cdots \lt b_m と、出力 y0,y1,…,ym∈Yy_0, y_1, \ldots, y_m \in Y で yj−1≠yjy_{j-1} \ne y_j(j=1,…,mj = 1, \ldots, m)を満たすものをとる。b0=−∞b_0 = -\infty、bm+1=+∞b_{m+1} = +\infty として、仕様の関数 g:Z→Yg : \mathbb{Z} \to Y を

g(x)=yj(bj≤x<bj+1)g(x) = y_j \qquad (b_j \le x \lt b_{j+1})

で定める。関数 p:Z→Yp : \mathbb{Z} \to Y について、p(x−1)≠p(x)p(x - 1) \ne p(x) となる整数 xx を pp の切り替わり点という。テスト集合を T={bj−1, bj∣j=1,…,m}T = \{b_j - 1,\ b_j \mid j = 1, \ldots, m\} とする。

  1. p:Z→Yp : \mathbb{Z} \to Y の切り替わり点が mm 個以下で、すべての x∈Tx \in T について p(x)=g(x)p(x) = g(x) ならば、p=gp = g である。
  2. 整数 c1,…,cmc_1, \ldots, c_m と出力 z0,…,zmz_0, \ldots, z_m による「x<c1x \lt c_1 なら z0z_0、そうでなく x<c2x \lt c_2 なら z1z_1、……、どれでもなければ zmz_m」という形の実装は、cjc_j と zjz_j が何であっても切り替わり点が mm 個以下である。したがって、境界の値のずれ(cj≠bjc_j \ne b_j)、不等号の等号の有無の誤り(x<bjx \lt b_j を x≤bjx \le b_j と書く。これは cj=bj+1c_j = b_j + 1 にあたる)、出力の取り違え(zj≠yjz_j \ne y_j)は、いくつ重なっていても、TT によってすべて検出される。
  3. 切り替わり点が m+1m + 1 個以上ある実装には、TT に合格して gg と異なるものがある。

本文で読む(証明と前後の説明)→

閉包の状態

✓ 公理まで証明済み

証明が使う定理を 前提 としてたどると、Rikai の中の証明だけで定義・公理(物理では基本仮定)までつながっています。

印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。

前提をたどる 証明が使う定理・定義

証明は Rikai の他の定理を参照していません(定義と論理だけで示されています)。

これを使っている定理

証明で明示的に参照している定理は、まだありません。

関連するノック 2 問