接觸了不少同行,,由于他們之前一直做手工測試,現(xiàn)在很迫切希望做自動化測試,,其中不乏工作5年以上的人,。 想做自動化,首先得了解一下自動化測試的一些常見問題:
自動化測試一些問題
- 什么是自動化測試,?
自動化測試,,顧名思義,自動完成測試工作,。通過一些自動化測試工具或自己造輪子實現(xiàn)模擬之前人工點點/寫寫的工作并驗證其結(jié)果完成整個測試過程,,這樣的測試過程,便是自動化測試,。自動化測試,,看上去很美,感覺好像是第一次工業(yè)革命,,它開創(chuàng)了以機器代替手工勞動的時代,,實則不然.因為每一個自動化測試的case都是從手工測試做起的,如果沒有手工測試的基礎(chǔ),,是沒法進行自動化測試,。
- 為什么要進行自動化測試
為什么進行自動化測試,答案要從自動測試的收益和人肉測試的成本說起:
a. 自動化測試節(jié)約成本(根據(jù)項目)
畢竟自動化測試確實解放了一批人力(人力成本才是IT公司最大的成本),,可以讓機器沒日沒夜的執(zhí)行一些重復(fù)勞動.
b.有些測試項目手工很難實現(xiàn)(手工成本較高)
比如12306的壓力測試,、負(fù)載測試,同時找那么多人去測試不現(xiàn)實可以通過機器去模擬.
- 自動化測試的優(yōu)缺點
優(yōu)點
避免測試人員因重復(fù)勞動產(chǎn)生厭倦
提高測試效率
保證每次測試地一致性和可重復(fù)性
更好的利用無人值守時間
進行一些手工無法進行的測試
缺點
系統(tǒng)開發(fā)時間不一定能縮短
沒有手工測試發(fā)現(xiàn)缺陷多
- 什么樣的項目適合做自動化測試(dev手一抖,,auto忙一宿)
項目變動少,,周期長,項目資源足夠(自動化不是一個人完成的,,需要一幫人長期維護) 舉例說明: 互聯(lián)網(wǎng)項目,,一周內(nèi)要上線,你不上線別人上線人家就不用你的,,項目周期短,,變動快,你自動化還沒做好,,項目說不定就下線了,。比如某寶雙12活動相關(guān)項目,一周之內(nèi)就下線了,。 適合做自動化測試的項目,,比如某寶客戶端,每個release,大部分功能都不變,,并且3-5年內(nèi)項目不會下線,,這個就比較適合自動化.
- 什么樣的人適合做自動化測試?
這個問題是寫給想要做自動化測試的人,,或許你以為軟件測試的門檻很低,,低到任何人都可以做,隨便點點就可以了,,這個行業(yè)太low了,,所以你想做自動化測試,提升自己的逼格,,我想說手工測試并不low,,如果讓一個什么都不懂,一點業(yè)務(wù)基礎(chǔ)都沒有的人去做測試,,能測出來問題嗎,?不要忽略你的業(yè)務(wù)知識儲備.
你的業(yè)務(wù)知識儲備的積累能讓你成為不可替代的行業(yè)專家,而做自動化的碼農(nóng)會因為一個時代的更迭被小鮮肉替代,。
扯了這么多,,究竟什么什么樣的人能做自動化測試?
我的理解分一下幾點:
a. 擁有代碼能力
掌握一門開發(fā)語言,,java,、Python、ruby,、c#
b. 熟悉被測系統(tǒng)
比如你是web測試,,你就得懂js、css,、html,、xpath
你是移動端測試,你就得具備Android 開發(fā)基礎(chǔ)和iOS開發(fā)基礎(chǔ),,會debug app
你是 C/S測試你就要很熟悉TCP,、IP協(xié)議
c. 掌握一套自動化測試框架(工具)
比如 selenium/appium
nunit/testng
robot framework/cucumber
d. 善于學(xué)習(xí),達到知其然知其所以然
IT行業(yè)變化太快,,每隔一段時間就會出現(xiàn)一些新興的東西,也會出現(xiàn)原來很火的東西逐漸沒落,,誰也無法預(yù)測,。
曾經(jīng)諾基亞還是手機霸主,靠塞班一統(tǒng)天下,,然而不思進取,,落得個賣身求生存.
曾經(jīng)qtp很火,曾經(jīng)selenium也很火,現(xiàn)在appium也很火
軟件行業(yè)從桌面軟件到web端,,又從web端遷移到移動端,,誰也不知道下一個是什么。而我們作為軟件行業(yè)的從業(yè)者,,不能因為那些很火的東西不火了而讓自己沒落,,一個人最為核 心的能力就是學(xué)習(xí)能力,如果你善于學(xué)習(xí),,你就不必?fù)?dān)心這些變遷,,因為你可以毫無壓力的遷移,selenium的原理你掌握了,,學(xué)習(xí)appium簡直小菜一碟,,因為appium使用的是 selenium WebDriver protocol .如果你能做到知其然知其所以然,你也可以造輪子,,改造appium,,畢竟現(xiàn)在很多功能需要完善。
如果你沒有達到以上的幾點,建議你還是做手工測試吧,。
- 如果你有代碼基礎(chǔ),,想要從事自動化測試怎么去學(xué)習(xí)?
很多初學(xué)者很糾結(jié),,學(xué)qtp還是學(xué)selenium
我的建議是學(xué)selenium,,開源的,免費的,,你可以下載源碼研究,,去了解其原理,再者現(xiàn)在selenium的資料不要太多,,隨便搜搜一大堆,,學(xué)起來比較輕松。
不建議學(xué)selenium IDE錄制,,當(dāng)然你可以通過錄制一些然后轉(zhuǎn)換為相應(yīng)的腳本去學(xué)習(xí),,等你學(xué)好了selenium, 再去學(xué)appium你會有一種天然的似曾相識,。為什么不建議學(xué)QTP/UFT,?因為收費/臃腫/現(xiàn)在做桌面軟件測試的工作已經(jīng)不太多了。
關(guān)于買書,,不建議買書,,很多書已經(jīng)過時了,并且質(zhì)量渣渣,,你買了那些書中的code已經(jīng)不能用了,,如果你真的想學(xué),,就去官網(wǎng)找example,去相應(yīng)的社區(qū)和群交流,,或者直接看API/源碼.
總結(jié): 新人學(xué)習(xí)自動化測試要:
- 掌握一門門開發(fā)語言
- 掌握一些基礎(chǔ)的知識
- 少買書,,多看測試框架的document,多去社區(qū)交流
- 不斷學(xué)習(xí),,提升自己發(fā)現(xiàn)問題,,解決問題的能力(不做伸手黨,多動手)
轉(zhuǎn)載請注明出處:http://www.cnblogs.com/tobecrazy/
|