2012-04-25 159 views
1

我有一款產品可在最終產品硬件上的Vxworks上運行。但是使用交叉編譯器在Visual Studio中完成開發並下載到硬件進行測試。我打算爲產品編寫單元測試用例。我的問題是因爲我的開發是在Windows上完成的,我怎麼能運行單元測試用例,因爲它不是重新映射真實場景?嵌入式系統的單元測試

任何輸入歡迎

回答

1

我懷疑你的代碼通過系統調用與VxWorks交互很多。在這裏放置一層抽象將會很困難。

你使用c或C++嗎?

如果您正在使用C++和可以識別系統,該系統的部分組成:

  • 是變動頻繁;和
    • 大多處理內部數據;或僅與周圍系統的預定義/形式化子集(例如,協議處理或個別PLC控制邏輯模塊)相關的

然後,你應該先注射模塊和系統的其餘部分之間的C++接口(一個或多個)。該模塊只應與接口/適配器相關。然後,您可以將一件獨立的部件綁在視覺工作室測試裝置上。

然後,您應該嘗試確定系統中容易出錯的區域,以及(經常)更改或審覈。在目標系統上,甚至可能達不到50%的覆蓋率,但是您可以實現一個系統,其中90%的日常編碼在覆蓋的40%的代碼基礎內發生。

+0

我正在使用C++。對不起,我以上難以理解,請您詳細說明。 – venkysmarty 2012-04-25 08:09:52

+0

然後,您應該確定系統中將會同時出現的部分1.受益於單元測試覆蓋率(易發生變化,容易出錯,質量保證要求等)以及2.可以與系統其餘部分以及系統調用分離到VxWorks中。這意味着他們可以通過C++接口訪問他們的環境,而不是直接調用。 – Tormod 2012-04-25 09:18:59

0

你這樣做只是像任何其他系統:

  • 寫單元測試
  • 編譯並加載到目標系統
  • 運行單元測試
  • 驗證結果

在哪裏它運行並不重要。最大的困難在於輸出能力有限的嵌入式系統。但即使只有一個LED,仍然有可能發出成功和失敗的信號。只是它比顯示「通過」更抽象。