• <menu id="w2i4a"></menu>
  • logo Parasoft Jtest 使用教程

    文檔首頁>>Parasoft Jtest 使用教程>>parasoft Jtest 使用教程:生成、執(zhí)行和擴(kuò)展Junit測試用例

    parasoft Jtest 使用教程:生成、執(zhí)行和擴(kuò)展Junit測試用例


    parasoft Jtest介紹和試用>>>

    Jtest能自動的生成和執(zhí)行用來捕捉運(yùn)行時異常的JUnit測試用例以及盡可能完整的運(yùn)用方法。你能擴(kuò)展這些自動生成的測試用例來提高測試覆蓋率,驗(yàn)證單元級的功能,以及子模塊,模塊和系統(tǒng)級的功能。

    目的:

    演示如何自動生成和運(yùn)行JUnit測試用例,怎樣復(fù)查和驗(yàn)證結(jié)果,怎樣修復(fù)發(fā)現(xiàn)的錯誤。

    準(zhǔn)備:

    Jtest實(shí)例項(xiàng)目的創(chuàng)建。

    生成過程

    1. 點(diǎn)擊Jtest視圖工具條中的Delete All按鈕,清除當(dāng)前消息。
    2. 選擇Jtest Example>examples.eval>Simple.java in the Package Exporer。
    3. 點(diǎn)擊工具條中的Test Using 按鈕。當(dāng)你點(diǎn)擊這個按鈕時,Jtest執(zhí)行靜態(tài)分析以及單元測試。前面的課程關(guān)注靜態(tài)分析結(jié)果;這個課程關(guān)注單元測試的結(jié)果。如前面教程所講,通過選擇不同的配置,可以只執(zhí)行靜態(tài)分析或者單元測試。
    4. 復(fù)查在測試結(jié)束后打開的Jtest總結(jié)面板。單元測試用例生成策略顯示在generation標(biāo)簽中。單元測試執(zhí)行策略顯示在Execution標(biāo)簽中。
    5. 單擊Close按鈕來關(guān)閉總結(jié)面板。
    6. 注意Jtest將生成的JUnit測試類文件添加到Jtest Example.jtest項(xiàng)目中的examples.eval包中。
    7. 使用測試文件驗(yàn)證Jtest視圖并通過打開Jtest視圖下右側(cè)頂部的下拉菜單的目錄布局,然后選擇Layout>Tested Files and Categories。
    8. 復(fù)查Jtest視圖中的信息。
    9. 在Jtest視圖中,擴(kuò)充simple.java>Review Exceptions>[line#]Unverified java.lang.StringindexOutOfBoundsException:String index out of range 消息。
    10. 雙擊堆棧跟蹤元素,查看失敗的代碼。這揭示了:當(dāng)“0”和“00”被作為startsWith方法中的參數(shù)str和match的值被傳入時,一個異常被拋出。這個異常被認(rèn)為是一個錯誤因?yàn)檫@個方法應(yīng)該能處理任何有效的輸入。換句話說,這個方法應(yīng)該考慮到不同的字符串大小的可能性。如果str的長度比match的小,當(dāng)在for循環(huán)中調(diào)用str.charAt(i)方法時,這個異常被拋出。為了處理這個異常,方法應(yīng)該始終檢查str和match的長度。
    11. 通過右擊它的節(jié)點(diǎn),表明這個未驗(yàn)證的異常實(shí)際上是一個錯誤,然后選擇Move task to "Fix Unit Test Problems".異常將從復(fù)查未驗(yàn)證的單元測試錯誤/失敗任務(wù)目錄中被移除并且添加到修復(fù)單元測試問題任務(wù)目錄中。Jtest還將用一個//verified注釋替換來自相關(guān)測試用例的//unverified注釋。
    12. 通過使用一個if語句,修改startsWith()方法來保護(hù)代碼免于異常;修改的代碼如下所示:
      public static boolean startsWith (String str, String match) {
      if (str.length() < match.length()) {
      return false;
      }
      for (int i = 0; i < match.length (); ++i)
      if (str.charAt (i) != match.charAt (i))
      return false;
      return true;
      }
      這個方法始終檢查字符串的長度以保證不會發(fā)生StringIndexOutOfBoundsException。
    13. 選擇File>Save來保存修改的類。
    14. 將未驗(yàn)證的結(jié)果轉(zhuǎn)化為功能性的單元測試,如下:
    • 復(fù)查每一個列在Jtest視圖的Review Unit Test Outcomes任務(wù)目錄中的未驗(yàn)證結(jié)果。
    • 右擊Review Unit Test Outcomes節(jié)點(diǎn),然后從目錄快捷方式中選擇Verify All。

    查看測試用例覆蓋率

    1. 打開被測文件的編輯器(Simple.java)。Jtest使用左邊綠色的欄來表明相關(guān)的路線被覆蓋了。粉色的欄表明相關(guān)語句沒有被覆蓋。沒有顏色的欄表明相關(guān)的路線不可執(zhí)行。既然達(dá)到了100%的覆蓋率,所以對這個文件沒有紫色的欄。
    2. 打開只在Jtest中的覆蓋視圖(選擇Jtest>Show View>Coverage)。覆蓋視圖顯示出針對類和每個方法的覆蓋統(tǒng)計(jì)(覆蓋百分比,總執(zhí)行路線以及覆蓋路線)。

    用簡單的用戶定義的測試用例來擴(kuò)展測試類

    1. 雙擊Jtest Example.jtest>examples.eval>SimpleTest.java,在編輯器中打開它。
    2. 在testMap1()方法的上面,注釋之后添加如下所示測試方法。
      public void testMap() {
      assertTrue(Simple.map(34) == -2);
      }
    3. 選擇File>Save來保存修改后的測試類。
    4. 運(yùn)行針對簡單類(包括自動生成的測試類,及新測試用例)的所有測試用例,如下:
    • 選擇包瀏覽器Jtest Example>examples.eval>Simple.java。
    • 打開Test Using下拉目錄。然后從目錄中選擇Test Using>Built-in>Run Unit Tests。

    以上就是本次教程的內(nèi)容了,你也可以申請jtest試用>>,親自動手試試哦。

    查看更多測試分析資訊和產(chǎn)品推薦>>>


    查看更多parasoft測試產(chǎn)品

    <詳詢客服>獲取更多活動信息

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();