連載
テストでバグ発見!(1)まずは成人判定プログラムでチュートリアル:山浦恒央の“くみこみ”な話(143)(2/4 ページ)
今回から、提示された仕様とプログラム(バグを含む)から、自身の手でテストケースを設計し、バグを実際に見つけ、バグレポートまでを作成する実践的なシリーズ「テストでバグ発見!」が始まります。第1回は、チュートリアルとして成人判定プログラムからバグを発見してみましょう。
※本記事はアフィリエイトプログラムによる収益を得ています
4.【問題】チュートリアル編:成人判定プログラム 制限時間:30分
下記に示す仕様と提示するプログラムから、テスト項目を作成し、バグを検出せよ。また、バグを検出した場合は、バグレポートにまとめること。
- 提示物:問題のプログラム(AgeCheck.py)
- 成果物:記述済みテスト項目、記述済みバグレポート
※)AgeCheck.pyをダウンロードする際にファイルを開けない、またはセキュリティの観点からWebサイトからファイルをダウンロードして開きたくないといった場合には、記事最終ページの付録に掲載したAgeCheck.pyのテキストをご利用ください。
4.1 概要
本仕様は、使用者の年齢から「成人」「未成人」を判定するプログラムである。
4.2 詳細
4.2.1起動時処理
プログラム起動時に「年齢を入力してください:」と出力する。
4.2.2 年齢の入力
使用者は、コンソール上から半角数字で年齢を入力する。
4.2.3 判定処理
下記に従い、コンソール画面に判定結果を出力し、プログラムを終了する。
- 入力した年齢が0〜20までの場合は、「未成年」と出力する
- 入力した年齢が21〜200までの場合は、「成人」と出力する
- それ以外の数値の場合は、「エラー」と表示する
4.3 データ設計
データ設計を表2に示す。
データ名称 | データ型 | 最大値・最小値 | 形式 | 入力・出力 |
---|---|---|---|---|
年齢 | int型 | 0〜200 | 半角数字 | 入力 |
表2 データ設計 |
4.4 プログラムの動作例
年齢を入力してください:15 未成人
4.5 制限事項
4.5.1 本問題における制限
この問題では、使用者はint型で収まる範囲の半角数字を入力することを前提とする(その他の入力は問題として扱わない)。
4.5.2 プログラム言語
プログラムの動作環境は、Python 3.9.5を想定する(Windows 10で動作確認済み)。
Copyright © ITmedia, Inc. All Rights Reserved.