平成31年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問22
テクノロジ/開発技術組込みソフトウェア開発を行うために,ターゲットシステム上で未完成の周辺ハードウェアが正しく動作しているようにエミュレーションするデバイスドライバを開発した。このデバイスドライバのソフトウェアテストにおける役割はどれか。
出典:平成31年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問22
- アCPU シミュレータ
- イインサーキットエミュレータ
- ウ仮想デバイスドライバ
- エスタブ
正解:エ
解説
未完成の周辺ハードウェアの代わりに,あたかもそのハードウェアが正しく動作しているかのように振る舞うデバイスドライバ(あるいはモジュール)を用意し,上位のソフトウェアのテストを進められるようにする手法は,一般に「スタブ」と呼ばれます。スタブは,未完成の下位モジュール(この場合は周辺ハードウェアとのやり取りを行う部分)を模擬することによって,上位モジュールを先行してテストするために用いられます。
選択肢ごとの解説
- ア誤り。CPU シミュレータは,プロセッサそのものの動作をソフトウェア的に模擬する仕組みであり,未完成の周辺ハードウェアの動作を模擬するデバイスドライバの役割とは異なります。
- イ誤り。インサーキットエミュレータ(ICE)は,マイコン自体を模擬する専用のハードウェア装置であり,デバイスドライバによる周辺ハードウェアのエミュレーションとは異なる仕組みです。
- ウ誤り。仮想デバイスドライバという表現は,本問で開発されたデバイスドライバ自体を指す一般的な呼び方であり,ソフトウェアテストの技法上の役割(スタブ)を表す用語ではありません。
- エ正しい。未完成の下位モジュール(周辺ハードウェア)の代わりとして動作し,上位のソフトウェアを先行してテストできるようにするための代替モジュールは,スタブと呼ばれます。