連載
» 2022年04月14日 10時00分 公開

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

提示された仕様とプログラム(バグを含む)から、自身の手でテストケースを設計し、バグを実際に見つけ、バグレポートまでを作成する実践的なシリーズ「テストでバグ発見!」。今回は、これまで題材にしてきた扇風機シミュレーターに対して保守開発を本格的に適用した問題の出題編となる。

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

1.はじめに

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

 このシリーズでは、筆者がバグを埋め込んだ仕様とプログラムを提示し、読者の皆さんがテストケースを設計・実行してバグを見つけるものです。

 前回は、過去に作成した扇風機シミュレーターの第1バージョン(新規開発版)をベースに簡単な機能追加したバージョンを取り上げ、その状態遷移図を作成しました(前回は、問題と解答の両方を提示)。これは、今回の問題のためのウオーミングアップです。今回は、本格的な機能追加(保守)をした出題編になります。

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

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

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

 連載第149回第150回では、扇風機シミュレーター(扇風機を摸擬したプログラム)の問題を出題しています。復習の意味でこれらの過去記事を読んでいただければ幸いです。

 今回は、この扇風機シミュレーターの保守開発編ということで、第2バージョンの仕様とプログラムを出題しますので、テストしてバグを見つけてください。問題文は長いように見えますが、やってみれば簡単だと思います。なお、解答は次回に掲載します。

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

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

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

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

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

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.