自動化測試到底是先做UI還是接口測試?

今天跟大家介紹UI測試、接口測試、單元測試主要內(nèi)容,以及每種測試花費時間的討論;
UI測試【Selenium】
UI測試是最接近軟件真實用戶使用行為的測試類型。通常是模擬真實用戶使用軟件的行為,即模擬用戶在軟件界面上的各種操作,并驗證這些操作對應的結(jié)果是否正確。接口測試【API測試】
API測試,主要針對的是各模塊暴露的接口,通常采用灰盒測試方法。首先以黑盒方式設(shè)計如何調(diào)用API的測試用例,同時在測試執(zhí)行過程中統(tǒng)計代碼覆蓋率,然后根據(jù)代碼覆蓋率情況來補充更多、更有針對性的測試用例。單元測試
單元測試,屬于白盒測試的范疇,通常由開發(fā)工程師自己完成,越早發(fā)現(xiàn)缺陷其修復成本越低。
1、UI自動化測試
大家所在公司都屬于互聯(lián)網(wǎng)公司,最大的特點就是快——產(chǎn)品需要不停的迭代,迭代時間基本在15天左右。
優(yōu)點:能夠?qū)嶋H模擬真實用戶的行為,直接驗證軟件的商業(yè)價值;
缺點:用例的維護和執(zhí)行代價很大。另外,UI自動化測試的穩(wěn)定性問題,是長期以來阻礙GUI測試發(fā)展的重要原因。
在快速迭代的情況下,頁面的改動可能會很頻繁,而UI自動化測試本身基于頁面元素,前端小小的改動可能需要測試的大大改。
2、接口測試
相比于UI自動化測試,接口測試更穩(wěn)定,更具有價值。
效率
接口測試是通過測試數(shù)據(jù)驗證請求【request】與響應【response】是否符合預期。因此,接口測試開發(fā)和調(diào)試的效率會比ui自動化測試高很多。
穩(wěn)定性
如果接口改動,那基本屬于業(yè)務重新設(shè)計。所以接口測試用例執(zhí)行的穩(wěn)定性很高。
實用性
UI自動化測試驗證的主要是頁面顯示,而接口測試驗證的主要是數(shù)據(jù)。
在當前開發(fā)水平下,功能測試基本可以完全驗證頁面顯示的問題,所以UI測試有點類似于“這些沒問題了,為了保證一直沒問題,所以要寫UI自動化,每天去執(zhí)行”。接口測試則是對接口返回數(shù)據(jù)的驗證,開發(fā)在開發(fā)新的接口時涉及到接口互相的調(diào)用,中間難免出現(xiàn)比如數(shù)據(jù)類型、key-value不匹配的情況,因此在實用性考慮,接口測試實用性更高。

3、單元測試
船長所在的互聯(lián)網(wǎng)公司單元測試是由開發(fā)完成的,在時間緊張的情況下,我們一般會出一個開發(fā)自測文檔,只需要開發(fā)完成小量的單元測試設(shè)計。事實也是如此,開發(fā)因為任務在身,寫好接口后大多不愿意寫大量單元測試。所以單元測試需要根據(jù)公司不同而定。
鑒于上述原因,我們在做非功能測試時,可以利用UI自動化測試,覆蓋產(chǎn)品主要或者說關(guān)鍵流程(包含兼容性測試),也就是說只要保證主要流程不出錯,剩下的即使有了問題也不會影響產(chǎn)品的正常使用。把時間更多的放在接口測試用例的設(shè)計和實現(xiàn)上,保證數(shù)據(jù)的準確性。單元測試則可以根據(jù)公司情況選擇時間分配。
以上內(nèi)容希望對你有幫助,有被幫助到的朋友歡迎點贊,評論。
重磅消息: 由狂師老師授課主講的「全棧測試開發(fā)技能訓練營」已開課,課程內(nèi)容非常值得推薦!課程大綱:重磅消息 | 2021年最新全棧測試開發(fā)技能實戰(zhàn)指南(第2期)
END

長按二維碼/微信掃碼 添加作者
閱讀原文
