KANTEN / TEST DESIGN GUIDE
仕様変更時のテスト観点:影響範囲を見直す5つの手順
仕様変更でどのテストを追加・修正するか。SaaSのプラン上限変更を例に、既存データ・処理中の操作・期待結果を見直す5つの手順を解説。7行のマトリクスとダウンロードできるチェックリスト付き。
先に結論
テスト観点を見直す起点は、変更した画面ではなく、変わったルールと、そのルールが適用される条件です。機能・データの状態・操作の時点を照合し、期待結果が決まらないものを確認事項として切り出してから、既存ケースを更新します。
観点表そのものから整えたい場合は、SaaS向けテスト観点表テンプレートと記入例を先に利用できます。
「変更した部分のテストは通った。でも、既存利用者だけ操作できなくなった」。このような問題を考えるとき、画面の入力項目だけを起点にすると、契約状態や処理の途中で変わる前提を整理しにくくなります。
ここでは、ケースの本数を増やす前に行うレビューを、ひとつの仕様変更で追います。テスト観点とは、本稿では「何を確かめるかを考えるための切り口」を指します。観点名を列挙するだけでなく、どの条件で、何が起きると困るのかまで具体化します。
1. 仕様の差分を「適用条件」まで書く
あるSaaSで、プランの保存上限を100件から50件に変更するとします。すでに80件を保存している利用者がいる、という条件を置きます。
保存上限:100件
保存上限:50件
数値の差は明確ですが、それだけでは期待結果を決められません。既存の80件を保持できるのか、編集も止めるのか、いつから新ルールを適用するのかは別の判断です。
- 対象:新規契約だけか、既存契約も含むか。
- 数える範囲:契約単位か、ワークスペース単位か。下書きや削除済みデータを含むか。
- 発効条件:日時、契約更新、プラン変更など、何を境に切り替わるか。
- 既存データ:上限を超えた分は保持、削除、読み取り専用など、どの扱いか。
不明な項目は、テスターやAIがもっともらしいルールで補完しません。「決まっていない」と分かる状態でレビューに持ち込みます。
2. 変更の影響を受ける状態を並べる
次に、変更を受ける対象を三つの軸で整理します。すべての組み合わせを機械的にケース化するのではなく、リスクのある組み合わせを選ぶための下準備です。
- データの状態:上限未満、上限ちょうど、旧ルールでは有効だった上限超過。
- 操作の時点:発効後に開始、発効前に開始して発効後に確定、すでに完了。
- 操作の入口と権限:画面、API、インポートなどの入口と、追加・編集を許可された役割。
存在しないAPIや使っていないバッチまで対象にする必要はありません。自分の製品にある入口だけを残します。たとえば閲覧者が追加できない仕様なら、上限の前に権限で拒否される条件も区別します。
3. 観点をマトリクスで照合する
以下は、今回の変更で確認候補にする観点です。「要確認」は不合格でも対象外でもなく、期待結果を決めるための仕様判断が残っていることを示します。
| 条件・操作 | 確かめたいリスク | 期待結果・未確定事項 | レビューの要点 |
|---|---|---|---|
| 保存済み80件を閲覧する | 上限超過を理由に既存データまで見えなくならないか | 保持・閲覧の可否を要確認 | 新規保存の制限と既存データへのアクセスを分けて決める |
| 保存済みデータを編集する | 件数を増やさない編集まで拒否しないか | 更新と追加の区別を要確認 | 保存を一律に止める実装では、編集も止まり得る |
| 保存済み49件から1件追加する | 新しい上限に達する操作の扱いが一致するか | 最大50件の仕様なら追加後50件を許可 | 「最大50件」の意味と件数計算の範囲を仕様で確定する |
| 保存済み50件から1件追加する | 入口によって上限を超えてしまわないか | 最大50件の仕様なら拒否 | 画面だけでなくAPIやインポートの扱いも照合する |
| 新ルール発効前に始めた処理が、発効後に完了する | 判定時点が変わり、結果が不定にならないか | 開始時・確定時のどちらで判定するか要確認 | 実装の現在の挙動を、合意した仕様と混同しない |
| 49件の状態で2件の保存が重なる | 個別には許可されても、合計で上限を超えないか | 最大50件の仕様なら確定後も50件以下 | 実行時には結果件数と失敗時の扱いを確認する |
| データを削除して上限内に戻る | 制限解除が遅れたり、入口ごとに違ったりしないか | 件数と操作可否の再評価条件を要確認 | 削除後の件数、反映時点、キャッシュを切り分ける |
この表は網羅表ではありません。たとえば、復元したデータを件数に含める仕様なら復元操作を追加します。件数制限ではなく容量制限なら、対象となるデータや境界の設定も変わります。自分の仕様に照らして行を足したり、理由を付けて除外したりしてください。
4. 未確定事項とテストケースを分ける
「80件を保存している利用者は、新しい50件上限でも既存データを編集できる」を、そのまま期待結果にしてしまうと、それが合意済みの仕様なのか提案なのかが分からなくなります。
先に確認事項として、質問・影響・確認先を一組で残します。
確認事項 Q-01
質問:新上限を超えた既存契約で、件数が増えない編集を許可しますか。
影響:拒否する場合は、既存利用者がデータを修正できなくなる可能性があります。許可する場合は、追加と編集の判定を分ける必要があります。
確認先:プロダクトの仕様決定者。回答期限と仕様への反映先も決めます。
回答待ちのままでも、入力条件やテストデータは準備できます。ただし期待結果が未確定のケースを「準備完了」「実行可能」と同じ扱いにしません。期限までに決まらない場合は、何が判断できないかをリリース判断者へ伝えます。
5. 期待結果の根拠を残す
ここからは、仕様決定者が「上限超過の既存契約でも閲覧と件数を増やさない編集は許可し、新規追加は拒否する」と回答した、と仮定します。これは例のために置いた判断であり、一般的な正解ではありません。
ケース TC-CHANGE-01
- 前提
- 新上限50件が適用済み。旧ルールで80件を保存した契約。編集権限のある利用者。
- 操作
- 既存データ1件の名称を変更して保存する。
- 期待結果
- 名称を更新できる。保存件数は80件のまま。新しいデータは作成されない。
- 根拠
- 仕様変更ID、対象の仕様版、Q-01への回答を関連付ける。
- 確認する証拠
- 更新内容が再読込後も保持され、保存件数が増えていないこと。画面表示だけで判断しない。
既存ケースは、維持・変更・追加・廃止候補に分けてレビューします。単純な文字列置換で「100」を「50」に変えると、旧ルールで作られたデータを扱う条件まで失うおそれがあります。
仕様とテスト条件・ケースを結び付ける考え方は、ISTQBのFoundation Levelシラバス1.4.4でも説明されています。トレーサビリティは変更の影響を判断する手掛かりになります。本稿の具体例、手順、チェックリストはKanten独自の解説です。
持ち帰れるチェックリスト
次の書式をコピーして、ひとつの仕様変更から試してください。システムや契約に固有のルールは、担当者の判断に合わせて書き換えます。
チェックリストをMarkdownでダウンロード ↓チェックリストの内容を表示
# 仕様変更のテスト観点レビュー 変更ID: 参照する仕様と版: 変更前のルール: 変更後のルール: 適用開始の条件(日時・タイムゾーン・契約状態など): ## 影響を受ける対象 - 新規のデータ/既存のデータ: - 開始前/処理中/完了済みの操作: - 画面/API/インポート/バッチなどの入口: - 所有者/編集者/閲覧者などの役割: ## 観点ごとの判断 機能・操作: 観点(確認したいリスク): 条件と既存データの状態: 期待する振る舞い: 根拠となる仕様の箇所: 判断:対象/対象外/要確認 判断の理由: 確認先と回答期限: 関連する既存ケース:維持/変更/追加/廃止候補 実行時に確認する証拠: ## レビューの終了条件 - 仕様で確定した内容と、提案・推測を分けた - 既存データと処理中の操作に適用するルールを確認した - 高リスクな未確定事項に確認先と期限を設定した - ケースと仕様のつながりを辿れるようにした - 未解決事項と残存リスクをリリース判断者に伝えた この書式はKanten独自のレビュー補助です。網羅性や不具合の不在を保証しません。 Kantenの画面項目や自動ワークフローそのものではありません。
参考資料と作成方針
文責:Kanten(運営:KASANE PTE. LTD.)。AIを利用して作成した解説です。顧客データや未検証の導入効果は掲載していません。
- ISTQB® Certified Tester Foundation Level Syllabus v4.0.1, 1.4.4(pp.20–21)。出典・著作権者:Renzo Cerquozziほか同シラバス記載の著作者、およびISTQB®(©2024)。本稿は公式教材、認定教材または推奨製品であることを示しません。
- Kantenの公開製品説明:機能・観点・ケースの関連付けと、人によるレビューの範囲。
誤りや分かりにくい点はお問い合わせからお知らせください。