ArduinoとSTM32マイコンをつないでマイコンシステム開発をしてみる その6 ~単体テスト仕様書~
マイコンシステム開発の要件定義から総合テストまでの工程をたどってみます。
題材としては、エアコンを模したシステムにします。
機材はいま手元にあるArduino1台とSTM32マイコン1台を使います。
前回で内部設計まで終わりました。実装に入る前にテスト仕様書を作ります。今回は単体テスト仕様書を作ります。
4.単体テスト仕様書
① テスト目的
各関数が内部設計書で示した処理フローチャート通りに動作することを確認する。分岐網羅・同値分割・境界値分析を考慮し、関数単位での正確なテストを行う。
② テスト範囲
内部設計書で定義した以下の関数についてテストを実施する。
read_temperature()
switch_handler()
rotary_handler()
calculate_fan_speed()
display_lcd()
send_to_actuator()
③ 前提条件
各関数が呼び出される環境が整っていること(ドライバ・スタブを利用する)。
SPI通信、LCD表示、回転角センサ、スイッチ、LEDなどのハードウェアはモックまたはスタブでエミュレート。
④ テスト方針
分岐網羅
各関数内のすべての分岐条件を網羅するテストケースを作成。
同値分割
入力データをグループ化し、それぞれの代表値でテストを実施。
境界値分析
境界となる値を重点的にテスト。
⑤ 入出力仕様
テストケース
① read_temperature() のテストケース
正常系
異常系
② switch_handler() のテストケース
正常系
③ rotary_handler() のテストケース
正常系
異常系
④ calculate_fan_speed() のテストケース
正常系
⑤ display_lcd() のテストケース
正常系
⑥ send_to_actuator() のテストケース
正常系