一、Python常用領(lǐng)域
- Python用于簡(jiǎn)單腳本編程,如編寫2048小游戲或12306的自動(dòng)搶票軟件;
- Python用于系統(tǒng)編程,如開(kāi)發(fā)系統(tǒng)應(yīng)用;
- Python用于開(kāi)發(fā)網(wǎng)絡(luò)爬蟲(chóng);
- 網(wǎng)絡(luò)爬蟲(chóng)的用途是進(jìn)行數(shù)據(jù)采集,也就是將互聯(lián)網(wǎng)中的數(shù)據(jù)采集過(guò)來(lái)。網(wǎng)絡(luò)爬蟲(chóng)的難點(diǎn)其實(shí)并不在于爬蟲(chóng)本身,由于網(wǎng)站方為了避免被爬取回采取各種各樣的反爬蟲(chóng)措施,而如果想要繼續(xù)從網(wǎng)站爬取數(shù)據(jù)就需要解決這些反爬蟲(chóng)措施,所以網(wǎng)絡(luò)爬蟲(chóng)的難點(diǎn)在于反爬的攻克和處理。
? - Python用于Web開(kāi)發(fā),如個(gè)人博客、在線教育網(wǎng)站以及論壇等;
- Python用于自動(dòng)化運(yùn)維,如通過(guò)寫Python腳本實(shí)現(xiàn)對(duì)于服務(wù)器集群進(jìn)行自動(dòng)化管理;
- Python用于網(wǎng)絡(luò)編程,如Socket編程等;
- Python用于數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)等大數(shù)據(jù)與人工智能領(lǐng)域方向的程序開(kāi)發(fā),如在人工智能領(lǐng)域;
- Python用于自動(dòng)化測(cè)試,如UI自動(dòng)化測(cè)試(Python+Selenium等)、接口測(cè)試(Python requests等)、性能測(cè)試(Python Locust等)、安全性測(cè)試(Python Scapy等)、兼容性測(cè)試(Python+Selenium等)等;
二、自動(dòng)化測(cè)試
- 什么是自動(dòng)化測(cè)試
廣義
上來(lái)講,自動(dòng)化包括一切通過(guò)工具(程序)的方式來(lái)代替或輔助手工測(cè)試的行為都可以看做自動(dòng)化,包括性能測(cè)試工具(loadrunner、jmeter),或自己所寫的一段程序,用于生成1到100個(gè)測(cè)試數(shù)據(jù)。所以實(shí)際上從廣義上來(lái)講:性能測(cè)試、接口測(cè)試等但凡用到測(cè)試工具的測(cè)試都稱為"自動(dòng)化測(cè)試"。狹義
上來(lái)講,通工具記錄或編寫腳本的方式模擬手工測(cè)試的過(guò)程,通過(guò)回放或運(yùn)行腳本來(lái)執(zhí)行測(cè)試用例,從而代替人工對(duì)系統(tǒng)的功能進(jìn)行驗(yàn)證。
當(dāng)然,行業(yè)中經(jīng)常說(shuō)的“自動(dòng)化測(cè)試”及企業(yè)中要求的“自動(dòng)化測(cè)試”大多都是“基于產(chǎn)品或項(xiàng)目UI層的自動(dòng)化測(cè)試”。對(duì)于性能測(cè)試,接口測(cè)試一般不把它們歸納為自動(dòng)化測(cè)試的范疇。 - 為什么要做自動(dòng)化測(cè)試
根據(jù)51testing的《中國(guó)軟件測(cè)試從業(yè)人員調(diào)查報(bào)告》,手工測(cè)試占到的89% ,相對(duì)開(kāi)發(fā)來(lái)說(shuō),測(cè)試的門檻底,薪資普遍較底,所要求的知識(shí)面雖然有一定廣度,但缺乏深度。這是測(cè)試的普遍現(xiàn)狀。
正因?yàn)槭止y(cè)試人門檻不高,使大量的畢業(yè)生,甚至是非專業(yè)人員涌入這個(gè)行業(yè)。從而增加了這個(gè)行業(yè)的激烈競(jìng)爭(zhēng)。對(duì)于工作幾年扔處于手工測(cè)試的人員來(lái)說(shuō)都會(huì)有強(qiáng)列的危機(jī)感。由于工作的技術(shù)含量不高,薪資的漲幅遇到瓶頸,另一方面受到新進(jìn)入者的威脅,同樣的工作公司花5K招來(lái)的人就可以做,那么就不會(huì)花8K 的招。
這個(gè)問(wèn)題本不應(yīng)該出現(xiàn)討論技術(shù)的話題中,但他的確是大多測(cè)試人員不得不面對(duì)的一個(gè)問(wèn)題。所以,從測(cè)試人員自身的發(fā)展來(lái)說(shuō),我其實(shí)非常需要通過(guò)自動(dòng)化技術(shù)來(lái)增加自己有競(jìng)爭(zhēng)力。
自動(dòng)化測(cè)試最實(shí)在的優(yōu)勢(shì)在于——工作好找:有一個(gè)測(cè)試工程師(并不是本人)發(fā)現(xiàn)一個(gè)有趣的現(xiàn)象,她申請(qǐng)過(guò)的幾乎所有測(cè)試職位,在招聘時(shí)都需要自動(dòng)化測(cè)試經(jīng)驗(yàn)。但當(dāng)她開(kāi)始工作后,就發(fā)現(xiàn)這些公司都試圖做自動(dòng)化測(cè)試,但是結(jié)果大多不怎么地。不過(guò),盡管她參與的都是一些悲劇的項(xiàng)目,不過(guò)她總能把這些悲劇包裝成喜劇以應(yīng)對(duì)下一次面試。 - 自動(dòng)測(cè)試的優(yōu)勢(shì)
- 頻繁的回歸測(cè)試 - 快速反饋 - 幾乎無(wú)限制的測(cè)試用例迭代執(zhí)行 - 支持敏捷和極限編程 - 遵循測(cè)試用例的文檔 - 自定義缺陷報(bào)告 - 能找出手工測(cè)試中沒(méi)發(fā)現(xiàn)的缺陷 - 自動(dòng)化測(cè)試有那么多優(yōu)勢(shì),為什么還有那么多項(xiàng)目做失敗了?
我個(gè)人推論:
1、公司自動(dòng)化測(cè)試人員能力不夠;
2、項(xiàng)目難度太大,功能不穩(wěn)定,需求變化太快,就盲目啟動(dòng)自動(dòng)化,導(dǎo)致自動(dòng)化腳本開(kāi)發(fā)頻繁改變,更不上需求變化的速度,最終以失敗告終 ;
3、項(xiàng)目過(guò)于復(fù)雜,大部分功能無(wú)法實(shí)現(xiàn)自動(dòng)化,僅僅只有小部分功能實(shí)現(xiàn)自動(dòng)化,這個(gè)對(duì)于項(xiàng)目意義不大;
4、公司人員流動(dòng)大,導(dǎo)致自動(dòng)化腳本維護(hù)的難度加大,最終夭折;
? - 什么項(xiàng)目適合做自動(dòng)化測(cè)試?
假如你已經(jīng)決定要學(xué)習(xí)自動(dòng)化測(cè)試了,如何學(xué)習(xí)是要面臨的下一個(gè)問(wèn)題?這個(gè)問(wèn)題以被測(cè)試產(chǎn)品為出發(fā)點(diǎn)進(jìn)行分析,假如你所學(xué)的技術(shù)不能得到應(yīng)用(驗(yàn)證),將會(huì)使你的學(xué)習(xí)過(guò)程寸步難行。
首先考考慮產(chǎn)品是否適合做自動(dòng)化測(cè)試。這方法比較普遍的共識(shí)是從三個(gè)方面進(jìn)行權(quán)衡。- 軟件需求變動(dòng)不頻繁
測(cè)試腳本的穩(wěn)定性決定了自動(dòng)化測(cè)試的維護(hù)成本。如果軟件需求變動(dòng)過(guò)于頻繁,測(cè)試人員需要根據(jù)變動(dòng)的需求來(lái)更新測(cè)試用例以及相關(guān)的測(cè)試腳本,而腳本的維護(hù)本身就是一個(gè)代碼開(kāi)發(fā)的過(guò)程,需要修改、調(diào)試,必要的時(shí)候還要修改自動(dòng)化測(cè)試的框架,如果所花費(fèi)的成本不低于利用其節(jié)省的測(cè)試成本,那么自動(dòng)化測(cè)試便是失敗的。項(xiàng)目中的某些模塊相對(duì)穩(wěn)定,而某些模塊需求變動(dòng)性很大。我們便可對(duì)相對(duì)穩(wěn)定的模塊進(jìn)行自動(dòng)化測(cè)試,而變動(dòng)較大的仍是用手工測(cè)試。 - 項(xiàng)目周期較長(zhǎng)
由于自動(dòng)化測(cè)試需求的確定、自動(dòng)化測(cè)試框架的設(shè)計(jì)、測(cè)試腳本的編寫與調(diào)試均需要相當(dāng)長(zhǎng)的時(shí)間來(lái)完成。這樣的過(guò)程本身就是一個(gè)測(cè)試軟件的開(kāi)發(fā)過(guò)程,需要較長(zhǎng)的時(shí)間來(lái)完成。如果項(xiàng)目的周期比較短,沒(méi)有足夠的時(shí)間去支持這樣一個(gè)過(guò)程,那么自動(dòng)化測(cè)試便成為笑談。 - 自動(dòng)化測(cè)試腳本可重復(fù)使用
自動(dòng)化測(cè)試腳本的重復(fù)使用要從三個(gè)方面來(lái)考量,一方面所測(cè)試的項(xiàng)目之間是否很大的差異性(如C/S系統(tǒng)和B/S系統(tǒng)的差異);所選擇的測(cè)試工具是否適應(yīng)這種差異;最后,測(cè)試人員是否有能力開(kāi)發(fā)出適應(yīng)這種差異的自動(dòng)化測(cè)試框架。
- 軟件需求變動(dòng)不頻繁
現(xiàn)在我也找了很多測(cè)試的朋友,做了一個(gè)分享技術(shù)的交流群,共享了很多我們收集的技術(shù)文檔和視頻教程。
如果你不想再體驗(yàn)自學(xué)時(shí)找不到資源,沒(méi)人解答問(wèn)題,堅(jiān)持幾天便放棄的感受
可以加入我們一起交流。而且還有很多在自動(dòng)化,性能,安全,測(cè)試開(kāi)發(fā)等等方面有一定建樹(shù)的技術(shù)大牛
分享他們的經(jīng)驗(yàn),還會(huì)分享很多直播講座和技術(shù)沙龍
可以免費(fèi)學(xué)習(xí)!劃重點(diǎn)!開(kāi)源的?。?!
qq群號(hào):691998057【暗號(hào):csdn999】
三、主流自動(dòng)化測(cè)試框架
- 自動(dòng)化測(cè)試框架
桌面程序的工具有:QTP、 AutoRunner
web應(yīng)用的工具有:QTP、AutoRunner、Robot Framework、watir、selenium - 測(cè)試框架選擇
由于B/S架構(gòu)的諸多優(yōu)勢(shì),早幾年前大量C/S架構(gòu)的應(yīng)用轉(zhuǎn)為B/S結(jié)構(gòu)。從而也推動(dòng)了web開(kāi)發(fā)與測(cè)試技術(shù)的發(fā)展。這也導(dǎo)致QTP框架的落寞,Selenium框架及Robot Framework框架的大量興起。
被測(cè)試有產(chǎn)品是C/S架構(gòu)的,那么推薦QTP ;
被測(cè)產(chǎn)品是B/S 結(jié)構(gòu),那么推薦selenium ;
? - 市面主流自動(dòng)化測(cè)試框架
RFS: Robot Framework + Selenium
Selenium+unittest框架
為什么不是QTP 或其它工具?因?yàn)閟elenium 對(duì)B/S應(yīng)用支持很好,更重要的一點(diǎn),它支持多語(yǔ)言的開(kāi)發(fā),真正的試用selenium ,你所要掌握的不僅僅是一個(gè)工具而已,你還需要學(xué)習(xí)一門語(yǔ)言。
?
四、我們?cè)搶W(xué)什么
自然選擇主流框架,假如你決定使用selenium 了之后,你又面臨了一個(gè)新的問(wèn)題,選擇一門語(yǔ)言。selenium 是支持java、python、ruby、php、C#、JavaScript 。
從語(yǔ)言易學(xué)性來(lái)講: ruby、python;
從語(yǔ)言應(yīng)用廣度來(lái)講: python、java、C#、php;
從語(yǔ)言相關(guān)測(cè)試技術(shù)成熟度及資料來(lái)講: python、java、ruby;
備注: 你可以考慮整個(gè)技術(shù)團(tuán)隊(duì)主流用什么語(yǔ)言,然后選擇相應(yīng)的語(yǔ)言;
備注: 我們?cè)谶@里自然選擇目前市面上最火,使用范圍廣,技術(shù)成熟度大的Python講解;
?
五、Python自動(dòng)化測(cè)試-學(xué)習(xí)路線
學(xué)習(xí)路線規(guī)劃:
1.python(python不過(guò)關(guān),別談自動(dòng)化);
2.Web基礎(chǔ)(網(wǎng)頁(yè)基礎(chǔ))
3.Selenium框架
4.unittest框架
5.Robot Framwork框架
6.項(xiàng)目
下面是配套資料,對(duì)于做【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴我走過(guò)了最艱難的路程,希望也能幫助到你!
最后: 可以在公眾號(hào):程序員小濠 ! 免費(fèi)領(lǐng)取一份216頁(yè)軟件測(cè)試工程師面試寶典文檔資料。以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!,其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫(kù)、抓包工具專題、接口測(cè)試工具、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試、APP自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成、測(cè)試架構(gòu)開(kāi)發(fā)測(cè)試框架、性能測(cè)試、安全測(cè)試等。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-815838.html
如果我的博客對(duì)你有幫助、如果你喜歡我的博客內(nèi)容,請(qǐng) “點(diǎn)贊” “評(píng)論” “收藏” 一鍵三連哦!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-815838.html
到了這里,關(guān)于Python自動(dòng)化測(cè)試怎么去學(xué)習(xí)?熬夜7天整理出這一份3000字學(xué)習(xí)指南!的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!