2013-03-05 90 views
2

我有疑問。假設我有一個很大的Web應用程序,它依賴於Java/Java EE(JSP/Servlets)。自動完成Java EE Web應用程序的測試

每次放下前,我們都會在GUI上測試每個功能,以便一切正常。以前這很容易,但現在隨着模塊數量呈指數增長,手動測試每個具有所需功能的GUI並不是一個可行的選擇。

我在尋找工具,在這裏我可以編寫我的整個測試用例,例如約1000,然後在下降之前運行一次,它將列出所有失敗的測試用例。

該工具最好必須是免費下載和使用它。

我不知道是否在這方面使用

Arquilian

的JUnit

將幫助或沒有,但自動化測試之前的下降真的需要.. 請指導。

+0

你在測試你的前端嗎?然後[Selenium](http://docs.seleniumhq.org/) – 2013-03-05 14:57:52

回答

1

使用JUnit使用模擬框架即的Mockito測試單元(服務方法)

使用的Arquillian上集成度測試在一起(如何不同的服務模塊一起工作)

使用的數據庫測試工具(即dbunit)來測試你的數據庫/持久層)

使用Selenium來測試你的前端

測試儘可能。

使用JenkinsSonar跟蹤您的構建過程和你的測試和代碼

你應該總是測試你在不同級別的應用程序的質量。不只有一種解決方案。 使用單元測試測試應用程序的小塊並儘可能簡化重構。

使用集成測試檢查您的模塊是否仍按預期一起工作。

使用GUI測試來檢查您的客戶是否可以使用您的軟件。

如果它的相關性,考慮性能測試(即jmeter

1

明確硒。
將它與maven結合起來,可能需要將您的項目專門用於測試目的。此外,Maven允許您在集成測試階段啓動容器,並在最後自動關閉該容器。您也可以將其配置爲jenkins/hudson上的每晚構建,以便您將任何迴歸的情況都通知您。

+0

使用硒,我的應用程序依賴於JSF。它無法記錄所有的輸入值。我使用集成在Firefox中的Selenium ..你能否告訴我們Selenium是否可以與JSF集成。 – AngelsandDemons 2013-05-29 08:14:11

+0

硒是可以與任何基於瀏覽器的IHM(Html/JS)協同工作的,無論是底層服務器技術。由於JS處理,您可能會遇到一些問題,您必須正確配置您的Web驅動程序,也許需要手動編輯您的自動化腳本以正確處理一些異步行爲 – Gab 2013-05-29 08:23:47

+0

這實際上意味着我需要爲每個我寫的整個Selenium測試用例GUI。這是因爲每個GUI都包含一些在頁面呈現時仍處於隱藏狀態的組件,並且只有在滿足某些條件時纔會顯示在頁面上。另外JSF在將表單ID附加到每個組件上時聲名狼借。如果ID未全部分配給組件,則JSF將爲組件分配隨機生成的唯一ID,如果未提供ID,組件將變得更加棘手。 – AngelsandDemons 2013-06-13 10:42:02