2011-08-19 34 views
1

最近我在客戶端PC上部署了一些軟件。該軟件在我的開發機器上構建並正確運行,並在構建服務器上通過了所有單元和代碼質量檢查,但在客戶端PC上運行時發生爆炸性崩潰。清潔環境中軟件的自動運行時間測試?

我將問題縮小到外部.NET庫,該庫引用了僅包含在.NET Framework 3.5中的本機庫,而客戶機的PC僅安裝了.NET Framework 4.0。 (罪魁禍首是Sql Server CE 3.5)。

什麼是預先檢測此類問題的有效方法?我可以使用一個自動UI測試框架運行在一個乾淨的環境中,這個環境可以被構建服務器遠程調用。除了回答「它在這個環境上運行嗎?」的目標之外,這也可能成爲一組GUI測試的一部分。但我擔心這兩個目標應該有更清晰的分離,而不是集中在一組自動化測試中。有沒有更好的辦法?另外,這種平臺兼容性測試有沒有名字?

回答

0

我發現它由於只需要在每個公開發布版本中執行一次,所以過於自動化了對乾淨環境進行測試的過程。我使用「撤消磁盤」爲我的部署環境的虛擬PC映像做好了準備,每次測試運行後都可以將其恢復爲乾淨狀態。

0

除了確保軟件測試的環境儘可能接近最終要安裝軟件的機器。除此之外,我懷疑是否有能解決這類問題的魔力藥丸。

0

結束語您使用WiX安裝在MSI或一些這樣的工具將允許你測試的先決條件,如.NET 3.5等

善良,

+0

的確如此。 NSIS也是WiX的一個可行的替代方案,然而在這種情況下,我甚至沒有意識到我已經掌握了前提條件。我在.NET 4.0框架中假定.NET 3.5庫[運行得很好](http://msdn.microsoft.com/zh-cn/library/bb822049.aspx)。我只在客戶機的運行時發現了這個問題。沒有關於此依賴性的文檔。 – duck9

+0

我認爲正確的構建驗證過程的一部分需要包括乾淨的安裝。即使構建服務器也會很快受到污染。 –

+0

同意。這就是問題的癥結所在 - 我正在尋找一種有效的方法來實現這一過程的自動化。 – duck9