自動化測試到底是什么

引子

偶然在群里有人問自動化測試到底是啥配深,搞不懂。qtp對象庫好麻煩嫁盲,jmeter怎么做測試篓叶。。羞秤。缸托。一堆一堆的問題。其實(shí)說實(shí)話真心不知道該咋解答了瘾蛋,我的內(nèi)心是累的~

突然想到自己的新書里不就解釋過這些嗎俐镐!看來還是很多童鞋對于自動化測試的認(rèn)知存在巨大的問題啊瘦黑!

so京革,以下內(nèi)容選擇《小強(qiáng)軟件測試瘋狂講義》

自動化測試到底是什么

重新認(rèn)識性能測試之后我們再來看看自動化測試到底是什么。其實(shí)這個話題我在不同的場合多次談過幸斥,甚至在我創(chuàng)辦的“挨踢脫口秀”中也專門做了一次節(jié)目來說明匹摇,但可惜的是仍然有很多朋友對自動化測試的認(rèn)知是不完整的,那本節(jié)就再次帶領(lǐng)大家重新認(rèn)識一下甲葬。

自動化測試到底是什么廊勃?我們可以簡單的理解為前期通過人工編碼完成框架,后期來解放人力并自動完成規(guī)定的測試经窖。更通俗點(diǎn)可以這么理解:現(xiàn)在有小強(qiáng)1號和2號兩個機(jī)器人坡垫,你對其中的小強(qiáng)1號機(jī)器人進(jìn)行編碼告訴他“在每天中午12點(diǎn)的時候給小強(qiáng)2號機(jī)器人一巴掌”,那么當(dāng)?shù)搅酥形?2點(diǎn)的時候小強(qiáng)1號機(jī)器人就會按照你的編碼要求執(zhí)行画侣,并給小強(qiáng)2號機(jī)器人一巴掌冰悠,這樣你就可以干其他事情去了,不需要自己來做配乱,解放了人力溉卓,提升了效率(莫名的感覺到自己的臉被打了一巴掌捌こ佟)。

講到這里大家應(yīng)該明白什么是自動化測試了吧桑寨?嘿嘿伏尼,你真的以為自己明白了?我想這時候肯定有不少朋友會脫口而出尉尾,自動化測試不就是QTP爆阶、Selenium、Appium這些玩意嘛沙咏?如果你真的這么理解那還是不夠完整辨图。大部分朋友都覺得一說自動化測試就是指UI層自動化測試,其實(shí)UI層自動化測試只是其中的一種而已芭碍,具體的層級我們會在后面的章節(jié)講解徒役。

最后我也必須提出一點(diǎn),任何無法服務(wù)于業(yè)務(wù)的技術(shù)都是沒有價值的窖壕,自動化測試也是忧勿,只有自動化測試能真正的服務(wù)于業(yè)務(wù),并帶來較高性價比才有價值瞻讽,單純拿代碼堆疊起來的自動化測試不可取鸳吸。

自動化測試分層模型

我們?nèi)抡J(rèn)識了自動化測試之后就來看看自動化測試分層模型,同時也會和大家聊聊自動化測試到底怎么用才能“恰當(dāng)好處”速勇。此模型在網(wǎng)上也看到過晌砾,不知道是誰最先寫出來的,總之感謝此模型的創(chuàng)造者烦磁!我在這個模型上面做了一些微調(diào)养匈,方便小白朋友們更好的理解。分層模型如圖1.3所示都伪。

圖1.3 自動化測試分層模型

有了性能測試分層模型的經(jīng)驗(yàn)呕乎,自動化測試分層模型就容易理解了,它主要是分為了三層陨晶,下面我們就一層層的來詳細(xì)講解猬仁。

1.5.1 UI層

這個是大部分朋友理解的自動化測試,UI指的就是用戶可以用肉眼看到的頁面先誉∈簦基本上我接觸的小白朋友一說自動化測試就認(rèn)為是UI層的,這個誤解我覺得真的太可怕了褐耳。

我們先來聊聊UI層自動化測試的原理诈闺。不論是Web端還是移動端,原理都是一樣的:就是基于頁面元素的識別和定位來進(jìn)行模擬用戶行為铃芦。首先識別到某個元素雅镊,比如一個按鈕把曼,然后定義一個動作,比如點(diǎn)擊漓穿,這樣就通過代碼模擬完成了一次按鈕的點(diǎn)擊,代替了人工去點(diǎn)擊注盈。如果后期再加入數(shù)據(jù)驅(qū)動和Page Object思想就基本可以形成一個UI層自動化測試框架了晃危。明白了這個道理之后我們再來聊聊UI層自動化測試的適用范圍。

對于UI層自動化測試的適用范圍老客,我個人不建議做大規(guī)模的應(yīng)用僚饭,從自己的實(shí)踐經(jīng)驗(yàn)來看大規(guī)模的應(yīng)用UI層自動化測試最后的結(jié)局總是悲劇的。主要是由于以下幾個原因?qū)е拢?/p>

1) UI變化頻繁胧砰,計(jì)劃根本趕不上變化(同意的小伙伴們請點(diǎn)贊)鳍鸵。

2) 初期見效太慢,等不了尉间,我們都希望恨不得用了自動化測試技術(shù)就能立馬看到帶來的效果偿乖,但事實(shí)總是相反,自動化測試的效果是在后期體現(xiàn)的哲嘲。

3) 前端的開發(fā)不規(guī)范贪薪,導(dǎo)致很多元素識別和定位起來較為困難。

那UI層自動化測試是不是就不能應(yīng)用了呢眠副?必然不是画切!保持一個客觀、公正的態(tài)度來看待是非常重要的囱怕,至少從我個人的實(shí)踐經(jīng)驗(yàn)來講霍弹,UI層自動化測試可以應(yīng)用到冒煙測試中,這里的冒煙測試是指主流程的測試娃弓,就是那些非常重要且不會頻繁變化的流程典格,可以利用UI層自動化測試來完成。比如忘闻,之前我們會對電商系統(tǒng)的主流程做每日的UI層自動化回歸測試钝计,用來保證線上系統(tǒng)功能的正常,效果還不錯齐佳。所以私恬,用與不用關(guān)鍵在于它的適用范圍,只有在合適的范圍內(nèi)使用了合適的技術(shù)才會表現(xiàn)出最好的效果炼吴。

最后用一句話總結(jié)下:“給你一把屠龍刀本鸣,如果你不會用那就和菜刀一樣”,只有對自動化測試有了正確的認(rèn)知才能更好的去推動它的發(fā)展硅蹦,也只有明白了它們的特點(diǎn)才能更好的運(yùn)用荣德。

1.5.2接口層

接口層是現(xiàn)在在企業(yè)中應(yīng)用最為廣泛的自動化測試方法之一闷煤,它的優(yōu)點(diǎn)在于基本規(guī)避了UI層自動化測試的缺點(diǎn),并且一旦形成較為穩(wěn)定涮瞻、完整的框架后基本上是比較通用的鲤拿,不論是在Web端還是移動端都可以使用。但缺點(diǎn)也很明顯署咽,就是對測試工程師的編碼能力要求較高近顷,這也是很多測試工程師止步于此的重要原因。

對于接口層自動化測試是我個人比較推薦宁否,也是建議大家有能力多去學(xué)習(xí)一下的窒升,對于自身測試技術(shù)的提升還是有明顯幫助的。一般接口層自動化測試都會用Python慕匠、Ruby等語言開發(fā)饱须,比如,某租車公司的接口測試框架是用Ruby開發(fā)的台谊,我們之前的接口測試框架是用Python開發(fā)的蓉媳,這里大家不必糾結(jié)用什么語言開發(fā),每個語言在編程思想上是通用的锅铅,只是在語法上稍有不同而已督怜,基本上你熟悉了一門語言后學(xué)其他的語言都會非常快狠角。多說無益号杠,只有做過的朋友才能體會它的好。后面的章節(jié)中也會給大家講解一些輕量級框架的設(shè)計(jì)與實(shí)現(xiàn)丰歌。

1.5.3單元層

單元層的自動化測試對測試工程師的編碼能力要求較高姨蟋,且要能看懂業(yè)務(wù)的實(shí)現(xiàn)代碼,這樣才能針對被測代碼編寫單元測試代碼立帖,一般都是引入XUnit眼溶、TestNG等框架來完成。為什么大部分公司在這個層級也無法很好的推行呢晓勇?原因在1.2節(jié)性能測試分層模型中已討論過堂飞,此處不再講述。

其實(shí)绑咱,自動化測試的難點(diǎn)在于框架的設(shè)計(jì)绰筛,并不在于寫代碼∶枞冢框架的設(shè)計(jì)需要統(tǒng)籌全局铝噩,就好像一個指揮官。而最后來實(shí)現(xiàn)框架你招幾個有代碼能力的人怎么都可以實(shí)現(xiàn)窿克。在小強(qiáng)自動化測試班中我也能深刻地感受到骏庸,很多學(xué)員在學(xué)寫代碼的時候表現(xiàn)還不錯毛甲,但在最終設(shè)計(jì)框架的時候毫無頭緒,或者說是沒有框架設(shè)計(jì)的思想具被,導(dǎo)致大腦一直空白玻募,如果是這樣那你學(xué)的再好都沒有用,因?yàn)槟銓W(xué)的用不上一姿,只有當(dāng)你具備總體框架設(shè)計(jì)的思維能力补箍,才能利用所學(xué)的語言去實(shí)現(xiàn),過程中無非就是在實(shí)現(xiàn)的過程中遇到問題了查查資料而已啸蜜,至少你能邁出這最重要的一步了”补遥可見衬横,有時候思想是多么關(guān)鍵拔扌椤把鉴!

初學(xué)者如何選擇學(xué)習(xí)哪種技術(shù)

這個話題有點(diǎn)沉重,因?yàn)橐坏┍硎霾缓每隙〞灰恍o良的人罵之须床,但思前想后還是決定寫這一章節(jié)拇泣。因?yàn)槲冶惶嗟呐笥褑栠^這個問題了噪叙,大概統(tǒng)計(jì)了一下,基本每兩天就會被問到一次霉翔,有時候一天還會被問到N次睁蕾,我回答的都要吐血了,為此還在《挨踢脫口秀》中專門做了一期節(jié)目债朵,可見這個話題的必要性了子眶,也希望能幫助有選擇糾結(jié)癥的朋友。

下面我盡量客觀的以我自己的學(xué)習(xí)經(jīng)歷來聊聊序芦,也許這個經(jīng)歷不是最好的臭杰,甚至是錯的,但可以給大家一些參考谚中,少走一些彎路渴杆,我覺得就是有價值的。

首先宪塔,我們說說學(xué)習(xí)性能測試需要面臨的幾個挑戰(zhàn)磁奖,大家可以結(jié)合自己的實(shí)際情況看看自己是否適合繼續(xù)學(xué)習(xí)。

第一某筐,龐大的知識體系点寥,這個是我們面臨的第一個挑戰(zhàn)。性能測試是一項(xiàng)復(fù)雜且需要耐心的工作来吩,我們需要在復(fù)雜的系統(tǒng)中“抽絲剝繭”敢辩,一層層分析從而確定性能問題蔽莱。這個過程會涉及中間件、Web服務(wù)器戚长、緩存盗冷、數(shù)據(jù)庫、代碼等知識同廉,所以沒有一個較為完整的知識體系就很難進(jìn)行下去仪糖。雖然說是挑戰(zhàn),但在我看來卻是大部分小白朋友最佳的入門途徑迫肖,因?yàn)樗軒椭覀兛焖俳⑤^為完善的知識體系锅劝,對于我們而言有百利而無一害。不知你是否遇到過這樣的場景蟆湖,被指著鼻子說:連一個SQL語句都不會寫故爵,連中間件是什么都不知道你還和我們討論什么。這樣的“羞辱”雖然讓我們不開心隅津,但也直白地指出了現(xiàn)在很多測試工程師在整體知識體系方面的欠缺诬垂,只有把自己的短板補(bǔ)起來才有底氣和實(shí)力去爭取更美好的事物。

第二伦仍,較強(qiáng)的分析能力结窘,這個是我們面臨的第二個挑戰(zhàn)。就好像動畫片《柯南》充蓝,在復(fù)雜的犯罪現(xiàn)場破案隧枫,需要不斷的推斷和論證,這個過程中有可能會把之前確定的事情推翻了谓苟,也有可能好幾天都沒有進(jìn)展悠垛,但這也是它的魅力,可以說是痛并快樂的娜谊。

在我接觸過很多學(xué)員之后确买,我發(fā)現(xiàn)大家一個共性的問題就是邏輯分析能力較差,在分析的過程中經(jīng)常是東一點(diǎn)西一點(diǎn)纱皆,完全沒有邏輯可言湾趾,都是亂猜,并且經(jīng)常容易掉入細(xì)節(jié)派草,一旦掉入無法自拔搀缠,導(dǎo)致停滯不前,這也就是為什么很多人覺得性能測試難的原因近迁。在我看來艺普,性能測試的分析過程就像剝洋蔥,你需要一層層剝開才能看到問題所在,這個過程就需要你有較強(qiáng)的邏輯分析能力歧譬,同時也要具有宏觀性岸浑,只有站在一定的高度去看待問題才能豁然開朗,不然就會陷入死胡同瑰步。一旦這個思維能力培養(yǎng)好了矢洲,就會事半功倍,學(xué)習(xí)其他技術(shù)時效率也會提高缩焦,所以萬事都需付出才能有收獲读虏。

其次,我們再來說說學(xué)習(xí)自動化測試需要面臨的幾個挑戰(zhàn)袁滥。

第一盖桥,編碼能力,這個是逾越不過的坎兒题翻。說到這里可能會有朋友問難道性能測試不需要編碼能力嗎揩徊?答案是需要,但比起自動化測試來說門檻相對低點(diǎn)藐握。其實(shí)對于一個優(yōu)秀的測試工程師來說編碼能力是必備的技能。

如何提升自己的編碼能力也是不少朋友咨詢過我的問題垃喊,真心沒有什么捷徑猾普。我覺得就是要多練習(xí)多總結(jié),我說的練習(xí)是真正的動手去做而不是看本谜。我?guī)н^的學(xué)員中其實(shí)大部分同學(xué)都存在一個問題初家,就是上課講的時候聽起來感覺很簡單,不以為然乌助,但當(dāng)自己下課后練習(xí)時卻出現(xiàn)各種問題溜在,很簡單的知識點(diǎn)能搞一天,所以一定要多練習(xí)他托,每次犯過的錯誤也都要及時總結(jié)掖肋,不能讓自己在同一個地方跌倒兩次。我再苦口婆心一句:“沒有不起眼的磚赏参,沒有看不到的框架志笼,漂亮的樓房怎么能屹立不倒”。

第二把篓,邏輯思維能力纫溃。在有了編碼能力之后就能做自動化測試了嗎?顯然不能韧掩,因?yàn)樽詣踊瘻y試最終是希望建立一個框架或者平臺紊浩,這是一個大工程,一定要有較強(qiáng)的邏輯思維能力和設(shè)計(jì)能力才行。就好比坊谁,你會焊接技術(shù)但不代表你會設(shè)計(jì)汽車啊费彼。所以自動化測試真正的難點(diǎn)在于設(shè)計(jì)思想,一點(diǎn)經(jīng)驗(yàn)都沒有的朋友做起來確實(shí)會比較吃力呜袁,這也就是為什么我個人建議可以先學(xué)習(xí)性能測試敌买,培養(yǎng)能力和思維之后再學(xué)自動化測試的原因了。

說了這么多阶界,我想大家應(yīng)該心中已經(jīng)有了答案虹钮,再次聲明,這些只是我個人的看法膘融,不見得對芙粱,僅供參考而已,不喜勿噴氧映。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末春畔,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子岛都,更是在濱河造成了極大的恐慌律姨,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件臼疫,死亡現(xiàn)場離奇詭異择份,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)烫堤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進(jìn)店門荣赶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鸽斟,你說我怎么就攤上這事拔创。” “怎么了富蓄?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵剩燥,是天一觀的道長。 經(jīng)常有香客問我立倍,道長躏吊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任帐萎,我火速辦了婚禮比伏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘疆导。我一直安慰自己赁项,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著悠菜,像睡著了一般舰攒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悔醋,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天摩窃,我揣著相機(jī)與錄音,去河邊找鬼芬骄。 笑死猾愿,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的账阻。 我是一名探鬼主播蒂秘,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼淘太!你這毒婦竟也來了姻僧?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤蒲牧,失蹤者是張志新(化名)和其女友劉穎撇贺,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體冰抢,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡松嘶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了晒屎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片喘蟆。...
    茶點(diǎn)故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡缓升,死狀恐怖鼓鲁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情港谊,我是刑警寧澤骇吭,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站歧寺,受9級特大地震影響燥狰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜斜筐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一龙致、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧顷链,春花似錦目代、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽在讶。三九已至,卻和暖如春霜大,著一層夾襖步出監(jiān)牢的瞬間构哺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工战坤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留曙强,地道東北人。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓湖笨,卻偏偏與公主長得像旗扑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子慈省,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評論 2 354

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

  • 問的人多了臀防,變成文了。--不知名小編 自動化測試(英文Automated Testing)边败,一般是指軟件測試的自動...
    吳小白吃閱讀 906評論 0 0
  • 問的人多了笑窜,變成文章了哈哈哈 什么是自動化測試致燥? 自動化測試(英文Automated Testing),一般是指軟...
    阿佳娜閱讀 855評論 0 0
  • 01 帶孩子去朋友家做客,小孩玩小孩的断傲,大人嘮大人的脱吱。 玩著玩著,朋友的小女兒突然哭了起來认罩。 原來是她前一天用橡皮...
    簡佳閱讀 801評論 7 7
  • 題目: 給定一個整數(shù)數(shù)列箱蝠,找出其中和為特定值的那兩個數(shù)。 你可以假設(shè)每個輸入都只會有一種答案垦垂,同樣的元素不能被重用...
    Missmiss懵閱讀 243評論 0 0
  • 清咸豐年間宦搬,有一個才子出了一個一字聯(lián)求對,曰:墨劫拗。 不少人以書间校、筆等對之,均不巧妙页慷。獨(dú)有一人對:泉憔足。 此對句十分工...
    山東田夫閱讀 1,204評論 20 50