原創(chuàng)|使用教程|編輯:鄭恭琳|2021-01-06 14:57:00.870|閱讀 338 次
概述:我們創(chuàng)建了Parasoft Jtest單元測試助手來減輕單元測試的痛苦,因為我們聽說您討厭單元測試,但是我們知道您需要它來成功。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
我們創(chuàng)建了Parasoft Jtest單元測試助手來減輕單元測試的痛苦,因為我們聽說您討厭單元測試,但是我們知道您需要它來成功。
面對現(xiàn)實吧。沒有人真的喜歡做單元測試。有很多人向我講述他們討厭它的故事。盡管有些人擅長于此,但對于我們大多數(shù)人而言,盡管有最好、最聰明的抱怨,但這只是必須做的必不可少的事情。今天,我將探討為什么我們不喜歡它的一些原因,以及如何通過軟件自動化克服這些障礙。
大多數(shù)開發(fā)團(tuán)隊都會同意,盡管他們不喜歡它,但是單元測試實際上是有價值的。它可以幫助開發(fā)人員真正理解他們正在開發(fā)的代碼,并為連續(xù)測試金字塔打下堅實的基礎(chǔ),如右圖所示,從而使團(tuán)隊能夠加快敏捷開發(fā)的速度,同時減少缺陷滑入開發(fā)管道后期的風(fēng)險。
我會更進(jìn)一步地說,創(chuàng)建單元測試的過程本身就是一項有益的活動,它可以幫助開發(fā)人員通過不同的角度查看他們的代碼,實質(zhì)上是進(jìn)行額外的代碼審查。
在進(jìn)行單元測試時,您可以從外部角度查看該功能的界面,并從諸如“如何使用我的代碼?”之類的問題中受益。(從而簡化了界面并降低了代碼維護(hù)成本),或者,如果我收到無效的數(shù)據(jù)該怎么辦?(導(dǎo)致更健壯和可重用的代碼)。
通常,開發(fā)團(tuán)隊進(jìn)行單元測試的數(shù)量很少或完全不進(jìn)行,這通常是由于以下因素的組合:(1)提供越來越多的功能的壓力(和花費的時間),以及(2)復(fù)雜性和時間——創(chuàng)建有價值的單元測試的消耗性質(zhì)。
這可以歸結(jié)為開發(fā)人員列舉的將限制采用單元測試作為核心開發(fā)實踐的一些常見原因,包括:
為了解決這些限制,目前有幾種現(xiàn)有的工具可以幫助進(jìn)行單元測試。單元測試和斷言框架提供了標(biāo)準(zhǔn)化的執(zhí)行格式(即Junit),以無縫集成到CI基礎(chǔ)架構(gòu)中(例如Jenkins,Bamboo,TeamCity)。IDE有助于創(chuàng)建測試代碼(例如Eclipse,IntelliJ)。模擬框架將代碼與其依賴項隔離開(例如Mockito,PowerMock)。代碼覆蓋工具可讓您對執(zhí)行的代碼有一些了解(例如Emma,Cobertura,Clover)。調(diào)試器允許開發(fā)人員監(jiān)視和檢查單個測試的分步執(zhí)行。
但是不幸的是,所有這些工具都有局限性,并且開發(fā)人員仍然發(fā)現(xiàn)許多難點,例如:
總之,在開始向測試中添加業(yè)務(wù)邏輯之前,單元測試的創(chuàng)建仍然需要大量的手動,費時且經(jīng)常令人費解的工作。
為了構(gòu)建可幫助您繞過這些痛點的工具,我們轉(zhuǎn)向了軟件測試自動化(當(dāng)然)。現(xiàn)在,可以使用Parasoft Jtest的單元測試助手來幫助您單擊按鈕來創(chuàng)建功能齊全的單元測試。
使用UTA創(chuàng)建的測試只是“常規(guī)” JUnit,但是為您完成了所有繁瑣的工作。UTA設(shè)置測試框架,實例化對象,并為被測試方法所使用的適當(dāng)對象和方法調(diào)用配置模擬。
這些JUnit可以作為標(biāo)準(zhǔn)CI工作流的一部分執(zhí)行,就像執(zhí)行現(xiàn)有測試一樣。但是,當(dāng)UTA執(zhí)行JUnit(包括您現(xiàn)有的測試)時,對測試的監(jiān)視方式不僅可以提供代碼覆蓋范圍,還可以提供分析功能。
通過在運行時分析測試,UTA可以提供一系列建議,其中許多具有快速修復(fù)的功能,可幫助您一鍵式執(zhí)行操作,例如:
我們創(chuàng)建UTA來緩解單元測試的痛苦,因為作為一家專門從事軟件完善的組織,我們知道單元測試是創(chuàng)建安全、可靠、保障和高質(zhì)量的軟件的重要步驟。因此,我希望在以后的會議和活動中與您進(jìn)行對話,在這里您可以告訴我有關(guān)使用UTA帶回愛的經(jīng)驗,而不必告訴我您討厭單元測試的程度。
要獲得Jtest UTA的免費演示,請。
要查看運行中的單元測試助手,請查看以下視頻:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn