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

    文檔首頁>>Parasoft Jtest 使用教程>>parasoft Jtest 使用教程:單元測試和用例生成詳細解析

    parasoft Jtest 使用教程:單元測試和用例生成詳細解析


    單元測試和測試用例的生成可謂是整個測試過程的核心和重點,今天就給大家解析這兩個概念,讓大家對這兩點有更加深刻的理解,當(dāng)然你也可以在評論區(qū)發(fā)表你的看法喲~

    parasoft Jtest介紹和試用>>>

    單元測試

    “單元測試”是指在最簡單的功能點測試軟件代碼,該功能點通常是單個類,或者一個函數(shù)。單元測試通常由開發(fā)人員在項目開發(fā)周期內(nèi)執(zhí)行,而不是在 QA 階段進行。通過使用單元測試,您可以確保應(yīng)用程序構(gòu)建塊在集成之前的可靠性,從而提高整個應(yīng)用程序的質(zhì)量。如果測試進行得早,則識別和修正缺陷的難度通常較低,耗時也較少。

    手動單元測試通常涉及手工編寫測試集、指定輸入數(shù)據(jù)以及為缺少的函數(shù)提供樁函數(shù)。 Jtest 可將這些任務(wù)自動化,以使得單元測試更有效率,更具一致性。

    通常,單元測試可能包括:

    • 異常測試(也稱為白盒測試、應(yīng)力測試、結(jié)構(gòu)測試或可靠性測試),用來確認(rèn)代碼的結(jié)構(gòu)可靠性,能處理所有可行的輸入以及輸入組合,不會產(chǎn)生預(yù)料之外的異常。
    • 功能測試,用于驗證所建立模塊是否符合需求和功能是否正常工作。在單元級別創(chuàng)建功能測試涉及到人工輸入,以指定特定的輸入和狀態(tài)條件、以及預(yù)期的輸出。功能測試可以作為白盒測試來實施(在了解接受測試的單元的內(nèi)部組織和實現(xiàn)的情況下進行測試),或者黑盒測試,后者僅基于接受測試的單元的外部行為進行。
    • 回歸測試,用來驗證現(xiàn)有代碼行為不會隨著代碼庫改進而更改。完成此測試的通常做法是,開發(fā)一組測試,驗證它們的正確性,在代碼更改之后運行它們,以捕獲代碼行為中的偏差?;貧w測試可能要依賴于異常測試和功能測試。

    Jtest 可以執(zhí)行上述所有類型的單元測試;可以自定義所執(zhí)行測試的級別和范圍,以便體現(xiàn)您的需求和測試習(xí)慣。

    當(dāng)您運行 Jtest 自動生成的測試用例時,請執(zhí)行異常測試。此類測試可暴露意料之外的異常,并檢查類在結(jié)構(gòu)方面是否合理??煽啃詼y試能否成功,取決于代碼是否能完全覆蓋,因此必要時,您可能會想要擴展自動生成的測試用例,以增強代碼覆蓋率。Jtest 可測量測試覆蓋率,以有助于您評估覆蓋率,并確定哪些地方需要附加測試。

    當(dāng)您擴展自動生成的測試用例,以驗證類的公共接口是否按照規(guī)范所述運行時,請執(zhí)行功能測試。此外,如果你的規(guī)格說明公共接口需要由合同來設(shè)計。但您執(zhí)行自動生成的單元測試用例,Jtest執(zhí)行功能性測試。更重要的是,Jtest Tracer可以自動生成符合實際的功能性測試測試用例,這些測試用例在運行應(yīng)用程序的過程中捕獲代碼的行為(例如,使用用例執(zhí)行應(yīng)用程序)

    回歸測試涉及到定期測試改進的代碼庫,其做法是運行所有可用的測試用例,并檢查預(yù)期的結(jié)果是否發(fā)生更改。在當(dāng)前測試的測試用例結(jié)果與預(yù)期的測試用例結(jié)果不匹配時,Jtest 會報告錯誤消息。

    此外,Jtest可以配置來觀察內(nèi)存使用情況和報告任何檢測到的內(nèi)存泄露問題。如果內(nèi)存泄露檢測是可用的,在測試用例執(zhí)行過程中,Jtest監(jiān)控對象分配事件和對象銷毀事件。如果它被分配了但在測試結(jié)束時,垃圾回收器沒有銷毀該對象,則該對象被認(rèn)為是泄露的。每一個測試被執(zhí)行三次,以確保泄露的內(nèi)存沒有初始化或緩存。如果Jtest確定泄露發(fā)生,它報告三次測試執(zhí)行中最小的泄露和標(biāo)記哪些內(nèi)存被分配的行的位置。

    測試用例生成

    編寫單元測試是一項重要任務(wù),它確保了代碼的質(zhì)量。單元測試不僅能暴露錯誤和功能問題,而且能作為常規(guī)的回歸測試運行,以有助于您確定代碼的添加/修改是否破壞了現(xiàn)有功能,或者是否造成意外的更改。

    不過,編寫測試是一項耗時的工作,如果不仔細就可能會遺漏重要的情況。Jtest 提供的單元測試支持,可幫助開發(fā)人員和測試人員非??焖俚貏?chuàng)建良好的單元測試。Jtest 之所以能提供幫助,是因為它自動生成許多單元測試,允許用戶自定義測試生成和執(zhí)行,以符合他們的參數(shù)選擇和需求。

    Jtest 自動生成大量測試用例,這些測試用例會試圖執(zhí)行代碼中的所有不同路徑,然后保存實際的測試用例結(jié)果。從本質(zhì)上來講,這些測試用例就好比在對代碼的當(dāng)前狀態(tài)照 x 射線,在修改代碼之前拍攝代碼運行情況的快照。它們還有助于識別可能影響代碼可靠性和安全性的潛在異常狀況。

    Jtest 可以為任何Java代碼生成從單個函數(shù)到整個項目的測試用例。通過在Jtest 中運行這些測試用例,您可以驗證類的健壯性,識別可能造成程序進入不一致狀態(tài)或終止?fàn)顟B(tài)的輸入。您可以自定義預(yù)先配置的測試方式、以及特定的測試生成設(shè)置。

    測試用例可以用C 或 C++ 源碼來實現(xiàn)和保存(所用語言取決于要測試的原始源碼)。這些測試用例使用與通用的 CppUnit 格式類似的格式。C++test 的測試提供了比 CppUnit 更廣泛的功能,包括可以測試C代碼、并在測試框架內(nèi)提供對私有和保護成員數(shù)據(jù)以及成員函數(shù)進行訪問的功能。

    現(xiàn)有 CppUnit 測試用例可以導(dǎo)入到 C++test 中,與自動生成的測試用例配合使用??梢酝ㄟ^用戶定義的測試用例對測試套件進行擴展,以改進測試覆蓋率并驗證特定的功能;可以通過修改自動生成的測試用例、或定義新的測試用例,來添加這些測試。對于回歸測試,可以自動驗證和配置任何可用的測試用例。通過保存所有可用的測試用例,并充分將它們用于自動回歸測試,您可以建立一個回歸測試基礎(chǔ)結(jié)構(gòu),快速地識別因代碼修改而引入的意外功能更改和異常。

    自動測試用例生成的功能,允許您在更短的時間內(nèi)創(chuàng)建更有效的測試套件。測試用例的開發(fā),歷來是單元測試過程中最耗時的部分。通過使用 Jtest,您無需編寫任何代碼以生成一組使用每一個類的基礎(chǔ)測試用例,您可以通過向自動生成的測試用例添加少量代碼來創(chuàng)建更多的測試用例。通常,您無需為簡單方法編寫測試用例而擔(dān)心,可以將資源集中于更復(fù)雜方法的擴展/添加測試。

    而且,自動測試用例生成可通過以下兩種重要途徑,有助于您預(yù)防發(fā)生錯誤:

    • 它使您能夠在完成類的編寫或修改之后,立即生成和執(zhí)行測試用例。這有助于您找到并糾正錯誤,以免您(或某個團隊成員)無意中因添加問題類代碼或與問題代碼交互而引入附加的錯誤。
    • 它通過自動生成必需的測試用例范圍和類型,使得快速徹底的可靠性測試成為可能,這是通過手動設(shè)計測試用例所無法達到的。Jtest 會試圖創(chuàng)建測試用例,執(zhí)行所測試的全部方法的各種可能分支。例如,如果方法包含一個條件語句(例如 if 塊),Jtest 會試圖生成測試用例,以測試 if 語句的 true 和 false 結(jié)果。

    查看更多測試分析資訊和產(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); })();