連載
バグ検出ドリル(20)「三角形判定」のテスト項目を設計できますか【出題編】:山浦恒央の“くみこみ”な話(120)(2/3 ページ)
バグは至るところに、しかも堂々と潜んでおり、自信満々なプログラマーほど、目の前のバグに気付かないものです。「バグ検出ドリル」の第20回と第21回は、「三角形を判定」するプログラムのテスト項目設計がテーマです。まずは今回の出題編を読んで、じっくり問題に取り組んでみてください。
3.今回の問題
3つの辺の長さから三角形の種類を判定するプログラムがある。以下のリスト1に示す問題文(仕様、プログラム)を読み、テスト項目を作成し、バグを検出せよ。また、バグが見つかった場合は、修正方法も考察せよ。
リスト1 問題文(三角形判定問題の仕様とプログラム)
1.機能概要
本プログラムは、3辺の値から正三角形、二等辺三角形、不等辺三角形を判定するプログラムである。
2.機能詳細
2.1 入力機能
コンソールから辺1、辺2、辺3の整数値をそれぞれ順番に入力する。
2.2 正三角形の判定
3辺の値が等しい場合、画面に「正三角形」と出力する。
2.3 二等辺三角形
3辺の値のうち、2辺が等しい場合は、画面に「2等辺三角形」と出力する。
2.4 不等辺三角形
3辺の値が全て異なる場合、画面に「不等辺三角形」と出力する。
2.5 異常処理
三角形の判定をする場合は、以下を考慮すること。
- 3辺の値をそれぞれ入力する際には、いずれかの辺が、「辺 <= 0」、かつ、「辺 >= 1000」の場合は、その時点で画面に「入力エラー」と出力し、プログラムを終了する
- 3辺の値をそれぞれ入力する際には、いずれかの辺が少数の場合は、その時点で「入力エラー」と出力し、プログラムを終了する。
- 三角形が成立しない場合は、画面に「三角形ではありません」と出力する
(辺1が辺2 + 辺3より大きい、あるいは、辺2が辺1 + 辺3より大きい、あるいは、辺3が辺1 + 辺2より大きい場合) - プログラムを強制終了する場合は、「Ctrl + c」を入力する。
2.6 制限事項
入力する3つの辺は、整数型とすること。
机上デバッグで見つからない場合は、実機環境で確かめても良い。
実行するOSは、Windows7とする。
環境は、Visual Studio 2019コンソールアプリケーションか、Cygwin Gccを想定する。
3.データ仕様書
下記に、入力値のデータ仕様書を示す。
型 | 変数名 | 説明 |
---|---|---|
int | side1 | 辺1(cm) |
int | side2 | 辺2(cm) |
int | side3 | 辺3(cm) |
表1 入力値のデータ仕様書 |
Copyright © ITmedia, Inc. All Rights Reserved.