本文へ移動
Kanten

KANTEN / TEST DESIGN GUIDE

仕様変更時のテスト観点:影響範囲を見直す5つの手順

仕様変更でどのテストを追加・修正するか。SaaSのプラン上限変更を例に、既存データ・処理中の操作・期待結果を見直す5つの手順を解説。7行のマトリクスとダウンロードできるチェックリスト付き。

先に結論

テスト観点を見直す起点は、変更した画面ではなく、変わったルールと、そのルールが適用される条件です。機能・データの状態・操作の時点を照合し、期待結果が決まらないものを確認事項として切り出してから、既存ケースを更新します。

観点表そのものから整えたい場合は、SaaS向けテスト観点表テンプレートと記入例を先に利用できます。

「変更した部分のテストは通った。でも、既存利用者だけ操作できなくなった」。このような問題を考えるとき、画面の入力項目だけを起点にすると、契約状態や処理の途中で変わる前提を整理しにくくなります。

ここでは、ケースの本数を増やす前に行うレビューを、ひとつの仕様変更で追います。テスト観点とは、本稿では「何を確かめるかを考えるための切り口」を指します。観点名を列挙するだけでなく、どの条件で、何が起きると困るのかまで具体化します。

1. 仕様の差分を「適用条件」まで書く

あるSaaSで、プランの保存上限を100件から50件に変更するとします。すでに80件を保存している利用者がいる、という条件を置きます。

変更前

保存上限:100件

変更後

保存上限:50件

数値の差は明確ですが、それだけでは期待結果を決められません。既存の80件を保持できるのか、編集も止めるのか、いつから新ルールを適用するのかは別の判断です。

  • 対象:新規契約だけか、既存契約も含むか。
  • 数える範囲:契約単位か、ワークスペース単位か。下書きや削除済みデータを含むか。
  • 発効条件:日時、契約更新、プラン変更など、何を境に切り替わるか。
  • 既存データ:上限を超えた分は保持、削除、読み取り専用など、どの扱いか。

不明な項目は、テスターやAIがもっともらしいルールで補完しません。「決まっていない」と分かる状態でレビューに持ち込みます。

2. 変更の影響を受ける状態を並べる

次に、変更を受ける対象を三つの軸で整理します。すべての組み合わせを機械的にケース化するのではなく、リスクのある組み合わせを選ぶための下準備です。

  1. データの状態:上限未満、上限ちょうど、旧ルールでは有効だった上限超過。
  2. 操作の時点:発効後に開始、発効前に開始して発効後に確定、すでに完了。
  3. 操作の入口と権限:画面、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を利用して作成した解説です。顧客データや未検証の導入効果は掲載していません。

誤りや分かりにくい点はお問い合わせからお知らせください。