検索
連載

テストでバグ発見!(6)電卓プログラムに潜むバグ【解答編】山浦恒央の“くみこみ”な話(148)(3/4 ページ)

提示された仕様とプログラム(バグを含む)から、自身の手でテストケースを設計し、バグを実際に見つけ、バグレポートまでを作成する実践的なシリーズ「テストでバグ発見!」。今回は、前回出題した電卓プログラム問題の解答編だ。演習問題としては大規模だが、正面からじっくり向き合い、適切にテスト設計すればバグを検出できるはず!

Share
Tweet
LINE
Hatena
※本記事はアフィリエイトプログラムによる収益を得ています

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.

ページトップに戻る