接觸了不少同行,由于他們之前一直做手工測驗,現在很迫切希望做自動化測驗,其中不乏作業5年以上的人, 本人從事軟體自動化測驗已經近5年,從server端到web端,從API到mobile,切身體會到自動化帶來的好處與痛楚,在此分享一下個人體會,
想做自動化,首先得了解一下自動化測驗的一些常見問題:
自動化測驗一些問題
- 什么是自動化測驗?
自動化測驗,顧名思義,自動完成測驗作業,通過一些自動化測驗工具或自己造輪子實作模擬之前人工點點/寫寫的作業并驗證其結果完成整個測驗程序,這樣的測驗程序,便是自動化測驗,自動化測驗,看上去很美,感覺好像是第一次工業革命,它開創了以機器代替手工勞動的時代,實則不然.因為每一個自動化測驗的case都是從手工測驗做起的,如果沒有手工測驗的基礎,是沒法進行自動化測驗,
- 為什么要進行自動化測驗
為什么進行自動化測驗,答案要從自動測驗的收益和人肉測驗的成本說起:
a. 自動化測驗節約成本(根據專案) 畢竟自動化測驗確實解放了一批人力(人力成本才是IT公司最大的成本),可以讓機器沒日沒夜的執行一些重復勞動. b.有些測驗專案手工很難實作(手工成本較高) 比如12306的壓力測驗、負載測驗,同時找那么多人去測驗不現實可以通過機器去模擬.
c.專案質量流程需要
比如版本管理需要build verify,以保證check in的code不會影響版本庫,類似于smoke test - 自動化測驗的優缺點
優點 避免測驗人員因重復勞動產生厭倦 提高測驗效率 保證每次測驗地一致性和可重復性 更好的利用無人值守時間 進行一些手工無法進行的測驗
維護成本相對比較高 缺點 系統開發時間不一定能縮短 沒有手工測驗發現缺陷多
UI layout issue 不容易發現 - 什么樣的專案適合做自動化測驗(dev手一抖,auto忙一宿)
有以下幾個特點的專案比較適合自動化測驗:
1. 專案變動少
2. 周期長
3. 專案資源足夠(自動化不是一個人完成的,需要一幫人長期維護)
舉例說明:
互聯網專案,一周內要上線,你不上線別人上線人家就不用你的,專案周期短,變動快,你自動化還沒做好,專案說不定就下線了,比如某寶雙12活動相關專案,一周之內就下線了,
適合做自動化測驗的專案,比如某寶客戶端,每個release,大部分功能都不變,并且3-5年內專案不會下線,這個就比較適合自動化. - 什么樣的人適合做自動化測驗?
這個問題是寫給想要做自動化測驗的人,或許你以為軟體測驗的門檻很低,低到任何人都可以做,隨便點點就可以了,這個行業太low了,所以你想做自動化測驗,提升自己的逼格,我想說手工測驗并不low,如果讓一個什么都不懂,一點業務基礎都沒有的人去做測驗,能測出來問題嗎?不要忽略你的業務知識儲備. 你的業務知識儲備的積累能讓你成為不可替代的行業專家,而做自動化的碼農會因為一個時代的更迭被小鮮肉替代, 扯了這么多,究竟什么什么樣的人能做自動化測驗? 我的理解分一下幾點: a. 擁有代碼能力 掌握一門開發語言,java、Python、ruby、c# b. 熟悉被測系統 比如你是web測驗,你就得懂js、css、html、xpath 你是移動端測驗,你就得具備Android 開發基礎和iOS開發基礎,會debug app 你是 C/S測驗你就要很熟悉TCP、IP協議 c. 掌握一套自動化測驗框架(工具) 比如 selenium/appium nunit/testng robot framework/cucumber d. 善于學習,達到知其然知其所以然 IT行業變化太快,每隔一段時間就會出現一些新興的東西,也會出現原來很火的東西逐漸沒落,誰也無法預測, 曾經諾基亞還是手機霸主,靠塞班一統天下,然而不思進取,落得個賣身求生存. 曾經qtp很火,曾經selenium也很火,現在appium也很火 軟體行業從桌面軟體到web端,又從web端遷移到移動端,誰也不知道下一個是什么,而我們作為軟體行業的從業者,不能因為那些很火的東西不火了而讓自己沒落,一個人最為核 心的能力就是學習能力,如果你善于學習,你就不必擔心這些變遷,因為你可以毫無壓力的遷移,selenium的原理你掌握了,學習appium簡直小菜一碟,因為appium使用的是
selenium WebDriver protocol .如果你能做到知其然知其所以然,你也可以造輪子,改造appium,畢竟現在很多功能需要完善, 如果你沒有達到以上的幾點,建議你還是做手工測驗吧, - 如果你有代碼基礎,想要從事自動化測驗怎么去學習?
很多初學者很糾結,學qtp還是學selenium 我的建議是學selenium,開源的,免費的,你可以下載原始碼研究,去了解其原理,再者現在selenium的資料不要太多,隨便搜搜一大堆,學起來比較輕松, 不建議學selenium IDE錄制,當然你可以通過錄制一些然后轉換為相應的腳本去學習,等你學好了selenium, 再去學appium你會有一種天然的似曾相識,為什么不建議學QTP/UFT?因為收費/臃腫/現在做桌面軟體測驗的作業已經不太多了, 關于買書,不建議買書,很多書已經過時了,并且質量渣渣,你買了那些書中的code已經不能用了,如果你真的想學,就去官網找example,去相應的社區和群交流,或者直接看API/原始碼.
總結:
新人學習自動化測驗要:
-
- 掌握一門門開發語言
- 掌握一些基礎的知識
- 少買書,多看測驗框架的document,多去社區交流
- 不斷學習,提升自己發現問題,解決問題的能力(不做伸手黨,多動手)
如果你
①從事功能測驗,想進階自動化測驗
②在測驗界混了1、2年,依然不會敲代碼
③面試大廠卻屢屢碰壁
愿你我相遇,皆有所獲! 歡迎關注微信公眾號:傷心的辣條
1.免費領取一份216頁軟體測驗工程師面試寶典檔案資料,
2.軟體測驗學習路線以及相對應的視頻學習教程免費分享!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/244588.html
標籤:其他
