連載
» 2022年05月18日 07時00分 公開

テストでバグ発見!(11)機能追加した扇風機シミュレーターのバグを検出せよ【解答編】山浦恒央の“くみこみ”な話(153)(1/3 ページ)

提示された仕様とプログラム(バグを含む)から、自身の手でテストケースを設計し、バグを実際に見つけ、バグレポートまでを作成する実践的なシリーズ「テストでバグ発見!」。今回は、前回出題した扇風機シミュレーターの機能追加開発におけるバグ検出についての解答編だ。

[山浦恒央 東海大学 大学院 組込み技術研究科 非常勤講師(工学博士),MONOist]

1.はじめに

 このシリーズは、筆者がバグを埋め込んだ仕様とプログラムを読者の皆さんに見ていただいた上で、テストの設計と埋め込んだバグの検出を行ってもらうという趣向になっています。

 前回から保守フェーズを題材として、過去に作成した扇風機シミュレーターの第2バージョン(機能追加版)のバグを探す問題を出題しています。

⇒連載「山浦恒央の“くみこみ”な話」バックナンバー

2.扇風機シミュレーター

扇風機 ※写真はイメージです

 扇風機は、機器についている羽を高速に回転し、風を発生させることで人間の体温を冷やすものです。昔ながらの家電製品ですが、現在でもさまざまな用途で使われています。

 前回は、出題編ということで、機能追加版の扇風機シミュレーターのバグを検出する問題を出題しました。チャレンジしたい方は、前回の問題編を読んで、バグを見つけていただければと思います。以下に、あらためて問題文を掲載しておきます。

【問題】:機能追加した扇風機シミュレーターのバグ摘出 制限時間:1時間

 下記に提示した仕様を実装したC言語のプログラムがある(ただし、バグがある)。仕様を基に保守フェーズを意識し、テストケースを設計してバグを検出せよ。また、バグを検出した場合は、バグレポートにまとめること。

提示物:問題のプログラム(ElectricFan.c、ElectricFan.h):Visual Studio 2019コンソールアプリケーション、MinGW(gcc)で動作確認済み(Visual Studioでビルドする場合は、「SDLチェックをOFF」にしてビルドすること)。入力ファイル作成例(input.csv)。なお、C言語の環境構築を済ませていない場合は、連載第149回の「付録その1」を参考にすること。

成果物:記述済みのテスト項目、記述済みのバグレポート、気付き事項リスト(もしあれば)

※1)使用するWebブラウザや設定によって、上記のリンクをクリックしても文字化けする場合があります。その場合は、右クリックメニューから「名前を付けて保存」を選ぶとファイルをダウンロードできます。

図1 図1 扇風機シミュレーターのユースケース図

 それでは、次ページからお待ちかねの解答です。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.