來自測試大佬的經(jīng)驗(yàn)總結(jié):自動化測試用例設(shè)計(jì)及原則,建議收藏

引子 自動化測試用例設(shè)計(jì)及原則

? ? ? 最近在查看同事寫的robot自動化用例時候秧倾,發(fā)現(xiàn)一些問題。沒有搞清楚一個完整自動化用例的標(biāo)準(zhǔn)是什么傀缩。把自動化用例前置準(zhǔn)備工作也算作一個自動化case那先。根據(jù)自己理解談?wù)勛詣踊美O(shè)計(jì)和開展自動化測試的一些原則。

原則一:每個自動化用例可以獨(dú)立運(yùn)行

? ? ? 每個自動化用例應(yīng)該是沒有依賴關(guān)系的赡艰,可以獨(dú)立運(yùn)行的售淡,比如測試一個電商網(wǎng)站,第一個測試用例是用戶登錄慷垮,第二個例子是添加商品到購物車揖闸,需要用戶登錄,并且依賴第一個測試用例料身,這樣的用例設(shè)計(jì)是有問題楔壤,因?yàn)檫`反了我們說的獨(dú)立運(yùn)行原則。那如果我的測試用例重點(diǎn)不是測試登錄惯驼,而是添加商品到購物車蹲嚣,需要先登錄,這個登陸的前置條件應(yīng)該放在哪里呢祟牲?這個時候需要講解一下自動化框架基本都會自帶的一個功能模塊隙畜,setup和teardown。接下來我們借助自動化測試框架RF(Robot Framework)來進(jìn)行講解说贝。

RF框架的三種 set up/teardown

第一種:Suite setup and teardown 測試套件層面议惰。所謂測試套件(suite)就是一組測試用例集合,在RF里面就是一個Robot文件乡恕。也就是說這個層面的setup和teardown只發(fā)生在一組測試的開始前和結(jié)束后言询。并且RF最終teardown的log也是在最前面的。所以根據(jù)log沒法看出關(guān)鍵字執(zhí)行順序傲宜。

Suite Setup? ? ? ? ? Open Browser To Login Page

Suite Teardown? ? Close All Browsers

第二種:Testcase setup/teardown 測試用例層面运杭。每一個case的開始和結(jié)束都會去執(zhí)行的步驟。一般預(yù)置條件和數(shù)據(jù)準(zhǔn)備放在setup函卒,數(shù)據(jù)銷毀放在teardown辆憔。

先來看一個組用例:

針對這組測試用例,我們發(fā)現(xiàn)每組測試用例前置條件都是用戶登錄,于是我們可以把用戶登錄這個關(guān)鍵字抽出來虱咧,放到Testcase setup的地方熊榛,這樣減少我們用例代碼的冗余.

Test Setup? ? ? ? Open Browser To Main Page

Test Teardown? ? Close All Browsers? ? ? ? ? ? ? ? ? ? ? #測試結(jié)束之后執(zhí)行關(guān)鍵字

這時候我們發(fā)現(xiàn)setup和teardown是按照執(zhí)行順序出現(xiàn)的了。

第三種: Testcase setup/teardown腕巡。 和第二種類似玄坦,只是針對單個case作用,而不是一組case绘沉。當(dāng)case中出現(xiàn)這個setup會覆蓋寫在setting處的setup

Overridden setup [Documentation] Own setup, teardown from setting table [Setup] Open Application App B Do Something

原則二:測試用例之間不應(yīng)該有包涵關(guān)系

如果A用例包含B用例营搅,那么B用例已經(jīng)冗余了,不需要重復(fù)執(zhí)行梆砸,冒煙測試用例除外转质。

原則三:測試數(shù)據(jù)應(yīng)該自動創(chuàng)建和銷毀

自動化測試需要的測試數(shù)據(jù)包括測試壞境也應(yīng)該盡可能的自動創(chuàng)建和銷毀。有條件話可以嘗試采用docker容器化的方式運(yùn)行自動化用例帖世。

(有興趣的小伙伴可以加扣扣裙164549428或者加威dingyu-003免費(fèi)領(lǐng)取各種測試資料)

原則四:自動化應(yīng)該優(yōu)先覆蓋需要重復(fù)測試的核心功能

一般情況下休蟹,新功能是來不及做自動化測試和覆蓋的。需求變化快的模塊也是不適合做自動化的日矫。覆蓋產(chǎn)品的核心功能赂弓,也就是優(yōu)先從冒煙測試開始做自動化測試。

原則五:自動化開展順序應(yīng)該是自底而上

項(xiàng)目的自動化開展順序應(yīng)該是從單元測試開始哪轿,然后才是API測試盈魁,模塊測試,最后才是UI自動化窃诉。很多團(tuán)隊(duì)本末倒置了杨耙,一上來就搞UI自動化,然后發(fā)現(xiàn)成本太高飘痛,進(jìn)度太慢珊膜,然后下個結(jié)論,我們項(xiàng)目不適合做自動化宣脉。殊不知單元測試的自動化才是效率最高收益最高的车柠,UI自動化應(yīng)該是最后一步了。這里借用網(wǎng)上一個圖來說明自動化測試的經(jīng)典的金字塔模型塑猖。越往上竹祷,越接近用戶,自動化測試效率越低羊苟,成本越高塑陵,反之,越往下践险,越接近開發(fā)猿妈,自動化測試效率越高,成本越低巍虫。

原則六:不要一開始就想所有東西自動化

自動化測試的本質(zhì)是減少回歸測試的重復(fù)勞動彭则,提高測試效率,對于大部分中小公司來說占遥,一上來就想吃成個胖子俯抖,全部自動化是不可能的,剛開始開展自動化可以分析每次測試流程的時間瓶頸瓦胎,到底是環(huán)境安裝配置芬萍,還是數(shù)據(jù)準(zhǔn)備,還是執(zhí)行用例最花時間搔啊,從最能提高效率或者受益最大的部分開始柬祠,簡而言之就是手動+自動化的方式。同時還要考慮團(tuán)隊(duì)人員的技術(shù)水平负芋,而不是花大量時間精力為了自動化而搞自動化漫蛔,結(jié)果最后發(fā)現(xiàn)比手動測試成本還高,就很尷尬了旧蛾。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末莽龟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子锨天,更是在濱河造成了極大的恐慌毯盈,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件病袄,死亡現(xiàn)場離奇詭異搂赋,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)益缠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門厂镇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人左刽,你說我怎么就攤上這事捺信。” “怎么了欠痴?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵迄靠,是天一觀的道長。 經(jīng)常有香客問我喇辽,道長掌挚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任菩咨,我火速辦了婚禮吠式,結(jié)果婚禮上陡厘,老公的妹妹穿的比我還像新娘。我一直安慰自己特占,他們只是感情好糙置,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著是目,像睡著了一般谤饭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上懊纳,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天揉抵,我揣著相機(jī)與錄音,去河邊找鬼嗤疯。 笑死冤今,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的茂缚。 我是一名探鬼主播辟汰,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼阱佛!你這毒婦竟也來了帖汞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤凑术,失蹤者是張志新(化名)和其女友劉穎翩蘸,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體淮逊,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡催首,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了泄鹏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片郎任。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖备籽,靈堂內(nèi)的尸體忽然破棺而出舶治,到底是詐尸還是另有隱情,我是刑警寧澤车猬,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布霉猛,位于F島的核電站,受9級特大地震影響珠闰,放射性物質(zhì)發(fā)生泄漏惜浅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一伏嗜、第九天 我趴在偏房一處隱蔽的房頂上張望坛悉。 院中可真熱鬧伐厌,春花似錦、人聲如沸裸影。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽空民。三九已至刃唐,卻和暖如春羞迷,著一層夾襖步出監(jiān)牢的瞬間界轩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工衔瓮, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留浊猾,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓热鞍,卻偏偏與公主長得像葫慎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子薇宠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容