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

單位測試 是第一道防線,這一層級的保護至關(guān)重要,因為它為下列測試過程奠定了基礎(chǔ):集成測試、驗收測試,最后是手動測試,包括探索性測試。

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

單位測試

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

當(dāng)單元測試過多時

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

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

如果您正在構(gòu)建一個簡單的名片網(wǎng)站,網(wǎng)站上有一套靜態(tài)HTML頁面和單一的電子郵件提交表格,不需要單元測試??蛻艉芸赡軐@個滿意,不再需要任何東西了。最有可能的是,手動檢查和測試所有東西會更快。

單元測試實施

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

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

選擇一個適合你需要的框架,而不是重新設(shè)計車輪。例如,許多?.網(wǎng) 開發(fā)人員使用MSTST是因為它帶有可視化工作室,但是N單元或X單元可能為您的項目提供更好的功能。

2.決定測試什么

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

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

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

4.一次測試一件事

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

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

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

6.使用隔離框架

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

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

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

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

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

自動化測試

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

自動化測試實施

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

1.與手動測試相比的自動化覆蓋率

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

2.項目概覽和自動化實施

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

3.了解項目

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

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

熟悉所有利益相關(guān)者是至關(guān)重要的,因為與他們的互動是必要的。主要人員包括:

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

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

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

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

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

5.諒解小組

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

6.制定自動化要求

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

· 編程語言 :為聘用專家提供便利

· 前置測試

· 后端測試 :使用?安全的 休息時的互動。

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

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

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

7.演示和登機

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

8.為自動化準備用戶界面

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

9.開發(fā)自動化測試

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

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

結(jié)論

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

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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