http://www.cnblogs.com/fnng/p/5370433.html 2016 自動化測試作為軟件測試的一種技術(shù)手段,,時常被大家討論,。本人在自動化技術(shù)方面有過略有小成,,今天聊一聊關(guān)于自動化的一些誤區(qū),以幫助新手能正確的了解和認識自動化一些概念,。
測試的行為本質(zhì)是什么,?為什么先從這個概念開始談起,因為對于新手來說,,總是把自動化看得很高端和復雜,。 先來看看功能測試如何進行的:編寫測試用例,測試用例當中最主要的是測試步驟和預期結(jié)果,;測試人員根據(jù)測試用例執(zhí)行操作步驟,,然后通過眼睛和思考判斷實際結(jié)果與預期結(jié)果是否相等。如果相等,,測試通過,;如果不相等,測試失敗,。 自動化測試要做的事情與功能測試是一致,。這里的自動化主要包含三個層面的自動化,單元測試自動化,,接口測試自動化和web測試自動化,。當然,不同層面的自動化關(guān)注點是不一樣的,。 單元測試自動化,,調(diào)用被測試的類或方法,根據(jù)類或方法的參數(shù),,傳入相應的數(shù)據(jù),。然后,得到一個返回結(jié)果,。最終斷言返回的結(jié)果是否等于預期結(jié)果,。如果相等,,測試通過,;如果不相等,測試失敗,。所以,,這里單元測試關(guān)注的是代碼的實現(xiàn)與邏輯。 接口測試自動化,,根據(jù)接口文檔,,到底是傳get請求呢?還是post請呢,?調(diào)用被測試的接口,,構(gòu)造相應的數(shù)據(jù)(id=1,name=zhangsan),,得到返回值,是200成功,,并返回查詢結(jié)果,。還是10021,用戶名不能為空,。不管輸入的參數(shù)是怎樣的,,我們都將得到一個結(jié)果。最終斷言返回的結(jié)果是否等于預期結(jié)果,。如果相等,,測試通過;如果不相等,,測試失敗,。所以,接口測試關(guān)注的是數(shù)據(jù),。只要數(shù)據(jù)正確了,,功能就做成大半,剩下的無非是如何把這些數(shù)據(jù)展示在頁面上,。 web測試的自動化,,這種測試更貼近用戶的行為,模擬用戶點擊了某個按鈕,,向個輸入框里輸入了什么,。但是用戶可以看到登錄成功了,但web自動化并不知道它剛才的點擊有沒有生效,。所以,,要找“證據(jù)”,比如,,登錄成功后頁面右上角會顯示“歡迎,,xxx”。這就是登錄成功的有力“證據(jù)”,。于是,,當web自動化登錄成功后,就去獲取這個數(shù)據(jù)進行斷言,。斷言如果相等,,測試通過;如果不相等,,測試失敗,。所以,web自動化的關(guān)注點用戶操作形為,,頁面上真正的按鈕和輸入框是否可用,。 所以,,從測試的行為本質(zhì)上來看,功能測試與單元自動化測試,,接口自動化測試和web自動化測試并沒有區(qū)別,。唯一的區(qū)別是,一個由人來執(zhí)行,,一個由代碼或工具執(zhí)行,。
我們時常會聽到兩個聲音:一種聲音,許多測試新手把自動化想象成走向人生巔峰的必備技能,。只要掌握了自動化就可以當上CTO,,迎娶白富美,走向人生巔峰了,。時常用期盼的小眼神問:xxx 自動化多少錢一個月,?如何學習自動化測試技術(shù)?推薦個書或資料或視頻吧,? 另一種聲音,,略懂自動化的,被自動化坑過的,,或者壓根就鄙視和抵觸自動化的,,又把自動化說成屎。頁面老是變,,維護成本高,,這個元素TM怎么定位不到。勞民傷財,,費了很大力氣也發(fā)現(xiàn)不了bug,。而自動化用例本身到是bug不斷。什么,?自動化居然不能做瀏覽器兼容性測試,?什么?你們領(lǐng)導讓你搞自動化呀,?你們領(lǐng)導SB,。 先說前一種聲音,理論上任何技能都是為了提高效率和產(chǎn)出,,節(jié)約公司成本為前提的,。比如,,以前項目要5個測試,,現(xiàn)在用了自動化之后,3個就夠了,。但如果用了自動化,,還需要再招2個人來維護自動化腳本,。那就沒戲。那我只為學習不行???我學好了找個專職做自動化的崗位不行啊,?工資起碼比現(xiàn)在功能測試高吧,!行行行!學習當然行,。但方法要正確,。我稍后再說正確學習自動化測試的姿勢。(左手右手一個慢動作...)但,,其實我想告訴你,,對于測試來說,理論上你掌握一個單一的技能是遠遠不能走上人生巔峰的,。 再說另一種聲音,,這個情況一般是我們對自動化測試的期望太高了。自動化嘛,,不就應該自動化腳本寫好,,自動化腳本刷刷的跑。然后,,喝杯茶的功夫,,bug就找到了。要真這么美好,,這得有多少功能測試人員得轉(zhuǎn)行去搬磚了,。一般造成這個認識的,主要兩方面原因,,技能不夠,,有些只依賴于各種自動化測試工具,有些一只能寫寫簡單的模擬用戶操作的腳本,。第二個原因,,不管三七二十一上來就拿自己所測試的項目開刀。這元素咋定位,?這功能怎么寫斷言,?我靠,腳本運行又出錯了,。
學習的兩點建議你別BB了,,你都大神了,你當然鄙視我們這些新手,,你當然站著說話不腰疼,。那要不,,你說自動化測試咋學?你給個方法,。自動化方面的資料挺多的了,。我給兩點建議。 不要迷戀自動化工具,,學好開發(fā)語言,。這一點我個人感受很深,理論上不管你寫的是單元測試自動化,,接口測試自動化,,還是web測試自動化,都屬于開發(fā)的行為,,只是帶著測試的思維在寫測試代碼而已,。你說,如果開發(fā)能力只停留在稍微能看懂,,讓你實現(xiàn)個簡單的功能就大腦一片空白的水平肯定不行,。代碼要多寫,寫得多了,,自然思想就來了,,代碼結(jié)構(gòu)的設(shè)計能力也來的。不過,,這是需要半年一年才能出效果,。那我該學哪個語言呢?目前主流的哪個都行,,你們開發(fā)用Java,,你就可以學Java,你們開發(fā)用Python,,你就可以學Python,。 我要學自動化技術(shù),你讓我學編程語言,,我要能把語言學好,,我當開發(fā)去算了。那你還想不想走向人生巔峰了,?只有跨過編程能力這道坎才有希望,。(當然,不走技術(shù)流的另說,。) 當你把編程學好,,知道功能是如何開發(fā)出來的。很多測試的問題自然就通了。如何單元測試怎么寫,,接口測試怎么做等,。 另外一點建議就是專一,!專一,!專一!重要的事情說三遍,,如果,,你經(jīng)常混測試群的話,,就會被各種測試技術(shù)工具吸引,,今天大家討論性能測試很火啊,貌似職位工資很高,。要不找點資料學學,。過段時間又發(fā)現(xiàn),現(xiàn)在移動自動化測試是方向,,應該學習一下,。所以,不專一是你最大的敵人,,等到面試的時候,。看著簡歷上寫了滿滿的技能,,每個多問兩句就... 那有什么辦法呢,?人家公司要求的必須會這些,你能不學一下,?那你能把眼光放高點對標一下BAT的招聘信息么,?將來是要走向人生巔峰的人,怎么只能把眼光放在那些二流的公司上面,,這些公司,,本來就招個功能測試,還非要求“精通LoadRunner,、QTP等自動化工具”,。 從你的技術(shù)博客來看,你也不專一??!今天更新這個技術(shù),明天介紹點那個技能,。我是有學習主線的好么,?博客的更新都是我學習總結(jié)的一小部分。從大的主線來看,我近三年來重點提升的就是編程能力和自動化相關(guān)技能,。
本來想講自動化測試認識的一些具體誤區(qū),,結(jié)果扯了這么多,剩下的放在下一篇了,。
|
|
來自: 心不留意外塵 > 《測試調(diào)試》