我有一款產品可在最終產品硬件上的Vxworks上運行。但是使用交叉編譯器在Visual Studio中完成開發並下載到硬件進行測試。我打算爲產品編寫單元測試用例。我的問題是因爲我的開發是在Windows上完成的,我怎麼能運行單元測試用例,因爲它不是重新映射真實場景?嵌入式系統的單元測試
任何輸入歡迎
我有一款產品可在最終產品硬件上的Vxworks上運行。但是使用交叉編譯器在Visual Studio中完成開發並下載到硬件進行測試。我打算爲產品編寫單元測試用例。我的問題是因爲我的開發是在Windows上完成的,我怎麼能運行單元測試用例,因爲它不是重新映射真實場景?嵌入式系統的單元測試
任何輸入歡迎
不可能沒有額外的努力(新項目;編譯兩次;爲您的主機,並讓它主機上運行),在這種情況下,尋求一種開發環境,支持你的目標單元測試,例如http://www.parasoft.com/jsp/products/embedded_cpptest.jsp
我懷疑你的代碼通過系統調用與VxWorks交互很多。在這裏放置一層抽象將會很困難。
你使用c或C++嗎?
如果您正在使用C++和可以識別系統,該系統的部分組成:
然後,你應該先注射模塊和系統的其餘部分之間的C++接口(一個或多個)。該模塊只應與接口/適配器相關。然後,您可以將一件獨立的部件綁在視覺工作室測試裝置上。
然後,您應該嘗試確定系統中容易出錯的區域,以及(經常)更改或審覈。在目標系統上,甚至可能達不到50%的覆蓋率,但是您可以實現一個系統,其中90%的日常編碼在覆蓋的40%的代碼基礎內發生。
你這樣做只是像任何其他系統:
在哪裏它運行並不重要。最大的困難在於輸出能力有限的嵌入式系統。但即使只有一個LED,仍然有可能發出成功和失敗的信號。只是它比顯示「通過」更抽象。
我正在使用C++。對不起,我以上難以理解,請您詳細說明。 – venkysmarty 2012-04-25 08:09:52
然後,您應該確定系統中將會同時出現的部分1.受益於單元測試覆蓋率(易發生變化,容易出錯,質量保證要求等)以及2.可以與系統其餘部分以及系統調用分離到VxWorks中。這意味着他們可以通過C++接口訪問他們的環境,而不是直接調用。 – Tormod 2012-04-25 09:18:59