連載
テストでバグ発見!(6)電卓プログラムに潜むバグ【解答編】:山浦恒央の“くみこみ”な話(148)(3/4 ページ)
提示された仕様とプログラム(バグを含む)から、自身の手でテストケースを設計し、バグを実際に見つけ、バグレポートまでを作成する実践的なシリーズ「テストでバグ発見!」。今回は、前回出題した電卓プログラム問題の解答編だ。演習問題としては大規模だが、正面からじっくり向き合い、適切にテスト設計すればバグを検出できるはず!
※本記事はアフィリエイトプログラムによる収益を得ています
2.4.2 表示関連のテスト
表示に関連するテスト項目を以下の表2に示します。
No. | テスト項目 | 入力値(この順番に1文字ずつ入力する) | 期待値/出力結果(表示される文字全体を順番に記載) | 良 否 |
---|---|---|---|---|
1 | 「0」〜「9」の表示を確認する。また、クリアの動作も確認する | 「0」「C」 | 「0」「 」 | 良 |
「1」「C」 | 「1」「 」 | 良 | ||
「2」「C」 | 「2」「 」 | 良 | ||
「3」「C」 | 「3」「 」 | 良 | ||
「4」「C」 | 「4」「 」 | 良 | ||
「5」「C」 | 「5」「 」 | 良 | ||
「6」「C」 | 「6」「 」 | 良 | ||
「7」「C」 | 「7」「 」 | 良 | ||
「8」「C」 | 「8」「 」 | 良 | ||
「9」「C」 | 「9」「 」 | 良 | ||
2 | 操作エリアから3桁を表示する | 「1」「2」「3」 | 「1」「12」「123」 | 良 |
3 | 整数部4桁は入力できないことを確認する | 「1」「0」「0」「0」「0」 | 「1」「10」「100」「100」「100」 | 良 |
「9」「9」「9」「9」「9」 | 「9」「99」「999」「999」「999」 | 良 | ||
4 | 先頭0は2回連続で表示しない。また、0の次に数値を入力する場合は0を別の数値に上書きする | 「0」「0」「0」 | 「0」「0」「0」 | 良 |
「0」「0」「9」 | 「0」「0」「9」 | 良 | ||
5 | 小数の入力を確認する。同時にクリアの動作も確認する | 「0」「.」「0」「C」 | 「0」「0.」「0.0」「 」 | 良 |
「9」「9」「9」「.」「9」「9」「9」「C」 | 「9」「99」「999.」「999.9」「999.99」「999.999」「 」 | 良 | ||
「9」「9」「9」「.」「9」「9」「9」「+/-」「C」 | 「9」「99」「999.」「999.9」「999.99」「999.999」「-999.999」「 」 | 良 | ||
6 | 「.」が2回続かないことを確認する | 「.」「.」 | 「0.」「0.」 | 良 |
7 | 演算子入力ができることを確認する | 「9」「9」「9」「+」 | 「9」「99」「999」「 」 | 良 |
「9」「9」「9」「-」 | 「9」「99」「999」「 」 | 良 | ||
「9」「9」「9」「*」 | 「9」「99」「999」「 」 | 良 | ||
「9」「9」「9」「/」 | 「9」「99」「999」「 」 | 良 | ||
「9」「9」「9」「%」 | 「9」「99」「999」「 」 | 良 | ||
8 | 演算子入力時に、ボタンの有効・無効を確認する | 「1」「+」 | ・「+」「-」「*」「/」「%」ボタンが無効化され、「=」有効化 ・「%」ボタンが無効化されない |
否 |
「1」「-」 | 否 | |||
「1」「*」 | 否 | |||
「1」「/」 | 否 | |||
「1」「%」 | 否 | |||
9 | 繰り返し演算時にボタンの有効・無効を確認する | 「1」「+」「1」「=」「+」 | ・「+」「-」「*」「/」「%」ボタンが無効化され、「=」有効化 ・「%」ボタンが無効化されない |
否 |
「1」「+」「1」「=」「-」 | 否 | |||
「1」「+」「1」「=」「*」 | 否 | |||
「1」「+」「1」「=」「/」 | 否 | |||
「1」「+」「1」「=」「%」 | 否 | |||
10 | 2回目の数値入力が実行できる | 「1」「2」「3」「+」「1」「2」「3」 | 「1」「12」「123」「 」「1」「12」「123」 | 良 |
「1」「2」「3」「+」「1」「2」「3」「.」「1」「2」「3」 | 「1」「12」「123」「 」「1」「12」「123」「123.」「123.1」「123.12」「123.123」「 」 | 良 | ||
11 | 「+/-」が正しく動作する。 | 「0」「+/-」 | 「0」「-0」 | 否 |
「9」「9」「9」「.」「.」「9」「9」「9」「+/-」「+/-」「+/-」 | 「9」「99」「999」「999.」「999.9」「999.99」「999.999」「-999.999」「999.999」「-999.999」 | 良 | ||
表2 表示関連のテスト項目例 |
Copyright © ITmedia, Inc. All Rights Reserved.