面試官:自動(dòng)化測試分層思想,你是如何理解的?

在往期我們講了很多實(shí)現(xiàn)自動(dòng)化過程中的一些面試題,那么實(shí)現(xiàn)自動(dòng)化之后,問題又來了。

你肯定要考慮分層了

面試官:自動(dòng)化測試分層思想,你是如何理解的?

我看到過很多招聘需求上直接寫了這一點(diǎn),會(huì)自動(dòng)化測試分層思想優(yōu)先。啥意思?但凡能稱得上優(yōu)先的,就是加分項(xiàng)吶。

所以,為什么要有這個(gè)自動(dòng)化分層?自動(dòng)化分層到底怎么做?

那你就得給面試官說清楚了

那你可以這樣說:當(dāng)我們的腳本能夠?qū)崿F(xiàn)自動(dòng)化,能夠讓我們自動(dòng)去點(diǎn)點(diǎn)點(diǎn)了,接下來我們要考慮這個(gè)腳本的穩(wěn)定性,因?yàn)槟憧赡苷f一個(gè)背景,自動(dòng)化用例越來越多,數(shù)據(jù)也越來越多。為了提高提高腳本的維護(hù)性,穩(wěn)定性,可讀性、復(fù)用性,等等,我們就要把自動(dòng)化腳本分層。

那何為分層?分層到底是啥?

那就好像一個(gè)蛋糕一樣,一層兩層三層……

第一層和第二層有什么區(qū)別?

第一層比第二層應(yīng)該是少點(diǎn)吧,越到下面,蛋糕應(yīng)該越大,這個(gè)好理解吧?

其實(shí)腳本分層的原理就是讓不同的層去做不同類型的事情,專業(yè)的人做專業(yè)的事,讓我們的代碼結(jié)構(gòu)更清晰,還有很多代碼可以復(fù)用,很多東西都是重復(fù)使用的,所以我們會(huì)把代碼分層。

那么分層可以分為哪些層呢?

對(duì)象庫層,業(yè)務(wù)層、邏輯層,數(shù)據(jù)層

當(dāng)然有些東西可以放在一起,根據(jù)這幾個(gè)層,你可以把它封裝三到四次,這里就又講到一個(gè)封裝。

把這些層次我們進(jìn)行封裝兩到三次。


對(duì)象庫層

首先你想到一個(gè)對(duì)象,什么是對(duì)象?你做ui自動(dòng)化,什么是對(duì)象?一個(gè)網(wǎng)站上的各種按鈕,輸入框,各類元素是不是對(duì)象?

把一個(gè)系統(tǒng)所有的元素封裝起來,到一個(gè)層次。


像我們的框架里面,有一個(gè)POM就是專門用來做,管理很多頁面里的一些元素,那當(dāng)然包括了這些元素的操作方法。而且可以封裝一些常用的業(yè)務(wù)。

那什么叫業(yè)務(wù)?登錄就是一個(gè)業(yè)務(wù),下單就是一個(gè)業(yè)務(wù),就好像做功能測試,一個(gè)功能就是一個(gè)業(yè)務(wù)。

比如說下單搜索就是一個(gè)業(yè)務(wù),而業(yè)務(wù)又分為邏輯,所以這個(gè)東西很細(xì)。

為什么業(yè)務(wù)又分為邏輯?因?yàn)楦鶕?jù)不同的東西,它的這個(gè)走向不一樣,比如說出現(xiàn)了搜索結(jié)果,我去點(diǎn)擊,那如果沒有出現(xiàn),又怎么怎么樣,所以這里面還包含了很多邏輯。

然后這些業(yè)務(wù)里面,那當(dāng)然還有很多的公共方法,所以邏輯層里面可能還包括邏輯處理層,肯定也會(huì)調(diào)用很多的公共方法,所以調(diào)用很多的關(guān)鍵字。

那數(shù)據(jù)層就非常好理解了,那我把所有的數(shù)據(jù)都抽出來,那比如說像我們做接口測試。我把所有的一些接口必填的參數(shù),我把它封裝起來。

我在這個(gè)框架里面打開了一個(gè)excel表,這就是我們一個(gè)接口項(xiàng)目的數(shù)據(jù),我把數(shù)據(jù)都抽出來,放到一個(gè)excel表格里面,是不是跟這個(gè)代碼沒有任何關(guān)系了。

這些接口的數(shù)據(jù),大家來看,入?yún)ⅰ嘌?、那?dāng)然我這里只寫了兩個(gè),很多數(shù)據(jù)我都抽出來,抽到哪里?很多方式去抽?。╡xcel、yaml……)

總結(jié)一下

背景:自動(dòng)化用例越來越多,數(shù)據(jù)也越來越多,

目的:腳本的維護(hù)性,穩(wěn)定性,可讀性,復(fù)用性分層?

分層:對(duì)象庫層,業(yè)務(wù)層、邏輯處理層,數(shù)據(jù)層

關(guān)注一凡這個(gè)博主是—————————————————↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

最后:

1、點(diǎn)贊,收藏。防止以后找不到,想看的時(shí)候,在自己主頁就能找到了,很方便;?

2、關(guān)注我。讓我們成為長期關(guān)系,下一個(gè)內(nèi)容會(huì)分享更多的硬核干貨;?

3、文章學(xué)習(xí)資源,均可以免費(fèi)分享。

公號(hào):程序員一凡。這樣的好內(nèi)容,里面還有近百篇。? 謝謝你的支持!

目前測試平臺(tái)項(xiàng)目研發(fā)已經(jīng)完成并且在Github開源,有興趣的朋友可以去Github下載

https://github.com/ooqitech/ATP

不要只做收藏從未停止,行動(dòng)從未開始的人,很多事情,做著做著就無師自通了。如果在做的過程中還能稍微加點(diǎn)思考,稍微看一些別人的經(jīng)驗(yàn)和做法,成長會(huì)更快,效果也會(huì)更好!加油吧,測試人!路就在腳下,成功就在明天!

我是一凡,用心輸出有價(jià)值的內(nèi)容,你若盛開,清風(fēng)自來!

創(chuàng)作不易,不想被白嫖,各位的「點(diǎn)贊」就是一凡創(chuàng)作的最大動(dòng)力,我們下篇文章見!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容