問題13
問題 #13
Section titled “問題 #13”エスプレッソ抽出の要件は以下のとおりです。
- 圧力(P)は理想的な抽出のために 9 bar 以上であること
- 温度(T)は抽出不足や焦げを防ぐために 90°C 以上かつ 96°C 以下であること
ソフトウェアコントローラーは、以下のルールで湯水バルブを制御します。
バルブを開く:P≥9 AND T≥90 AND T≤96バルブを閉じる:P<9 OR T<90 OR T>96測定精度:
- 気圧計:0.1 bar 精度
- 温度計:0.5°C 精度
現在のテストスイートで使用している入力値(P, T)は以下のとおりです。
| 識別子 | P(bar) | T(°C) |
|---|---|---|
| A | 9 | 90 |
| B | 9 | 96 |
| C | 8.9 | 93 |
| D | 10 | 96.5 |
| E | 10 | 93 |
| F | 8 | 89 |
| G | 10 | 98 |
100% 信頼性ドメインカバレッジ(Reliable Domain Coverage) を達成するために不足している入力はどれか?
- a) (8, 93)
- b) (9.7, 90.5)
- c) (10.9, 89.5)
- d) (10, 90)
信頼性ドメインカバレッジとは
Section titled “信頼性ドメインカバレッジとは”信頼性ドメインカバレッジでは、各境界に対して以下の2種類のテスト点が必要です。
| 点の種類 | 位置 | 目的 |
|---|---|---|
| ON点 | 境界上(ドメイン内の端) | 境界値が正しく「受け入れ」られるかを確認 |
| OFF点 | 境界から測定精度1単位だけ外側 | 境界値の直外が正しく「除外」されるかを確認 |
精度がある場合、OFF点は「測定可能な最小単位だけ境界の外側」に置きます。
- P 境界の OFF点:P = 9 − 0.1 = 8.9
- T=90 境界の OFF点:T = 90 − 0.5 = 89.5
- T=96 境界の OFF点:T = 96 + 0.5 = 96.5
ドメインの3境界と必要なテスト点
Section titled “ドメインの3境界と必要なテスト点”このドメインには3本の境界があります。
T↑98 | ・G96 |──A──B──── ← 境界3:T = 96(T ≤ 96)93 | ・E ・90 |──A──── ← 境界2:T = 90(T ≥ 90)89 | ・F +──────── → P 8 9 10 ↑ 境界1:P = 9(P ≥ 9)各境界のカバレッジ確認
Section titled “各境界のカバレッジ確認”境界1:P = 9(P ≥ 9)
Section titled “境界1:P = 9(P ≥ 9)”| 点の種類 | 必要な値 | テスト点 | 状況 |
|---|---|---|---|
| ON点 | P = 9, T ∈ [90, 96] | A=(9, 90)、B=(9, 96) | ✓ |
| OFF点 | P = 8.9, T ∈ [90, 96] | C=(8.9, 93) | ✓ |
境界2:T = 90(T ≥ 90)
Section titled “境界2:T = 90(T ≥ 90)”| 点の種類 | 必要な値 | テスト点 | 状況 |
|---|---|---|---|
| ON点 | T = 90, P ≥ 9 | A=(9, 90) | ✓ |
| OFF点 | T = 89.5, P ≥ 9 | なし | ✗ 欠如 |
境界3:T = 96(T ≤ 96)
Section titled “境界3:T = 96(T ≤ 96)”| 点の種類 | 必要な値 | テスト点 | 状況 |
|---|---|---|---|
| ON点 | T = 96, P ≥ 9 | B=(9, 96) | ✓ |
| OFF点 | T = 96.5, P ≥ 9 | D=(10, 96.5) | ✓ |
T = 90 境界の OFF点(T = 89.5, P ≥ 9)が欠如しています。
F=(8, 89) は T=89 であり T=89.5 ではなく、さらに P=8 も 9 未満であるため、精度に基づいた T=90 境界の OFF点になっていません。
各選択肢の分析
Section titled “各選択肢の分析”a) (8, 93) ✗
Section titled “a) (8, 93) ✗”P=8(P=9-0.1 の精度単位外ではなく大きく外れている)。P=9 の境界 OFF点には C=(8.9, 93) が既に存在しています。不足しているのは T=90 境界の OFF点であり、この点はそれに該当しません。
b) (9.7, 90.5) ✗
Section titled “b) (9.7, 90.5) ✗”P=9.7(境界内)、T=90.5(境界内)。どの境界上にもなく、ON点でも OFF点でもありません。
c) (10.9, 89.5) ✓
Section titled “c) (10.9, 89.5) ✓”T = 89.5 = 90 − 0.5(T の測定精度 1 単位だけ T=90 境界の外側)✓
P = 10.9 ≥ 9(P の条件を満たす)✓
T = 90 境界の OFF点として機能します。このテスト点でコントローラーが誤ってバルブを開いた場合、T=90 の境界条件の実装誤り(> と ≥ の混同など)を検出できます。
d) (10, 90) ✗
Section titled “d) (10, 90) ✗”T=90 は境界の ON点ですが、T=90 の ON点には A=(9, 90) が既に存在しています。不足しているのは ON点ではなく OFF点(T=89.5) です。
c) (10.9, 89.5)
| 境界 | ON点 | OFF点 |
|---|---|---|
| P = 9 | A=(9, 90)、B=(9, 96) | C=(8.9, 93) |
| T = 90 | A=(9, 90) | (10.9, 89.5) ← 追加が必要 |
| T = 96 | B=(9, 96) | D=(10, 96.5) |
測定精度に基づく OFF点の計算
Section titled “測定精度に基づく OFF点の計算”信頼性ドメインカバレッジでは、OFF点は「測定可能な最小単位だけ外側」に置きます。F=(8, 89) のように境界から大きく離れた点は OFF点として機能しません。精度が与えられている場合、OFF点の計算は必ず精度を基準にします。
複数条件ドメインの境界チェックリスト
Section titled “複数条件ドメインの境界チェックリスト”ドメインに複数の境界がある場合、各境界の ON点と OFF点を漏れなく確認することが重要です。今回のように「3境界」がある場合、最低でも6点(各境界 ON/OFF)が必要です。既存テスト点を境界ごとに整理することで欠如を見つけやすくなります。
既存テスト点の誤認に注意
Section titled “既存テスト点の誤認に注意”F=(8, 89) は T=90 の外側にある点ですが、精度 0.5°C に基づいた OFF点(T=89.5)ではありません。また P=8 も境界から大きく外れています。「値が境界の外にある」と「精度に基づいた OFF点である」は異なります。