當(dāng)前位置:首頁(yè) > 測(cè)試測(cè)量 > 測(cè)試測(cè)量
[導(dǎo)讀]在本文中,我將介紹單元測(cè)試與其他方法的區(qū)別,并將提供不進(jìn)行單元測(cè)試時(shí)我們能夠或不能夠做到的例子。我們還會(huì)談到?自動(dòng)化測(cè)試 ,這對(duì)確保代碼的可靠性和質(zhì)量起著重要作用。

單位測(cè)試 是第一道防線,這一層級(jí)的保護(hù)至關(guān)重要,因?yàn)樗鼮橄铝袦y(cè)試過程奠定了基礎(chǔ):集成測(cè)試、驗(yàn)收測(cè)試,最后是手動(dòng)測(cè)試,包括探索性測(cè)試。

在本文中,我將介紹單元測(cè)試與其他方法的區(qū)別,并將提供不進(jìn)行單元測(cè)試時(shí)我們能夠或不能夠做到的例子。我們還會(huì)談到?自動(dòng)化測(cè)試 ,這對(duì)確保代碼的可靠性和質(zhì)量起著重要作用。

單位測(cè)試

單元測(cè)試的思想是為每個(gè)不重要的功能或方法編寫測(cè)試。這使它能夠快速檢查最近的代碼更改是否造成了回歸,這意味著已經(jīng)測(cè)試過的程序的一些部分出現(xiàn)了錯(cuò)誤,這也使檢測(cè)和修復(fù)這些錯(cuò)誤變得更加容易。

當(dāng)單元測(cè)試過多時(shí)

任何沒有適當(dāng)測(cè)試覆蓋的長(zhǎng)期項(xiàng)目遲早會(huì)被重新編寫。單元測(cè)試對(duì)于大多數(shù)項(xiàng)目來說是必不可少的,但也有可能忽略這一步驟的情況。例如,您正在為演示目的創(chuàng)建一個(gè)項(xiàng)目。時(shí)間安排很難。您的系統(tǒng)是硬件和軟件的組合,在項(xiàng)目開始時(shí),還不完全清楚最終產(chǎn)品的樣子。軟件將在展覽或展示期間運(yùn)行1-2天。在這種情況下,沒有必要實(shí)現(xiàn)單元測(cè)試。

另一個(gè)例子是當(dāng)你在一個(gè)廣告網(wǎng)站,或簡(jiǎn)單的閃存游戲,或旗幟,涉及復(fù)雜的布局,動(dòng)畫和大量靜態(tài)內(nèi)容。以上所有內(nèi)容均適用于介紹。

如果您正在構(gòu)建一個(gè)簡(jiǎn)單的名片網(wǎng)站,網(wǎng)站上有一套靜態(tài)HTML頁(yè)面和單一的電子郵件提交表格,不需要單元測(cè)試。客戶很可能對(duì)這個(gè)滿意,不再需要任何東西了。最有可能的是,手動(dòng)檢查和測(cè)試所有東西會(huì)更快。

單元測(cè)試實(shí)施

在計(jì)劃單元測(cè)試時(shí),記住您的目標(biāo)是確保您的單元測(cè)試代碼覆蓋率超過80%。這意味著在運(yùn)行單元測(cè)試時(shí)至少執(zhí)行80%的代碼庫(kù)。因此,要開始將單元測(cè)試整合到您的開發(fā)過程中,請(qǐng)嘗試通過下面的步驟。

1.選擇合適的測(cè)試架構(gòu)

選擇一個(gè)適合你需要的框架,而不是重新設(shè)計(jì)車輪。例如,許多?.網(wǎng) 開發(fā)人員使用MSTST是因?yàn)樗鼛в锌梢暬ぷ魇?但是N單元或X單元可能為您的項(xiàng)目提供更好的功能。

2.決定測(cè)試什么

并非所有代碼都需要測(cè)試。簡(jiǎn)單的、無依賴性的代碼可能不需要測(cè)試,而具有許多依賴性的復(fù)雜代碼可能在測(cè)試前受益于重構(gòu)。重點(diǎn)測(cè)試復(fù)雜的、算法代碼和相互依存的組件,以確保清晰的交互和集成。

3.保持測(cè)試結(jié)構(gòu)的一致性

使用"安排"、"行動(dòng)"、"斷言"模式來實(shí)現(xiàn)清晰性和可維護(hù)性。

4.一次測(cè)試一件事

每個(gè)測(cè)試只需驗(yàn)證代碼的一個(gè)方面。對(duì)于復(fù)雜的過程,將它們分成較小的部分并分別測(cè)試。

5.用假貨處理依賴關(guān)系

用假實(shí)現(xiàn)替換真實(shí)的依賴關(guān)系,以避免測(cè)試不必要的組件。使用存根進(jìn)行預(yù)先定義的響應(yīng)和模擬以驗(yàn)證交互。

6.使用隔離框架

使用現(xiàn)有的框架,比如Moq或犀牛嘲笑來創(chuàng)建嘲笑和存根,而不是編寫自己的。這減少了錯(cuò)誤和維護(hù)開銷。

7.可測(cè)試性設(shè)計(jì)

最初編寫代碼時(shí)要考慮到可測(cè)試性。使用依賴項(xiàng)注入,避免在方法中直接實(shí)例化對(duì)象,并盡量減少使用靜態(tài)方法和邏輯構(gòu)造函數(shù)。

8.重構(gòu)遺留代碼

如果處理不可測(cè)試的遺留代碼,從重構(gòu)小的、可管理的部分開始,并在編寫單元測(cè)試之前用集成和驗(yàn)收測(cè)試來覆蓋它們。逐步將這一過程擴(kuò)大到代碼庫(kù)的更大部分。

自動(dòng)化測(cè)試

這個(gè)方法的名稱是不言而喻的:在自動(dòng)化測(cè)試中,測(cè)試用例是自動(dòng)執(zhí)行的。它發(fā)生的速度比手動(dòng)測(cè)試快得多,甚至可以在夜間進(jìn)行,因?yàn)檎麄€(gè)過程最少需要人為干擾。當(dāng)你需要快速的反饋時(shí),這種方法是絕對(duì)改變游戲的。然而,與任何自動(dòng)化一樣,在最初的設(shè)置階段,它可能需要大量的時(shí)間和財(cái)政資源。盡管如此,它完全值得使用,因?yàn)樗鼘⑹拐麄€(gè)過程更加高效,代碼更加可靠。

自動(dòng)化測(cè)試實(shí)施

這里的第一步是了解項(xiàng)目是否包含測(cè)試自動(dòng)化。您需要確保項(xiàng)目有一個(gè)健壯的測(cè)試自動(dòng)化框架。反過來,自動(dòng)化工程師應(yīng)精通工具棧(例如:遵守既定的自動(dòng)化準(zhǔn)則。

1.與手動(dòng)測(cè)試相比的自動(dòng)化覆蓋率

努力使高比例的測(cè)試用例實(shí)現(xiàn)自動(dòng)化,最好超過90%,以最大限度地提高效率,減少對(duì)手動(dòng)測(cè)試的依賴。

2.項(xiàng)目概覽和自動(dòng)化實(shí)施

自動(dòng)化測(cè)試一直是一個(gè)大型項(xiàng)目,涉及多個(gè)團(tuán)隊(duì)開發(fā)共享產(chǎn)品,每個(gè)團(tuán)隊(duì)中都有手動(dòng)質(zhì)量保證測(cè)試人員。測(cè)試集中在前端和后端方面。

3.了解項(xiàng)目

首先,我們需要了解產(chǎn)品的目的和用戶。這有助于確定自動(dòng)化工作的優(yōu)先次序。例如,如果產(chǎn)品是為企業(yè)服務(wù)的,那么就把重點(diǎn)放在測(cè)試法律合規(guī)性和支付交易上。對(duì)于面向消費(fèi)者的產(chǎn)品,優(yōu)先考慮關(guān)鍵操作,如卡到卡轉(zhuǎn)移和服務(wù)支付。自動(dòng)化應(yīng)全面應(yīng)用于整個(gè)產(chǎn)品,而不僅僅是單個(gè)團(tuán)隊(duì)。

4.確定主要利益攸關(guān)方

熟悉所有利益相關(guān)者是至關(guān)重要的,因?yàn)榕c他們的互動(dòng)是必要的。主要人員包括:

· 產(chǎn)品所有者 :他們是自動(dòng)化的客戶,并確定其要求。

· 質(zhì)量保證工程師 :他們是自動(dòng)化工具的最終用戶,他們的滿意程度是成功的衡量標(biāo)準(zhǔn)。

· 手動(dòng)測(cè)試引線 :他們幫助組織過程,并協(xié)調(diào)手動(dòng)測(cè)試。

· 前沿發(fā)展領(lǐng)導(dǎo) :它們影響自動(dòng)化測(cè)試的穩(wěn)定性和質(zhì)量。

· 采購(gòu)專家 :他們處理硬件分配,主要是服務(wù)器設(shè)備。

5.諒解小組

收集關(guān)于每個(gè)團(tuán)隊(duì)的項(xiàng)目范圍的信息,無論它包括前置、后端還是兩者。了解質(zhì)量保證團(tuán)隊(duì)如何測(cè)試他們的部門和他們對(duì)自動(dòng)化的熟悉程度。確定測(cè)試挑戰(zhàn)和自動(dòng)化領(lǐng)域的優(yōu)先次序。

6.制定自動(dòng)化要求

在大多數(shù)情況下,我們的目標(biāo)是采取一種沒有創(chuàng)新解決辦法的經(jīng)典辦法:

· 編程語(yǔ)言 :為聘用專家提供便利

· 前置測(cè)試

· 后端測(cè)試 :使用?安全的 休息時(shí)的互動(dòng)。

· 數(shù)據(jù)庫(kù)測(cè)試 :用于標(biāo)準(zhǔn)的Java圖書館

· 自動(dòng)化測(cè)試 :為培訓(xùn)手冊(cè)質(zhì)量保證測(cè)試人員和降低成本選擇黃瓜。

· 報(bào)告 :最后,但并非最不重要的是,使用吸引力的和信息豐富的報(bào)告。

7.演示和登機(jī)

為所有的利益相關(guān)者,包括產(chǎn)品所有者,質(zhì)量保證工程師,開發(fā)人員和分析師進(jìn)行演示,重點(diǎn)是清晰度。從前端團(tuán)隊(duì)開始創(chuàng)建可見的結(jié)果。開發(fā)5-10個(gè)自動(dòng)化測(cè)試,記錄它們,并使用圖解顯示結(jié)果。說明了自動(dòng)化基礎(chǔ)設(shè)施、主要目標(biāo)和效果,并比較了手動(dòng)和自動(dòng)化測(cè)試.

8.為自動(dòng)化準(zhǔn)備用戶界面

為確??煽亢头€(wěn)定的自動(dòng)測(cè)試,增加"data-test-id 在前端領(lǐng)導(dǎo)和產(chǎn)品所有者的合作下,集中屬性到UI元素。這一實(shí)踐大大提高了測(cè)試的可靠性,因?yàn)樗箿y(cè)試不受UI元素位置或內(nèi)容的改變的影響。

9.開發(fā)自動(dòng)化測(cè)試

在自動(dòng)化測(cè)試人員之間分配任務(wù)。使用模板創(chuàng)建自動(dòng)化項(xiàng)目框架。準(zhǔn)備步驟進(jìn)行正面測(cè)試,使這些步驟可在各個(gè)項(xiàng)目中重復(fù)使用,并設(shè)置了月球和詹金斯。通過建立存儲(chǔ)庫(kù),創(chuàng)建詹金斯工作,以及在GIT和開發(fā)環(huán)境中培訓(xùn)質(zhì)量保證,將團(tuán)隊(duì)整合到自動(dòng)化中。

然后,質(zhì)量保證手動(dòng)測(cè)試人員將編寫他們的自動(dòng)化測(cè)試,由自動(dòng)化工程師進(jìn)行審查和集成。最后的步驟開發(fā)將發(fā)生在業(yè)余時(shí)間的短跑。在每個(gè)沖刺結(jié)束時(shí),展示結(jié)果并在產(chǎn)品演示中宣布新的功能。

結(jié)論

如您所見,單元測(cè)試和自動(dòng)化測(cè)試是相輔相成的。通過每天使用它們來識(shí)別缺陷,可以減少每個(gè)階段的回歸測(cè)試時(shí)間。此外,這將逐步導(dǎo)致產(chǎn)品更快地投入生產(chǎn),從而節(jié)省時(shí)間和資源。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉