2009-01-29 105 views
0

我一直在建立一個非常酷的RIA IMO。但它現在接近完成,我需要測試它,看看是否有任何錯誤或反直覺的部分或類似的東西。但是如何?任何時候我都會要求別人試圖打破它,他們會在3分鐘內看到它,並說「這是穩定的」。你們如何測試東西?我從來沒有使用過UnitTest,事實上大約3個月前,我從未聽說過單元測試,但我仍然不太明白它是什麼。我需要構建一個全新的應用程序來運行每個功能嗎?這將需要永遠,加上一些功能可能只會在某些情況下產生錯誤,所以我不明白單元測試。如何測試應用程序?

回答

1

的問題是相當開放式所以這個職位不會回答所有您的問題。如果你可以改進你正在尋找的東西,那會有所幫助。

您可能想要做的測試有兩個主要部分。第一個是單元測試,第二個是可以稱爲驗收測試。

單元測試正在相對隔離地嘗試每個類/方法並確保它們正常工作。你可以使用類似jUnit,nUnit等的東西作爲框架來保存你的測試。採取一種方法,看看它可能預期的不同投入以及結果是什麼。然後爲每個輸入/輸出對編寫一個測試用例。這將告訴你,大部分零件按預期工作。

驗收測試(或者有時稱爲端對端測試)正在運行整個系統並確保其正常工作。拿出你期望用戶做的場景列表。現在系統地嘗試一切。嘗試它們的變體。做他們的工作?如果是這樣,你可能已經準備好將它推廣到至少有限的觀衆。

另外,James Whittaker檢查出How to Break Software。它是更好的測試書籍之一,並且是一個簡短的閱讀。

0

發佈測試版嗎?

0

它基於Xcode和Cocoa開發,但是this video仍然是單元測試的很好介紹。單元測試確實應該與開發一起完成,所以如果你的應用程序幾乎完成了,那麼實現需要一段時間。

1

首先要系統地確保一切都按照您期望的方式工作。然後,你想用軟件安裝的組合來對付每一個實際的硬件,這是可行和適當的。然後,您希望採取人際互動的每一點,並嘗試將盡可能多的數據放入,沒有數據,以及可能導致異常的特殊數據。嘗試按順序或工作流執行某些操作時,您並不期望某些操作取決於其他操作。你和你的朋友自然會按順序完成這些步驟,當有人不這樣做時會發生什麼?此外,有完整的新手使用它是一個很好的方式來看到用戶可能會嘗試的奇怪的事情。

0

Firebug有一個很好的網絡應用程序分析器。至於測試JS文件,我使用Scriptaculous。無論您使用的是什麼後端,都需要進行全面測試。

但是在你做之前,你需要了解單元測試是什麼。單元測試正在驗證源代碼的所有單個單元如預期的那樣工作。這意味着你驗證了你所有函數/方法的輸出。基本上,閱讀this。除了單元測試之外,還有不同的測試策略,例如集成測試,這是測試不同模塊相互集成的測試策略。你要求人們做的是驗收測試,驗證它的外觀和行爲是否符合原始計劃。 Here更多地針對各種測試策略。

PS:始終測試邊界條件