-
1 # testerzhang
-
2 # 逆風解意220479137
推薦書籍《Python Web自動化測試入門與實戰,從入門到入行》
本書內容分為3大篇,共計14章。各部分內容概述如下:
基礎篇(第1章~第7章)—自動化測試基礎知識。本篇主要講述自動化測試人員需要掌握的基本知識,從程式碼使用層面進行介紹,包括Python基礎、WebDriver API的使用及單元測試框架等知識。
第1章~第3章是自動化測試的入門知識。第1章為開始自動化工作前的準備工作—環境搭建。第2章和第3章分別介紹Python的使用和WebDriver API的使用,掌握了基礎知識後就能夠編寫一些簡單的自動化測試指令碼。
第4章~第7章是學習完第1章~第3章入門知識後的進階知識。第4章和第6章分別介紹了經常使用的兩種單元測試框架UnitTest和Pytest,學完單元測試框架便可以對專案有個基本的構思。第5章介紹Selenium Grid分散式執行測試用例(好的專案還需要搭配高速的執行效率)。第7章介紹了Python的一些常用模組。
基礎篇主要是為自動化測試實踐運用打下牢固的基礎,適合初學自動化測試的人員學習。
實踐篇(第8章~第10章)—自動化測試專案實戰。
實踐篇是在掌握了基礎篇的基本知識後,在自動化測試專案的應用。從專案層面進行介紹,以資料驅動模型和PO模型為基礎進行實戰練習,然後進行持續整合操作。
第8章使用資料驅動模型,從專案解析、框架搭建、用例組織、資料操作等幾個方面進行介紹,主要使讀者對資料驅動模型有一個認識,該模型在實際專案中會被經常使用。
第9章使用PO模型,以一個簡單的後臺管理系統從專案解析、框架搭建、常用結構封裝、頁面封裝、用例組織、設定專案入口等幾個方面進行介紹。很多公司在專案中都會以PO模型為基礎,混合資料驅動模型和其他的一些方式進行專案操作,建議讀者對本章內容進行深入的學習。
第10章介紹了目前最流行的持續整合工具Jenkins,對第9章產生的專案測試指令碼進行持續整合,從專案建立、任務定時、郵件傳送等幾個方面進行實戰應用。
本篇屬於專案實踐篇,適合具有一定基礎的自動化測試人員學習。學完實踐篇,在專案解析、自動化框架搭建、模組封裝、用例組織、測試報告生成和持續整合上,讀者已經有一定程度的認知,由此便可以在中小型專案上進行實際操作。
卓異篇(第11章~第14章)—拓展知識面並提高專案質量。
卓異篇主要用來提高讀者的知識面,一個完整的自動化測試專案不只是寫好測試指令碼,還需要一些輔助的知識技能,本篇將介紹6種測試模型、如何寫一手高質量的程式碼和以GitHub為例講解Git的基本使用,此外,還介紹了一些初級測試人員求職必備的面試題。
第11章介紹的是5種基本自動化測試模型,即線性模型、模組化驅動模型、資料驅動模型、關鍵字驅動模型及行為驅動模型。
第12章介紹如何提高自己的編碼質量,從編碼規範、專案層次結構、個人學習幾個方面進行說明。
第13章介紹了一個開源的分散式版本控制系統Git,並以GitHub為例介紹Git命令的使用。
第14章精選了一些常見的自動化測試經典面試題,涵蓋Python、Selenium和開放性三個方面,以幫助有求職需求的讀者應對面試。
卓異篇旨在拓展知識,不僅適合自動化測試人員,對於從事測試工作的從業者也同樣適合。
-
3 # 樂搏軟體測試
目錄:如何入門自動化?
一、自動化如何入門
很多測試人為了能從手工測試中構建測試例項和資料,設定系統先決條件,執行測試,比較實際資料與預期資料並報告可能的缺陷脫離出來,就開始學習自動化,自動化確實可以簡化這些操作。但事實上,我們有很多自學了很久自動化的學員聊天,發現大家在自動化專案中都摔過跟頭,為什麼?
因為不同的應用程式和領域,生命週期和開發人員數量都不一樣。甚至不同的業務需要的模型都不一樣,沒有領路人就會迷路。
《自動化測試最佳實踐:來自全球的經典自動化測試案例解析》一書中開篇有這樣一個案例:
他們所用工具為開源工具,並未進行試點研究。但是這個開篇案例,透過一年多的努力把所有迴歸測試都實現了自動化。
問題:
從專案開始之前基本上每半個月都會將新功能加到產品中,但是做過測試的人都知道,程式碼bug會越來越多。產品中會有大量導致系統中斷的bug。記得我們之前遇到過一個k12行業的app,那簡直是災難!新增一個功能都有可能系統崩潰。大家在實際工作中,遇到過這種問題嗎?
對於一個業務程式碼很亂的情況,單元測試也是非常難得,因為很難隔離出來一個元件進行測試。
【Tips】不要嘗試解決舊問題
當軟體不支援自動化測試的時候,這個團隊將軟體進行分層新的架構。
如果自動化測試成本非常高那就沒有自動化的意義了。書中提到他們使用了自動化測試金字塔:單元級別的測試一般ROI最高。程式設計師可以很快的寫出它們再執行,而且測試可以根據需要進行更新。
後面提到如何GUI冒煙測試,單元級別驅動開發,利用驗收測試驅動開發....等等內容都是偏技術了。上面這個故事,僅僅是讓大家根據實際案例瞭解一下自動化。
言歸正傳:如何入門自動化?
想要學習自動化的大概有幾類人,功能測試在職提高,要不就是功能測試學完進階。有一定的測試經驗了,但是想要學習自動化總是霧裡看花。
什麼適合引入自動化:
√專案週期很長,需要不斷版本更新迭代,但是需求變更不頻繁,此時適合引入自動化測試。系統的測試物件基本可以正常識別,以及無法識別的空間能否提供一個解決方案。系統中不存在第三方空間。並且需要反覆測試,如可靠性測試需要進行上千次的系統測試。
×什麼不適合自動化:
專案週期很短,需求持續變更。就算是一個專案週期很長的專案,如果經常變更需求,也不適合做自動化。這類通常是軟體版本還沒有穩定的情況下,很多功能需要被重新定義更改,也就是專案初期沒有定性的時候,非常不適合做自動化。
說到自動化測試就要提到框架了:是用來管理和組織測試用例的,可應用在單元測試、自動化測試當中,一個框架是可重複設計,是抽象類及例項簡寫作關係來表達的。
在學習框架前需要進行自動化分析:1.是否可行,也就是評估階段 2.demo分析一般選取冒煙測試用例,檢查指令碼是不是能成功執行 3.測試需求分析。
自動化測試用例設計:
手工測試用例的話是從0到1的階段,也就是從沒有到有,但是自動化的測試用例是根據手工用例來寫的。新增補充自動化用例。
-
4 # 請叫我磚家
自動化測試所具備的基礎:測試基礎,程式設計基礎,對自動化的想法。
當然,如果說你沒有語言基礎也可以做,無非是在別人或者其他工具上,如公司自研工具 qtp等。如果換一家公司呢?
8年測試開發經驗,開始兩年在公司自研工具上做介面自動化。自己萌生了想要自己寫一個介面自動化工具的想法。有了想法然後就去學習,各種自動化的思想,Python,參考各種大神的作品。寫了簡單的工具,現在想想還挺有意思。
後來由於工作需要寫一年Python,寫了一年Java。
後面接觸了robotframework 還是挺好用的,樓主可以瞭解下它的思想。後來主要就是寫一寫api供其他同學使用。
後面接觸了一些其他的框架如pytest。組織好層次結構,寫起來還是挺快的,沒有束縛,愛怎麼寫怎麼寫。
其實自動化測試工具大同小異。只要你思想到位。自動化化測試都是通的比如 關鍵字驅動, 資料驅動 ,結果校驗,前置後置等等。每個自動化工具或者測試框架都會有的。
祝樓主成功
-
5 # 睿小峰
我寫一個學習路線吧:
1.學習python基本語法。
2. 然後下一個python的requests庫學習寫最簡單的網路爬蟲。知乎上爬蟲教程一大堆。 3.是第一個里程碑,學寫簡單爬蟲一方面有一定的成就感,一方面又知道了介面到底是怎麼回事。同時還學到了怎麼解析一個頁面,
4.學習python的測試框架unittest,知道怎樣用unittest和python的mock模組寫一個小單元測試。
5.把3和4結合起來,你掌握http自動化介面測試。
6.學selenium的庫和頁面物件模式
7.把2、4、5、6結合起來,你應該能寫既支援web測試又支援介面測試的自動化測試指令碼了。
8.學robotframework,你可以把自動化測試變成關鍵字驅動和資料驅動的了。
9.學python的高階一點的語法。如裝飾器、執行緒程序協程。你可以讓測試並行執行,並自動記錄測試步驟到log檔案裡了。
10.學jenkins,測試不再需要你手工去啟動了。測試也可以分步式執行到多個環境上了。
11.學docker、git、gitlab等的簡單使用,從此測試指令碼不用再人肉更新、測試環境也不用人工搭建。這裡也要學linux的簡單使用,
12.回到w3cshool,學習javascript、ajax、jquery、bootstrap。至此你可以寫50%以上簡單網站的前端了。
13.學習python的flask庫,學mysql或mongodb是怎樣和flask一起用的。至此你可以寫簡單網站的後臺了。你還可以快速開發webservice介面了。
14.綜合12和13,你可以開發一些測試管理工具了。比如寫一個管理很多jenkins master的ci排程平臺。也可以寫一個提供統一樣式的測試報告的web展示平臺。寫一個監控所有測試情況的看板。寫幫你生成測試文件的指令碼。寫測試環境的管理工具。
15.學壓測工具locust、jmeter等,7裡寫的框架可以支援壓力測試了。同一套介面測試指令碼,既做自動化測試又做壓測了。注:現在主流是jmeter,而未來屬於像locust這樣的工具,它讓測試人員寫程式碼來描述效能測試。jmeter的控制元件和圖形介面適合新手入門,但基於圖形介面做的話效率低一點。其他gatling、grinder都在自身的設計理念上比jmeter先進。
16.想做app測試的話,學一個appium之類的框架。p s:我沒有學這個,主要看專案方向是否需要。
17.補課時間,好好把計算機網路補起來,這個是真有用,
18.java補起來。
回覆列表
我覺得學習自動化測試最好的方法:把你一些感興趣的東西,自動化操作,然後下載下來。不要僅僅侷限於工作的具體專案,當你看到你用你的指令碼完成了繁瑣的操作,你就會有成就感,自然而然就會持續學習。
自動化測試開始的時候,你需要有哪些知識儲備呢?
1.程式語言能力程式語言是基礎,我們不可能一步登天。沒有程式設計基礎,後面的自動化測試指令碼,你就會越來越吃力。
這時候你可以選擇一門程式語言來學習,如Python。前期可以掌握它的語法結構,就可以輕鬆的進行入門級的自動化測試。
當你的需求大於你自己編碼的能力,你就需要補充更多的知識,你自然就會越深入。
2.前端基礎知識在實際的生活中,我們大量需要透過網頁去體驗網站給我們的功能,為此你少不了需要對網頁的知識要有所瞭解。
那我們需要了解的內容有哪些?
3.學習程式設計框架好的程式設計框架,能讓我們的自動化測試事半功倍。
比如selenium框架,我們只需要使用它提供的方法,就能以最少的程式碼實現我們的功能。不需要考慮太多程式碼的細節,框架已經給我們封裝好了,你只要知道有這些方法的概念,用到適當的位置即可。
框架給你個雛形,你自己在這個基礎上往上蓋,實現你自身的需求,最後變成一座房子。
成就感推動持續學習程式碼世界是枯燥的,只有變成真真實實的結果才會讓人有前進的動力。
比如新手可以試著將你喜歡的部落格下載下來,當你能把部落格文章下來,你就會想著我能不能儲存為PDF,根據你的實際需求,不斷的提高要求,自然你就會學習更多的知識。
練手的專案多了,你要應用於工作專案上,自然也就小菜一碟。
Just do it Now!