IPA過去問ドリル

平成31年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問22

テクノロジ/開発技術

組込みソフトウェア開発を行うために,ターゲットシステム上で未完成の周辺ハードウェアが正しく動作しているようにエミュレーションするデバイスドライバを開発した。このデバイスドライバのソフトウェアテストにおける役割はどれか。

出典:平成31年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問22

正解:エ

解説

未完成の周辺ハードウェアの代わりに,あたかもそのハードウェアが正しく動作しているかのように振る舞うデバイスドライバ(あるいはモジュール)を用意し,上位のソフトウェアのテストを進められるようにする手法は,一般に「スタブ」と呼ばれます。スタブは,未完成の下位モジュール(この場合は周辺ハードウェアとのやり取りを行う部分)を模擬することによって,上位モジュールを先行してテストするために用いられます。

選択肢ごとの解説

  • 誤り。CPU シミュレータは,プロセッサそのものの動作をソフトウェア的に模擬する仕組みであり,未完成の周辺ハードウェアの動作を模擬するデバイスドライバの役割とは異なります。
  • 誤り。インサーキットエミュレータ(ICE)は,マイコン自体を模擬する専用のハードウェア装置であり,デバイスドライバによる周辺ハードウェアのエミュレーションとは異なる仕組みです。
  • 誤り。仮想デバイスドライバという表現は,本問で開発されたデバイスドライバ自体を指す一般的な呼び方であり,ソフトウェアテストの技法上の役割(スタブ)を表す用語ではありません。
  • 正しい。未完成の下位モジュール(周辺ハードウェア)の代わりとして動作し,上位のソフトウェアを先行してテストできるようにするための代替モジュールは,スタブと呼ばれます。
エンベデッドシステムスペシャリストの過去問を演習モードで解く