検索
連載

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

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

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

2.2 意図したバグ

 筆者が意図したバグをバグレポートにまとめました。各レポートの「筆者のコメント」の欄に解説を入れています。

バグレポートその1
バグレポートその1[クリックで拡大]
バグレポートその2
バグレポートその2[クリックで拡大]
バグレポートその3
バグレポートその3[クリックで拡大]
バグレポートその4
バグレポートその4[クリックで拡大]
バグレポートその5
バグレポートその5[クリックで拡大]

2.3 気付き

 さまざまな気付きがあるでしょうが、筆者が意図した気付きは「表記法」です。

 この問題では、「剰余は%ですが本来はMOD」「除算は/ではなく÷」となっており、一般的なユーザーから見ると、混乱を与える可能性があるでしょう。また、プログラミングにおける剰余計算の負の「%」の計算は、処理系依存となるため注意が必要です。

2.4 テスト項目

 テスト項目の作成例を以下に示します。

2.4.1 プログラムの起動・終了のテスト

 プログラムの起動・終了に関するテスト項目を表1に示します。

No テスト項目 入力値 期待値/出力結果
1 プログラムを起動し、GUIを表示する プログラム起動 ・プログラム起動
・GUIを表示
・「=」ボタン無効
2 「×」を選択すると、プログラムを終了する 「×」ボタンを選択する プログラム終了
3 「ー」を選択すると、ウィンドウが最小化する 「−」を選択する ウィンドウが最小化
表1 プログラムの起動・終了に関するテスト項目

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る