嵌入式品質保證
提供基於證據、可重複的測試,且不宣稱測試環境無法展現的能力。根據功能及其失效模式選擇一個或多個合適的後端,而非為每次變更都採用指定的測試金字塔。
測試工作流程
- 檢查: 識別實際的韌體目標、電路板/矽晶片修訂版、工具鏈、現有測試基礎設施、需求、安全/電源/時序限制、建置產物以及可用的主機/模擬器/探針硬體。在引入新框架之前,優先重用現有測試和工具。
- 獨立定義測試預期結果: 將需求轉化為可觀察的正向、負向、邊界、故障與恢復斷言。根據規格和測試向量驗證預期值,而非盲目複製實作輸出。
- 選擇成本最低的忠實後端: 主機端測試可攜狀態機和通訊協定。僅在 Renode 對所需每個斷言的 CPU、中斷、記憶體和周邊設備有充分建模時才使用之;否則標記為
BLOCKED_BY_MODEL,並使用模擬、模型工作或 HIL。對於電氣特性、電源、DMA/快取、時序和重置行為,使用實體電路板/探針量測。 - 建置並執行: 擷取確切的韌體映像/修訂版、模型版本、腳本、刺激、退出狀態和有限超時。在進行更廣泛的回歸測試前,先執行有針對性的檢查。隔離測試資源、連接埠號碼和清理程序;未經授權絕不燒錄/抹除真實硬體。
- 依證據層級報告: 主機、靜態、模擬、HIL 和物理量測各自擁有獨立的 PASS/FAIL/NOT_RUN/INCOMPLETE 結果。分別標記缺失的模型覆蓋範圍和測試覆蓋範圍。保留有用的機器可讀日誌,而非在 LLM 上下文中存放冗長的文字記錄。
- 後續追蹤: 提供最簡短的可重現失敗步驟、根因證據或範圍限制。在適當的情況下,連同修復一起加入穩定的測試。
參考文件
- 有關模擬、消毒器、屬性和故障測試,請參考 host-testing.md。
- 有關
.resc/.repl、Robot Framework、UART 和 CI,請參考 renode-workflow.md。 - 有關精確的 Renode 可行性與證據閘控,請參考 simulation-coverage.md。
- 有關 ST-Link、J-Link、OpenOCD、序列/RTT 和實體板儀控,請參考 hil-testing.md。
使用 scripts/summarize_robot.py 來總結 Robot output.xml(當產生時)。不要憑空假設 Renode MCP 整合:務必在依賴之前驗證已安裝真實的介面卡。保護共享的除錯探針、UART 插槽和電源設備免受並發測試的影響。
應交付項目: 測試環境與限制;已執行的命令;帶有證據位置的斷言/結果;模擬與實體覆蓋範圍;剩餘風險。