ArduinoとSTM32マイコンをつないでマイコンシステム開発をしてみる その8 ~総合テスト仕様書~
マイコンシステム開発の要件定義から総合テストまでの工程をたどってみます。
題材としては、空調管理システムにします。
機材はいま手元にあるArduino1台とSTM32マイコン1台を使います。
前回は結合テスト仕様書を作成しました。今回は総合テスト仕様書を作成します。
6.総合テスト仕様書
① テスト概要
目的
本番環境とほぼ同等の条件下で、システム全体の正常動作を確認し、要件定義で定められた機能要件・非機能要件を満たしていることを検証する。
ユーザ操作を想定したテストを実施し、システムの使いやすさ、エラー処理の適切さを確認する。
範囲
機能要件の再確認
状態遷移表に基づく状態遷移の確認
非機能要件(応答時間、信頼性、エラー耐性など)の検証
前提条件
本番環境と同一仕様のハードウェア(STM32、Arduino、LCDディスプレイ、センサー類)が用意されていること。
ソフトウェアの結合テストを完了しており、致命的なバグがない状態であること。
② テスト項目
2.1 機能要件の確認
2.1.1 結合テスト項目の再確認
2.2 ユーザ操作の考慮
2.2.1 直感的な操作性の確認
2.2.2 長時間使用時の挙動
2.3 非機能要件の確認
2.3.1 応答性
2.3.2 信頼性
2.3.3 耐久性
2.3.4 保守性
③ テスト環境
3.1 ハードウェア構成
STM32マイクロコントローラ
Arduino(SPI通信)
LCDディスプレイ
温度センサー
回転角センサー
スイッチ
3.2 ソフトウェア構成
開発済み結合ソースコード
デバッグツール(UARTログモニタ)
電源モニタリングツール
④ テスト手順
本番環境と同じ構成でテスト環境をセットアップ。
各テストケースを順番に実施。
実施結果を記録し、期待結果との比較を行う。
異常が発生した場合は詳細なログを記録して原因を分析。
⑤ 判定基準
すべての機能要件を満たしていること。
非機能要件(応答性、信頼性、耐久性、保守性)での基準値を満たしていること。
予期しないエラーやクラッシュが発生しないこと。
⑥ テストケース
ケース1: 初期表示確認
入力: システム起動
期待結果: 正しいLCD初期表示(温度25℃、設定25℃、冷房モード、弱風)
ケース2: 通信障害テスト
入力: SPI通信を意図的に遮断
期待結果: エラー表示後、通信復旧時に通常状態へ戻る
ケース3: 長時間稼働
入力: システムを24時間連続稼働
期待結果: メモリリークや表示異常が発生しない
⑥ 備考
本テスト結果を基に、必要に応じて改善案を提出。
非機能要件で失敗があった場合はリリースを延期し、修正を優先。