原創(chuàng)|使用教程|編輯:蔣永|2017-02-22 10:09:25.000|閱讀 1831 次
概述:單元測試和測試用例的生成可謂是整個(gè)測試過程的核心和重點(diǎn),今天就給大家解析這兩個(gè)概念,讓大家對這兩點(diǎn)有更加深刻的理解
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
單元測試和測試用例的生成可謂是整個(gè)測試過程的核心和重點(diǎn),今天就給大家解析這兩個(gè)概念,讓大家對這兩點(diǎn)有更加深刻的理解,當(dāng)然你也可以在評論區(qū)發(fā)表你的看法喲~
“單元測試”是指在最簡單的功能點(diǎn)測試軟件代碼,該功能點(diǎn)通常是單個(gè)類,或者一個(gè)函數(shù)。單元測試通常由開發(fā)人員在項(xiàng)目開發(fā)周期內(nèi)執(zhí)行,而不是在 QA 階段進(jìn)行。通過使用單元測試,您可以確保應(yīng)用程序構(gòu)建塊在集成之前的可靠性,從而提高整個(gè)應(yīng)用程序的質(zhì)量。如果測試進(jìn)行得早,則識別和修正缺陷的難度通常較低,耗時(shí)也較少。
手動(dòng)單元測試通常涉及手工編寫測試集、指定輸入數(shù)據(jù)以及為缺少的函數(shù)提供樁函數(shù)。 Jtest 可將這些任務(wù)自動(dòng)化,以使得單元測試更有效率,更具一致性。
通常,單元測試可能包括:
Jtest 可以執(zhí)行上述所有類型的單元測試;可以自定義所執(zhí)行測試的級別和范圍,以便體現(xiàn)您的需求和測試習(xí)慣。
當(dāng)您運(yùn)行 Jtest 自動(dòng)生成的測試用例時(shí),請執(zhí)行異常測試。此類測試可暴露意料之外的異常,并檢查類在結(jié)構(gòu)方面是否合理。可靠性測試能否成功,取決于代碼是否能完全覆蓋,因此必要時(shí),您可能會(huì)想要擴(kuò)展自動(dòng)生成的測試用例,以增強(qiáng)代碼覆蓋率。Jtest 可測量測試覆蓋率,以有助于您評估覆蓋率,并確定哪些地方需要附加測試。
當(dāng)您擴(kuò)展自動(dòng)生成的測試用例,以驗(yàn)證類的公共接口是否按照規(guī)范所述運(yùn)行時(shí),請執(zhí)行功能測試。此外,如果你的規(guī)格說明公共接口需要由合同來設(shè)計(jì)。但您執(zhí)行自動(dòng)生成的單元測試用例,Jtest執(zhí)行功能性測試。更重要的是,Jtest Tracer可以自動(dòng)生成符合實(shí)際的功能性測試測試用例,這些測試用例在運(yùn)行應(yīng)用程序的過程中捕獲代碼的行為(例如,使用用例執(zhí)行應(yīng)用程序)
回歸測試涉及到定期測試改進(jìn)的代碼庫,其做法是運(yùn)行所有可用的測試用例,并檢查預(yù)期的結(jié)果是否發(fā)生更改。在當(dāng)前測試的測試用例結(jié)果與預(yù)期的測試用例結(jié)果不匹配時(shí),Jtest 會(huì)報(bào)告錯(cuò)誤消息。
此外,Jtest可以配置來觀察內(nèi)存使用情況和報(bào)告任何檢測到的內(nèi)存泄露問題。如果內(nèi)存泄露檢測是可用的,在測試用例執(zhí)行過程中,Jtest監(jiān)控對象分配事件和對象銷毀事件。如果它被分配了但在測試結(jié)束時(shí),垃圾回收器沒有銷毀該對象,則該對象被認(rèn)為是泄露的。每一個(gè)測試被執(zhí)行三次,以確保泄露的內(nèi)存沒有初始化或緩存。如果Jtest確定泄露發(fā)生,它報(bào)告三次測試執(zhí)行中最小的泄露和標(biāo)記哪些內(nèi)存被分配的行的位置。
編寫單元測試是一項(xiàng)重要任務(wù),它確保了代碼的質(zhì)量。單元測試不僅能暴露錯(cuò)誤和功能問題,而且能作為常規(guī)的回歸測試運(yùn)行,以有助于您確定代碼的添加/修改是否破壞了現(xiàn)有功能,或者是否造成意外的更改。
不過,編寫測試是一項(xiàng)耗時(shí)的工作,如果不仔細(xì)就可能會(huì)遺漏重要的情況。Jtest 提供的單元測試支持,可幫助開發(fā)人員和測試人員非常快速地創(chuàng)建良好的單元測試。Jtest 之所以能提供幫助,是因?yàn)樗詣?dòng)生成許多單元測試,允許用戶自定義測試生成和執(zhí)行,以符合他們的參數(shù)選擇和需求。
Jtest 自動(dòng)生成大量測試用例,這些測試用例會(huì)試圖執(zhí)行代碼中的所有不同路徑,然后保存實(shí)際的測試用例結(jié)果。從本質(zhì)上來講,這些測試用例就好比在對代碼的當(dāng)前狀態(tài)照 x 射線,在修改代碼之前拍攝代碼運(yùn)行情況的快照。它們還有助于識別可能影響代碼可靠性和安全性的潛在異常狀況。
Jtest 可以為任何Java代碼生成從單個(gè)函數(shù)到整個(gè)項(xiàng)目的測試用例。通過在Jtest 中運(yùn)行這些測試用例,您可以驗(yàn)證類的健壯性,識別可能造成程序進(jìn)入不一致狀態(tài)或終止?fàn)顟B(tài)的輸入。您可以自定義預(yù)先配置的測試方式、以及特定的測試生成設(shè)置。
測試用例可以用C 或 C++ 源碼來實(shí)現(xiàn)和保存(所用語言取決于要測試的原始源碼)。這些測試用例使用與通用的 CppUnit 格式類似的格式。C++test 的測試提供了比 CppUnit 更廣泛的功能,包括可以測試C代碼、并在測試框架內(nèi)提供對私有和保護(hù)成員數(shù)據(jù)以及成員函數(shù)進(jìn)行訪問的功能。
現(xiàn)有 CppUnit 測試用例可以導(dǎo)入到 C++test 中,與自動(dòng)生成的測試用例配合使用。可以通過用戶定義的測試用例對測試套件進(jìn)行擴(kuò)展,以改進(jìn)測試覆蓋率并驗(yàn)證特定的功能;可以通過修改自動(dòng)生成的測試用例、或定義新的測試用例,來添加這些測試。對于回歸測試,可以自動(dòng)驗(yàn)證和配置任何可用的測試用例。通過保存所有可用的測試用例,并充分將它們用于自動(dòng)回歸測試,您可以建立一個(gè)回歸測試基礎(chǔ)結(jié)構(gòu),快速地識別因代碼修改而引入的意外功能更改和異常。
自動(dòng)測試用例生成的功能,允許您在更短的時(shí)間內(nèi)創(chuàng)建更有效的測試套件。測試用例的開發(fā),歷來是單元測試過程中最耗時(shí)的部分。通過使用 Jtest,您無需編寫任何代碼以生成一組使用每一個(gè)類的基礎(chǔ)測試用例,您可以通過向自動(dòng)生成的測試用例添加少量代碼來創(chuàng)建更多的測試用例。通常,您無需為簡單方法編寫測試用例而擔(dān)心,可以將資源集中于更復(fù)雜方法的擴(kuò)展/添加測試。
而且,自動(dòng)測試用例生成可通過以下兩種重要途徑,有助于您預(yù)防發(fā)生錯(cuò)誤:
查看更多parasoft測試產(chǎn)品
獲取更多活動(dòng)信息
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn