2009-05-06 105 views
3

我們有大量的遺留代碼,其中幾個部分計劃重構或替換。我們希望優化目前影響用戶體驗的部件,促進計劃中的新產品的重複使用,並希望可以提高可維護性。從運行時分析生成測試

我們對現有產品有相當好的/全面的功能測試。這些是自動和手動驅動的GUI測試的混合體,但它們可以讓開發人員在半天以上完全運行。 「低級域邏輯」有一套很好的覆蓋單元測試(NUnit)。不幸的是,其餘的代碼沒有單元測試(或者至少沒有值得的單元測試)。

我想找到是一種工具,自動生成單元測試基於其在功能測試的使用和行爲具體方法/類也許特定接口。這些單元測試對於重構是非常有價值的,並且也將作爲C.I.的一部分運行。系統比當前發生的時間早得多地檢測迴歸(並且比「按鈕X不工作」更好地定位迴歸。)。

是否存在這樣的工具?你有什麼建議嗎?

我碰到過Parasoft .TEST,看起來好像它可能想要我想要的。 對於我的情況,你有什麼意見嗎?

我不認爲從靜態分析ala NStub生成測試代碼的東西在這裏很有用。我想這實際上是代表性測試數據的生成,這非常重要。

請忽略自動化測試生成的優點或缺點 - 這不是我通常提倡的。 (不僅僅是因爲你得到的測試通過破碎的代碼!)

回答

0

那麼,你可以看看PEX - 但我相信它發明自己的數據(它不看你現有的測試,AFAIK)。

2

嘗試Pex

從Visual Studio代碼編輯器

右鍵,PEX找到你的方法,你可以保存爲一個小的測試套件具有高的代碼覆蓋率有趣的輸入輸出值。 Pex執行系統分析,尋找邊界條件,異常和斷言失敗,您可以立即進行調試。 Pex支持參數化單元測試,這是單元測試的延伸,可降低測試維護成本。