深入了解自動(dòng)化:自動(dòng)化測(cè)試的流程刺桃,尊重流程避免踩坑

自動(dòng)化測(cè)試不是個(gè)簡(jiǎn)單的任務(wù),而是個(gè)項(xiàng)目吸祟。作為項(xiàng)目就必須有他的流程與規(guī)范瑟慈。

一、項(xiàng)目啟動(dòng)階段

1屋匕、可行性分析

評(píng)估項(xiàng)目當(dāng)前是否合適啟動(dòng)自動(dòng)化測(cè)試葛碧?如果項(xiàng)目不適合,需要找出不適合原因與上級(jí)領(lǐng)導(dǎo)溝通过吻。

自動(dòng)化的啟動(dòng)時(shí)間的切入點(diǎn)很關(guān)鍵进泼,切入點(diǎn)時(shí)間可以分散到模塊,先穩(wěn)定的模塊先開(kāi)展自動(dòng)化纤虽。

2乳绕、抽樣分析

通過(guò)可行性分析后需要進(jìn)行抽樣分析,也就是寫(xiě)幾個(gè)自動(dòng)化測(cè)試腳本逼纸,通過(guò)實(shí)際案列再次看看自動(dòng)化測(cè)試工作是否能順利開(kāi)展洋措,也可以在此過(guò)程中發(fā)現(xiàn)部分技術(shù)上的疑難或是否存在致命的問(wèn)題,在這過(guò)程中也可以發(fā)現(xiàn)有那些需要開(kāi)發(fā)杰刽、測(cè)試菠发、運(yùn)維王滤、產(chǎn)品配合或改進(jìn)的地方。

有經(jīng)驗(yàn)的工程師通過(guò)抽樣分析滓鸠,能對(duì)自動(dòng)化測(cè)試工作開(kāi)展有個(gè)大體的輪廓雁乡,為后面的工作開(kāi)展打下基礎(chǔ)。

抽樣分析方式推薦采用自動(dòng)化冒煙測(cè)試抽樣糜俗,也就是將實(shí)現(xiàn)冒煙測(cè)試用例作為抽樣的樣本蔗怠,將系統(tǒng)的手工冒煙測(cè)試轉(zhuǎn)換為自動(dòng)化測(cè)試用例,自動(dòng)化測(cè)試的用例數(shù)量需控制在5個(gè)左右吩跋,這樣既有成果又貼合實(shí)際寞射。

注意:抽樣分析時(shí)不要搭建完整的測(cè)試框架,可以只線性的實(shí)現(xiàn)自動(dòng)化測(cè)試用例锌钮,它的主要工作還是抽樣分析桥温。

二、自動(dòng)化測(cè)試準(zhǔn)備階段

1梁丘、自動(dòng)化測(cè)試需求篩選與評(píng)審

測(cè)試需求篩選主要時(shí)明確自動(dòng)化測(cè)試的的目標(biāo)侵浸,整理出需要實(shí)現(xiàn)自動(dòng)化測(cè)試的業(yè)務(wù)需求,以及自動(dòng)化測(cè)試深度氛谜。需求分析完成后要對(duì)其內(nèi)容進(jìn)行評(píng)審掏觉,只有項(xiàng)目組評(píng)審?fù)ㄟ^(guò)后才能有效。

UI自動(dòng)化測(cè)試不可能做到100%覆蓋值漫,所以我們主要從實(shí)際的業(yè)務(wù)場(chǎng)景方面考慮澳腹,首先需要貼合用戶使用的正向場(chǎng)景,然后再篩選出重要的逆向場(chǎng)景杨何。

API自動(dòng)化測(cè)試酱塔,需要對(duì)整個(gè)系統(tǒng)的API進(jìn)行整理,根據(jù)API的重要程度和使用率來(lái)劃分等級(jí)危虱,確定API自動(dòng)化測(cè)試的深度羊娃。對(duì)API自動(dòng)化測(cè)試的覆蓋率要求都會(huì)在70%以上,也有公司要求達(dá)到100%覆蓋率埃跷。

API 變更頻率比 UI 低蕊玷,而且 API 測(cè)試腳本的執(zhí)行效率高,出錯(cuò)率低弥雹,可測(cè)試的覆蓋率也比 UI 高垃帅,它的維護(hù)成本也較低。所以現(xiàn)在很多公司將 API 作為自動(dòng)化測(cè)試的重點(diǎn)缅糟。

2. 制定自動(dòng)化測(cè)試計(jì)劃

由 PM 和自動(dòng)化測(cè)試負(fù)責(zé)人編寫(xiě)計(jì)劃挺智,與手工測(cè)試的測(cè)試計(jì)劃過(guò)程一致祷愉,在測(cè)試計(jì)劃中要明確做什么窗宦,什么時(shí)候做赦颇。自動(dòng)化測(cè)試計(jì)劃包含自動(dòng)測(cè)試的組織架構(gòu)、工作任務(wù)分配赴涵、工作量估計(jì)媒怯、人力物力資源的分配、進(jìn)度的安排髓窜、風(fēng)險(xiǎn)的估計(jì)和規(guī)避扇苞、各任務(wù)通過(guò)準(zhǔn)則等。

3寄纵、制定自動(dòng)化測(cè)試方案

測(cè)試方案編寫(xiě)需要由有經(jīng)驗(yàn)的工程師編寫(xiě)鳖敷,測(cè)試方案要明確自動(dòng)化該怎么做。方案寫(xiě)得越詳細(xì)程拭,后面遇到的坑就越少定踱。主要從以下方面考慮:

自動(dòng)化的目標(biāo)?

測(cè)試的范圍恃鞋?

工具的設(shè)計(jì)和選擇崖媚?

開(kāi)發(fā)語(yǔ)言的選擇?

自動(dòng)化測(cè)試框架的設(shè)計(jì)恤浪?

持續(xù)集成的規(guī)劃畅哑?

UI自動(dòng)化的場(chǎng)景與規(guī)劃?

API自動(dòng)化場(chǎng)景與規(guī)劃水由?

用例的設(shè)計(jì)原則荠呐?

測(cè)試腳本編寫(xiě)的原則?

測(cè)試腳本的管理砂客?

測(cè)試數(shù)據(jù)的管理直秆?

自動(dòng)化測(cè)試環(huán)境的規(guī)劃?

腳本的執(zhí)行策略鞭盟?

4圾结、搭建自動(dòng)化測(cè)試框架

自動(dòng)化測(cè)試框架是由基礎(chǔ)模塊、用例管理模塊齿诉、報(bào)告統(tǒng)計(jì)模塊等組成的工具集合筝野;它用于組織、管理和執(zhí)行自動(dòng)化測(cè)試用例粤剧,在測(cè)試完成后統(tǒng)計(jì)測(cè)試結(jié)果生成HTML測(cè)試報(bào)告歇竟。

自動(dòng)化測(cè)試框架需要保證測(cè)試腳本的分布執(zhí)行用例的模塊化抵恋,測(cè)試數(shù)據(jù)的管理焕议,清楚的日志分析錯(cuò)誤截圖通俗易懂的測(cè)試報(bào)告弧关,基本的公共對(duì)象庫(kù)盅安,基礎(chǔ)的操作方法封裝唤锉,可實(shí)現(xiàn)環(huán)境的配置,還要各種異常處理和場(chǎng)景恢復(fù)等别瞭。

在設(shè)計(jì)測(cè)試框架的時(shí)窿祥,要盡可能的將這些模塊功能有機(jī)的結(jié)合起來(lái),要能將腳本有效的組織和連貫應(yīng)用蝙寨,提高測(cè)試腳本的可維護(hù)性和可讀性晒衩。測(cè)試框架還要做到高內(nèi)聚低耦合。高內(nèi)聚墙歪,每個(gè)模塊盡可能獨(dú)立完成自己的功能听系,不依賴于模塊外部的代碼;低耦合虹菲,模塊與模塊之間接口的盡量簡(jiǎn)單跛锌。

對(duì)于中小型企業(yè),不必自己編寫(xiě)一套自動(dòng)化測(cè)試框架届惋,現(xiàn)在開(kāi)源的自動(dòng)化測(cè)試框架有很多如:Python + unittest+ selenium/Appium/requests(推薦)髓帽,Robot framework(推薦),Serenity脑豹,Phoenix Framework郑藏,Tellurium,Gauge 等等瘩欺。

記妆馗恰:沒(méi)有萬(wàn)能的測(cè)試框架,適合自己項(xiàng)目的俱饿,能提高工作效率的就是好框架

5歌粥、測(cè)試用例標(biāo)準(zhǔn)化與制定編碼規(guī)范

測(cè)試用例標(biāo)準(zhǔn)化對(duì)提高代碼的重用性和復(fù)用率直接相關(guān),它對(duì)測(cè)試腳本的可靠性和可維護(hù)性也有很大影響拍埠。

用例標(biāo)準(zhǔn)化需要有統(tǒng)一的設(shè)計(jì)模式失驶,統(tǒng)一的編碼規(guī)范與約束,共有的模塊化函數(shù)與類(lèi)庫(kù)枣购,統(tǒng)一的命名規(guī)則嬉探。

三、自動(dòng)化測(cè)試腳本開(kāi)發(fā)

1棉圈、測(cè)試用例設(shè)計(jì)

自動(dòng)化測(cè)試的用例設(shè)計(jì)重中之重涩堤,不要在沒(méi)設(shè)計(jì)自動(dòng)化測(cè)試用例之前就進(jìn)行編碼,自動(dòng)化測(cè)試用例他是對(duì)自動(dòng)化測(cè)試場(chǎng)景的整理與綜合分瘾。

很多自動(dòng)化測(cè)試腳本開(kāi)發(fā)直接使用手工測(cè)試用例胎围,然而手工用例之間的相關(guān)性高,到最后造成測(cè)試腳本繁重,用例維護(hù)難白魂,遇到問(wèn)題難定位汽纤。

自動(dòng)化用例設(shè)計(jì)要保證測(cè)試對(duì)象的明確性;每個(gè)用例都是一個(gè)完整的場(chǎng)景碧聪;每個(gè)功能點(diǎn)一個(gè)測(cè)試用例冒版;盡量降低用例的復(fù)雜度液茎,每個(gè)腳本獨(dú)立逞姿,腳本之間不要產(chǎn)生關(guān)聯(lián)性。在寫(xiě)用例過(guò)程中需要將共性功能或操作抽象出來(lái)模塊化捆等,提高測(cè)試腳本的可維護(hù)性與代碼的重用性滞造。

不管是UI自動(dòng)化還是API自動(dòng)化,編碼前必須設(shè)計(jì)測(cè)試用例栋烤。

具體內(nèi)容太多谒养,后面開(kāi)單獨(dú)章節(jié)講自動(dòng)化測(cè)試用例的設(shè)計(jì)。

2明郭、公共腳本開(kāi)發(fā)

在自動(dòng)化用例設(shè)計(jì)時(shí)已經(jīng)將共性的功能或操作抽象出來(lái)买窟,在腳本編寫(xiě)前需要將這些操作模塊化放入公共模塊。

3薯定、測(cè)試腳本開(kāi)發(fā)

根據(jù)自動(dòng)化測(cè)試用例實(shí)現(xiàn)測(cè)試腳本的開(kāi)發(fā)始绍,在開(kāi)發(fā)測(cè)試腳本時(shí)要將腳本的可靠性和維護(hù)性放在首位,每寫(xiě)一行都需要考慮它的可靠性和可維護(hù)性话侄,代碼編寫(xiě)必須嚴(yán)謹(jǐn)亏推、規(guī)范。

腳本的執(zhí)行必須智能年堆、高效吞杭、穩(wěn)定、可靠变丧。

腳本開(kāi)發(fā)完成后要在不同的環(huán)境運(yùn)行3次以上芽狗,確認(rèn)腳本沒(méi)有問(wèn)題才能提交代碼庫(kù)。提交代碼庫(kù)的代碼后痒蓬,需要進(jìn)行代碼評(píng)審并在自動(dòng)化測(cè)試平臺(tái)運(yùn)行通過(guò)译蒂,然后才能合并到主分支。

四谊却、自動(dòng)化測(cè)試的執(zhí)行與維護(hù)

1柔昼、自動(dòng)化測(cè)試執(zhí)行

自動(dòng)化測(cè)試的執(zhí)行策略有三種:定時(shí)執(zhí)行、自動(dòng)觸發(fā)炎辨、手工觸發(fā)

定時(shí)執(zhí)行捕透,多用于監(jiān)控代碼版本的質(zhì)量。如,每天早晚二次固定時(shí)間執(zhí)行精選的中高級(jí)用例乙嘀,實(shí)時(shí)監(jiān)控版本質(zhì)量末购。

自動(dòng)觸發(fā),多用于冒煙測(cè)試虎谢。如盟榴,精選出冒煙用例(執(zhí)行時(shí)間控制在10分鐘內(nèi)),在開(kāi)發(fā)提交代碼合并到主分支時(shí)自動(dòng)觸發(fā)冒煙測(cè)試婴噩,有問(wèn)題郵件通知對(duì)應(yīng)人員擎场。

手工觸發(fā),多用回歸測(cè)試几莽。如迅办,一周或一個(gè)sprint為周期觸發(fā)兩次左右的全量執(zhí)行,要結(jié)合實(shí)際情況手動(dòng)觸發(fā)章蚣。

2站欺、自動(dòng)化測(cè)試結(jié)果分析

自動(dòng)化測(cè)試結(jié)果分析主要靠測(cè)試報(bào)告,測(cè)試報(bào)告要求通俗易懂纤垂,不能過(guò)于復(fù)雜矾策。

每個(gè)sprint結(jié)束后需對(duì)自動(dòng)化測(cè)試結(jié)果進(jìn)行深入分析,以此來(lái)調(diào)整自動(dòng)化測(cè)試方案和優(yōu)化自動(dòng)化測(cè)試腳本峭沦。

3贾虽、 自動(dòng)化測(cè)試用例和腳本的維護(hù)

系統(tǒng)發(fā)生變更時(shí)需要及時(shí)更新自動(dòng)化測(cè)試用例和修改測(cè)試腳本。

測(cè)試用例和測(cè)試腳本的維護(hù)是個(gè)長(zhǎng)期過(guò)程熙侍,用例與需求掛鉤榄鉴,測(cè)試腳本與用例掛鉤,必須先更新測(cè)試用例蛉抓,然后才能修改測(cè)試腳本庆尘。用例和腳本的每次更新需留下維護(hù)的記錄,以便 review 和 問(wèn)題查找巷送。

4驶忌、自動(dòng)化測(cè)試腳本的持續(xù)優(yōu)化

測(cè)試腳本需要每個(gè)大版本檢查一次,對(duì)腳本進(jìn)行優(yōu)化笑跛。測(cè)試腳本不是寫(xiě)好了付魔,需求沒(méi)有變更,運(yùn)行無(wú)報(bào)錯(cuò)就放在哪里飞蹂。

每過(guò)段時(shí)間檢查腳本代碼几苍,當(dāng)發(fā)現(xiàn)測(cè)試的方法可優(yōu)化的地方,就需要對(duì)代碼進(jìn)行修改陈哑。只有持續(xù)對(duì)測(cè)試腳本進(jìn)行優(yōu)化妻坝,才能讓腳本更智能伸眶、更高效、更穩(wěn)定刽宪、更可靠厘贼。


最后:

歡迎關(guān)注公眾號(hào):程序員一凡,領(lǐng)取一份300頁(yè)pdf文檔的Python自動(dòng)化測(cè)試工程師核心知識(shí)點(diǎn)總結(jié)圣拄!

這些資料的內(nèi)容都是面試時(shí)面試官必問(wèn)的知識(shí)點(diǎn)嘴秸,篇章包括了很多知識(shí)點(diǎn),其中包括了有基礎(chǔ)知識(shí)庇谆、Linux必備岳掐、Shell、互聯(lián)網(wǎng)程序原理族铆、Mysql數(shù)據(jù)庫(kù)岩四、抓包工具專(zhuān)題哭尝、接口測(cè)試工具哥攘、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試材鹦、APP自動(dòng)化測(cè)試逝淹、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成桶唐、測(cè)試架構(gòu)開(kāi)發(fā)測(cè)試框架栅葡、性能測(cè)試、安全測(cè)試等尤泽。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末欣簇,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子坯约,更是在濱河造成了極大的恐慌熊咽,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件闹丐,死亡現(xiàn)場(chǎng)離奇詭異横殴,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)卿拴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)衫仑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人堕花,你說(shuō)我怎么就攤上這事文狱。” “怎么了缘挽?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵瞄崇,是天一觀的道長(zhǎng)陷虎。 經(jīng)常有香客問(wèn)我,道長(zhǎng)杠袱,這世上最難降的妖魔是什么尚猿? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮楣富,結(jié)果婚禮上凿掂,老公的妹妹穿的比我還像新娘。我一直安慰自己纹蝴,他們只是感情好庄萎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著塘安,像睡著了一般糠涛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上兼犯,一...
    開(kāi)封第一講書(shū)人閱讀 51,462評(píng)論 1 302
  • 那天忍捡,我揣著相機(jī)與錄音,去河邊找鬼切黔。 笑死砸脊,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的纬霞。 我是一名探鬼主播凌埂,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼诗芜!你這毒婦竟也來(lái)了瞳抓?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤伏恐,失蹤者是張志新(化名)和其女友劉穎孩哑,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體脐湾,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡臭笆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了秤掌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片愁铺。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖闻鉴,靈堂內(nèi)的尸體忽然破棺而出茵乱,到底是詐尸還是另有隱情,我是刑警寧澤孟岛,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布瓶竭,位于F島的核電站督勺,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏斤贰。R本人自食惡果不足惜智哀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望荧恍。 院中可真熱鬧瓷叫,春花似錦、人聲如沸送巡。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)骗爆。三九已至次氨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間摘投,已是汗流浹背煮寡。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谷朝,地道東北人洲押。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓武花,卻偏偏與公主長(zhǎng)得像圆凰,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子体箕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354