您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
JUnit及其相關的單元測試技術
作者:網(wǎng)絡轉載 發(fā)布時間:[ 2013/8/2 10:40:17 ] 推薦標簽:

  右擊測試類,選擇Junit運行……

  輸出結果如下:

  @BeforeClass

  @Before

  @Test(timeout = 50)

  @After

  @Before

  @Test(expected = Exception.class)

  @After

  @Before

  @Test

  @After

  @AfterClass

  在eclipse中junit運行結果視圖中可以看到testIgnore是被忽略的,沒有執(zhí)行;還有其中有一個方法運行報錯。

  2. 使用HttpUnit進行Web應用測試:

  上面我們介紹Junit是對應用程序代碼的片段做測試,那么如何對Web應用進行測試呢?這需要我們了解HttpUnit了。

  2.1 什么是HttpUnit:

  HttpUnit是SourceForge下面的一個開源項目,它是基于Junit的一個測試框架,主要關注于測試Web應用,解決使用Junit框架無法對遠程Web內(nèi)容進行測試的弊端。HttpUnit通過模擬瀏覽器的行為,處理頁面框架(frames),cookies頁面跳轉(redirects)等。通過HttpUnit提供的功能,你可以和服務器端進行信息交互,將返回的網(wǎng)頁內(nèi)容作為普通文本、XMLDom對象或者是作為鏈接、頁面框架、圖像、表單、表格等的集合進行處理。HttpUnit還提供了一個模擬Servlet容器,讓你可以不需要發(fā)布Servlet,可以對Servlet的內(nèi)部代碼進行測試。

  2.2 如何使用HttpUnit:

  到HttpUnit的主頁http://httpunit.sourceforge.net下載新的包文件,解壓后將%httpunit_home%/lib/*.jar;%httpunit_home%/jars/*.jar加入到Eclipse工程的Javabuild Path變量中。

  2.3 如何使用HttpUnit和Junit編寫Web應用的測試用例:

  在HttpUnit框架中,WebConversation類是重要的類,它用于模擬瀏覽器的行為,WebRequest類用于模仿客戶請求,通過它可以向服務器發(fā)送信息,WebResponse類用于模擬瀏覽器獲取服務器端的響應信息。

  下面我們用HttpUnit編寫一個測試用例,測試在百度里面搜索“誠毅軟件”,搜索結果里面有沒有包含“我們努力使事情更簡單”的內(nèi)容。

  在Eclipse中運行結果中可見在百度里面搜索“誠毅軟件”,搜索結果里面有包含“我們努力使事情更簡單”的內(nèi)容。

  3. 使用EclEmma進行覆蓋測試

  3.1 什么是覆蓋測試

  上面我們介紹了如何用junit和HttpUnit編寫單元測試用例,那如何確定我們編寫的單元測試用例能不能完整地測試我們的代碼呢?這需要看看我們的單元測試用例對我們代碼的覆蓋測試率了。覆蓋測試是衡量測試質(zhì)量的一個重要指標。在對一個軟件產(chǎn)品進行了單元測試、組裝測試、集成測試以及接受測試等繁多的測試之后,我們能不能此對軟件的質(zhì)量產(chǎn)生一定的信心呢?這需要我們對測試的質(zhì)量進行考察。如果測試僅覆蓋了代碼的一小部分,那么不管我們寫了多少測試用例,我們也不能相信軟件質(zhì)量是有保證的。相反,如果測試覆蓋到了軟件的絕大部分代碼,我們能對軟件的質(zhì)量有一個合理的信心。

  3.2 如何使用EclEmma進行覆蓋測試

  EclEmm是一個幫助開發(fā)人員考察測試覆蓋率的的 Eclipse開源插件,EclEmma為用戶提供圖形界面以及對集成開發(fā)環(huán)境的支持,安裝 EclEmma 插件的過程和大部分Eclipse插件相同,我們既可以通過 Eclipse 標準的 Update 機制來遠程安裝EclEmma插件,也可以從站點http://sourceforge.net/projects/eclemma/下載 zip文件并解壓到eclipse 所在的目錄中。安裝完成并重新啟動 Eclipse 之后,工具欄上應該出現(xiàn)一個新的按鈕。

上一頁1234下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd