自動(dòng)化單元測(cè)試要怎么理解?自動(dòng)化單元測(cè)試有幾大原則?

發(fā)布時(shí)間:2020-07-31

我們經(jīng)常聽(tīng)說(shuō)的是壓力測(cè)試、靜態(tài)分析以及App測(cè)試等,很少聽(tīng)說(shuō)過(guò)自動(dòng)化單元測(cè)試,這個(gè)測(cè)試到底指的是哪個(gè)方面的測(cè)試。自動(dòng)化單元測(cè)試其實(shí)指的就是最小模塊的測(cè)試,它在軟件開(kāi)發(fā)中是最低級(jí)別的測(cè)試,我們下面詳細(xì)的了解一下吧。

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

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

自動(dòng)化單元測(cè)試簡(jiǎn)單地說(shuō)就是使用工具對(duì)軟件中的最小可測(cè)試單元進(jìn)行檢查和驗(yàn)證。通常而言,一個(gè)單元測(cè)試是用于判斷某個(gè)特定條件(或者場(chǎng)景)下某個(gè)特定函數(shù)的行為。單元就是人為規(guī)定的最小的被測(cè)功能模塊。單元測(cè)試是在軟件開(kāi)發(fā)過(guò)程中要進(jìn)行的最低級(jí)別的測(cè)試活動(dòng),軟件的獨(dú)立單元將在與程序的其他部分相隔離的情況下進(jìn)行測(cè)試。

自動(dòng)化單元測(cè)試的原則

提交代碼、運(yùn)行測(cè)試的重點(diǎn)是什么?快速捕獲那些因修改向系統(tǒng)中引入的最常見(jiàn)錯(cuò)誤,并通知開(kāi)發(fā)人員,以便他們能快速修復(fù)他們。提交階段提供反饋的價(jià)值在于,對(duì)它的投入可以讓系統(tǒng)高效且更快地工作。

隔離 UI 操作

UI 應(yīng)當(dāng)作為更高層次的測(cè)試 Level,需要花費(fèi)大量時(shí)間準(zhǔn)備數(shù)據(jù),業(yè)務(wù)邏輯復(fù)雜,過(guò)早進(jìn)入 UI 階段,容易分散開(kāi)發(fā)的單元測(cè)試精力。

隔離數(shù)據(jù)庫(kù)以及文件讀寫(xiě)網(wǎng)絡(luò)開(kāi)銷(xiāo)等操作

自動(dòng)化測(cè)試中如果需要將結(jié)果寫(xiě)入數(shù)據(jù)庫(kù),然后再驗(yàn)證改結(jié)果是否被正確寫(xiě)入,這種驗(yàn)證方法簡(jiǎn)單、容易理解,但是它不是一個(gè)高效的方法。這個(gè)應(yīng)當(dāng)從集成測(cè)試的 Level 去解決。

首先:與數(shù)據(jù)庫(kù)的交互,是漫長(zhǎng)的,甚至有可能要投入維護(hù)數(shù)據(jù)庫(kù)的時(shí)間,那將成為快速測(cè)試的一個(gè)障礙,開(kāi)發(fā)人員不能得到及時(shí)有效的反饋。假設(shè),我需要花費(fèi)一個(gè)小時(shí),才能驗(yàn)證完畢與數(shù)據(jù)庫(kù)交互的結(jié)果,這種等待是多么漫長(zhǎng)呀。

其次,數(shù)據(jù)管理需要成本,從數(shù)據(jù)的篩選(線上數(shù)據(jù)可能是 T 級(jí))到測(cè)試環(huán)境的 M 級(jí)別,如何把篩選合適的大小,這都使得管理成本增加

最后,如果一定要有讀寫(xiě)操作才能完成的測(cè)試,也要反思代碼的可測(cè)試性做的如何?是否需要重構(gòu)。

單元測(cè)試決不要依賴于數(shù)據(jù)庫(kù)以及文件系統(tǒng)、網(wǎng)絡(luò)開(kāi)銷(xiāo)等一切外部依賴。

如果在單元測(cè)試中,還需要啟動(dòng) Spring 容器進(jìn)行依賴注入、加載依賴的 WebService 等,這個(gè)過(guò)程是相當(dāng)消耗時(shí)間的。

設(shè)計(jì)簡(jiǎn)單的測(cè)試

明確定義方法:

成功:public void testSendReportLongDateSuccess()

失?。簆ublic void testSendReportLongDateFail(),可以包括異常

和單一的斷言,避免在一個(gè)方法內(nèi)使用多個(gè)復(fù)雜斷言,這會(huì)造成代碼結(jié)構(gòu)的復(fù)雜,使得測(cè)試的復(fù)雜性提高。

定義測(cè)試套件的運(yùn)行時(shí)間

構(gòu)建的單元測(cè)試,每個(gè)方法的構(gòu)建時(shí)間應(yīng)該是毫秒級(jí)別,整個(gè)類(lèi)是秒級(jí)別,理想的是整體構(gòu)建時(shí)間控制在 5 分鐘以內(nèi),如果超過(guò)怎么辦呢?

首先,拆分成多個(gè)套件,在多臺(tái)機(jī)器上并行執(zhí)行這些套件;

其次,重構(gòu)那些運(yùn)行時(shí)間比較長(zhǎng)且不經(jīng)常失敗的測(cè)試類(lèi);

關(guān)于自動(dòng)化單元測(cè)試的介紹到這里就結(jié)束了,最后小編介紹一個(gè)自動(dòng)化管理工具吧,AutoRunner是一個(gè)自動(dòng)化的測(cè)試工具,這個(gè)工具支持Java程序、瀏覽器、Siverlight 程序等類(lèi)型的腳本錄制,支持腳本錄制暫停功能等等,功能是很強(qiáng)大的。

推薦閱讀:

想要做好滲透測(cè)試,就需要明白的這八大步驟

深入了解黑盒測(cè)試的定義和黑盒測(cè)試的步驟

黑盒測(cè)試的主要方法和常用的工具有什么?

自動(dòng)化測(cè)試有哪些?自動(dòng)化測(cè)試的過(guò)程是怎么樣的?

自動(dòng)化測(cè)試是什么?自動(dòng)化測(cè)試優(yōu)缺點(diǎn)有哪些?

如何選擇要自動(dòng)化的測(cè)試用例的技巧和規(guī)則

本文內(nèi)容不用于商業(yè)目的,如涉及知識(shí)產(chǎn)權(quán)問(wèn)題,請(qǐng)權(quán)利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。
滬ICP備07036474號(hào) 2003-2024 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.
微信
咨詢

添加客服微信 歡迎咨詢測(cè)試工具和測(cè)試服務(wù)

微信客服
問(wèn)題
反饋
產(chǎn)品
畫(huà)冊(cè)

掃描二維碼下載澤眾軟件企業(yè)宣傳冊(cè)

產(chǎn)品畫(huà)冊(cè)
返回
頂部

方案咨詢

×
提交信息

電話咨詢,400-035-7887,安排專(zhuān)業(yè)技術(shù)售前給您解答(產(chǎn)品試用、技術(shù)交流、服務(wù)咨詢和商務(wù)報(bào)價(jià))。

您的信息已成功提交!

我們的客服人員稍后會(huì)與您聯(lián)系