【基本情報技術者の実務】少ない項目で漏れなく──数量入力欄のテスト項目を洗い出す
買い物アプリを作る依頼主から、数量入力欄のテスト項目づくりの相談が届く。
「新しい買い物アプリの数量入力欄です。半角数字で1から99までの整数だけ受け付けて、0以下や100以上、文字や記号や空欄はエラーにする仕様です。このあと動作確認をしたいのですが、どんな値を試せばよいか整理できていません。どんな入力を試して、そのときどう動けば正しいか、書き出してもらえますか?」
基本情報技術者の知識は、こうした試すべき値を少ない数で漏れなく選び出せたときに力になる。この記事では、その選び方をまとめる。
まず結論:同値分割と境界値分析で選ぶ
入力できる値は無数にあるので、全部を試すのは現実的でない。そこで2つの考え方を使うと、少ない項目で広く確かめられる。
- 同値分割:同じ扱いになる値をグループにまとめ、各グループから代表を1つ選ぶ。今回は「有効(1〜99)」「小さすぎ」「大きすぎ」の3グループに分けられる。
- 境界値分析:グループの境目(0・1・99・100)は動きが変わりやすい要点なので、重点的に試す。
この2つを組み合わせると、代表値と境目を押さえるだけで確認の網を広く張れる。
正常系・境界値・異常系で並べる
選んだ値を、期待する動きとセットで一覧にする。「どう動けば正しいか」まで書くのがテスト項目の形だ。
| 区分 | 試す値 | 期待する動き |
|---|---|---|
| 正常系 | 1/50/99 | 受け付けてかごに反映される |
| 境界値 | 0/1/99/100 | 1と99は受け付け、0と100はエラー |
| 異常系 | マイナス値/文字「あ」/記号/空欄/全角数字「5」 | いずれもエラー表示になる |
境界値の0・1・99・100は、有効グループの内側と外側がちょうど切り替わる位置にある。ここを内外そろえて試すと、範囲の判定が正しいか確かめられる。
プロならこう伝える
試す値は、同値分割と境界値分析で選ぶと少ない項目で漏れなく確認できます。まず入力を「有効な1から99」「小さすぎる値」「大きすぎる値」の3グループに分け、それぞれから代表を選びます。正常系は1・50・99を入力して、受け付けてかごに反映されることを確かめます。
次に、グループの境目である0・1・99・100を重点的に試します。1と99は受け付けられ、その一つ外側の0と100はエラーになる、という切り替わりを確認します。境目は動きが変わりやすい位置なので、内側と外側をそろえて見ておくと安心です。
最後に、マイナス値・文字・記号・空欄・全角数字といった数字以外の入力も異常系として加えます。これらがすべてエラー表示になれば、仕様どおりの動きだと確かめられます。
説明で外したくないポイント
- 同値分割でグループ化:有効・小さすぎ・大きすぎに分け、各グループの代表を選ぶ。
- 境界値を内外そろえる:0・1・99・100のように、境目の内側と外側を対にして試す。
- 数字以外も異常系に入れる:文字・記号・空欄・全角数字まで加えると、確認が厚くなる。
この場面で効いている基本情報技術者の知識
- 同値分割:同じ扱いになる値をまとめ、代表値で試す
- 境界値分析:グループの境目を重点的に確認する
- 正常系・異常系:受け付ける入力とエラーになる入力の両方を試す
「同値分割と境界値分析で代表と境目を選ぶ」という知識が、そのまま少ない項目で漏れなく確かめるテスト項目になっている。
自分でやってみる
学習アプリ「シカクエ」の実務クエストでは、この依頼に自分でテスト項目を書き出して採点を受けられる(架空の練習用)。正常系・境界値・異常系をそろえて選べるか、試してみると定着が進む。