【软件测试】什么样的项目适合做自动化测试?自动化测试有需要那些技术?
少部分從事軟件自動化測試,會接觸底層服務端、API 、Web、APP、H5 等等,對自動化有了解。
想做自動化,首先得了解一下自動化測試的一些常見問題。
也是面試時,必問的一些問題(這么簡單的面試問題,你卻答的一塌糊涂),如果對自動化完全不了解,每天在那嚷嚷要做自動化,都是空喊。
自動化測試一些問題
1. 什么是自動化測試?
自動化測試,顧名思義,自動完成測試工作。
通過一些自動化測試工具或自己造輪子實現模擬之前人工點點/寫寫的工作并驗證其結果完成整個測試過程,這樣的測試過程,便是自動化測試。
自動化測試,看上去很美,感覺好像是第一次工業革命,它開創了以機器代替手工勞動的時代,實則不然。
因為每一個自動化測試的case都是從手工測試做起的,如果沒有手工測試的基礎,是沒法進行自動化測試。
2. 為什么要進行自動化測試
為什么進行自動化測試,答案要從自動測試的收益和人肉測試的成本說起:
1)自動化測試節約成本(根據項目)
畢竟自動化測試確實解放了一批人力(人力成本才是IT公司大的成本),可以讓機器沒日沒夜的執行一些重復勞動.
2)有些測試項目手工很難實現(手工成本較高)
比如12306的壓力測試、負載測試,同時找那么多人去測試不現實可以通過機器去模擬.
3)項目質量流程需要
比如版本管理需要build verify,以保證check in的code不會影響版本庫。
類似于smoke test
自動化測試的優缺點
優點
避免測試人員因重復勞動產生厭倦
提高測試效率
保證每次測試地一致性和可重復性
更好的利用無人值守時間
進行一些手工無法進行的測試
缺點
維護成本相對比較高
系統開發時間不一定能縮短
還是得依賴手工測試,很多問題無法發現
什么樣的項目適合做自動化測試(dev手一抖,auto忙一宿)
有以下幾個特點的項目比較適合自動化測試:
1. 項目變動少
2. 周期長
3. 項目資源足夠(自動化不是一個人完成的,需要一幫人長期維護)
舉例說明:
互聯網項目,一周內要上線,你不上線別人上線人家不用你的,項目周期短,變動快,你自動化還沒做好,項目說不定下線了。
比如某寶雙12活動相關項目,一周之內下線了。
適合做自動化測試的項目,比如某寶客戶端,每個release,大部分功能都不變,并且3-5年內項目不會下線,這個比較適合自動化.
什么樣的人適合做自動化測試?
這個問題是寫給想要做自動化測試的人,或許你以為軟件測試的門檻很低,低到任何人都可以做,隨便點點可以了,這個行業太low了,所以你想做自動化測試,提升自己的逼格,我想說手工測試并不low,如果讓一個什么都不懂,一點業務基礎都沒有的人去做測試,能測出來問題嗎?不要忽略你的業務知識儲備.
你的業務知識儲備的積累能讓你成為不可替代的行業專家,而做自動化的碼農會因為一個時代的更迭被小鮮肉替代。
扯了這么多,究竟什么什么樣的人能做自動化測試?
我的理解分一下幾點:
1)擁有代碼能力
掌握一門開發語言,java、Python、ruby、c#
2)熟悉被測系統
比如你是web測試,你得懂js、css、html、xpath
你是移動端測試,你得具備Android 開發基礎和iOS開發基礎,會debug app
你是 C/S測試你要很熟悉TCP、IP協議
3)掌握一套自動化測試框架(工具)
比如
selenium/appium
nunit/testng
robot framework/cucumber
4)善于學習,達到知其然知其所以然
IT行業變化太快,每隔一段時間會出現一些新興的東西,也會出現原來很火的東西逐漸沒落,誰也無法預測。
曾經諾基亞還是手機霸主,靠塞班一統天下,然而不思進取,落得個賣身求生存.
曾經qtp很火,曾經selenium也很火,現在appium也很火
軟件行業從桌面軟件到web端,又從web端遷移到移動端,誰也不知道下一個是什么。而我們作為軟件行業的從業者,不能因為那些很火的東西不火了而讓自己沒落,一個人為核心的能力是學習能力。
如果你善于學習,你不必擔心這些變遷,因為你可以毫無壓力的遷移,
selenium的原理你掌握了,學習appium簡直小菜一碟,因為appium使用的是
selenium WebDriver protocol 。
如果你能做到知其然知其所以然,你也可以造輪子,改造appium,畢竟現在很多功能需要完善。
如果你沒有達到以上的幾點,建議你還是做手工測試吧。
如果你有代碼基礎,想要從事自動化測試怎么去學習?
1、很多初學者很糾結,學qtp還是學selenium
我的建議是學selenium,開源的,免費的,你可以下載源碼研究,去了解其原理,再者現在selenium的資料不要太多,隨便搜搜一大堆,學起來比較輕松。
不建議學selenium IDE錄制,當然你可以通過錄制一些然后轉換為相應的腳本去學習,等你學好了selenium, 再去學appium你會有一種天然的似曾相識。
2、為什么不建議學QTP/UFT?
因為收費/臃腫/現在做桌面軟件測試的工作已經不太多了。
3、關于買書
自動化工具類的書,不建議買,很多書已經過時了,并且質量渣渣,你買了那些書中的code已經不能用了,如果你真的想學,去官網找example,去相應的社區和群交流(1017539290),或者直接看API/源碼.
當然,測試基礎類的書籍,至少得看過一本,有系統性的知識。
總結:
新人學習自動化測試要:
· 掌握一門開發語言
· 掌握一些基礎的知識
· 自動化方面,少買書,多看測試框架的Document,多去技術社區交流
· 不斷學習,提升自己發現問題,解決問題的能力
· 不做伸手黨,多動手
總而言之
學習一門開發語言,Java/Python,學習一個測試工具selenium/appium,掌握一個測試框架,testng,cucumber 等
平時多沉淀,然后抓住機遇,即可輕而易舉的轉型自動化測試。
綿薄之力
最后感謝每一個認真閱讀我文章的人,看著粉絲一路的上漲和關注,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走
這些資料,對于進階【自動化測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!凡事要趁早,特別是技術行業,一定要提升技術功底。希望對大家有所幫助…….
總結
以上是生活随笔為你收集整理的【软件测试】什么样的项目适合做自动化测试?自动化测试有需要那些技术?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解析二分查找时间复杂度
- 下一篇: vimdiff使用