バグ検出ドリル(20)「三角形判定」のテスト項目を設計できますか【出題編】山浦恒央の“くみこみ”な話(120)(2/3 ページ)

» 2019年08月05日 11時00分 公開

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.