Python自動化測試怎麼學?軟體測試進階Python自動化,收藏這篇文章就夠了

程式設計師阿信發表於2020-12-12

前言

有很多從事基礎功能測試的測試人,想要通過學習Python自動化的形式提升自己在軟體測試行業的競爭力,但是很多人不知道自動化測試如何去學習,今天我就總結出了這篇文章,給大家制定Python自動化測試的學習路線。

史上最全的全棧Python自動化測試學習路線圖點這裡

第一步:學習Python程式設計基礎

Python

python程式設計是最最基礎的,如果你想學會自動化測試,那麼python語法就必須會了。我們可以分為四個階段來學習Python。

  1. 階段一:基礎語法、基本資料型別
  2. 階段二: 函式、檔案操作、異常處理
  3. 階段三:初識類和物件
  4. 階段四: 類和物件應用-openpyxl、logging、unittest、ddt

第二步:WebUI自動化測試階段

  1. 階段一:前端基礎
  2. 階段二:Document物件操作
  3. 階段三:Python+selenium
  4. 階段四:關鍵字驅動/POM+Excel+unitTest+BeautifulReport+yaml+分散式+多執行緒的自動化UI測試框架

第三步:APPUI自動化測試階段

  1. 階段一:Python+Appium
  2. 階段二:開源App系統專案實戰

第四步:介面自動化測試階段

  1. 階段一:基於Request庫的Python介面自動化測試
  2. 階段二:Flask介面框架+Swagger介面文件

第四步:介面自動化測試階段

  1. 階段一:Pytest框架
  2. 階段二:獨立測試框架
  3. 階段三:介面與UI框架整合

什麼專案適合做自動化測試?

需求穩定,不會頻繁變更。
自動化測試最怕的就是需求不穩定,過高的需求變更頻率會導致自動化測試用例的維護成本直線上升。剛剛開發完成並除錯通過的用例可能因為介面變化,或者是業務流程變化,不得不重新開發除錯。所以自動化測試更適用於需求相對穩定的軟體專案。

需要在多種平臺上重複執行相同測試的場景。
這樣的場景其實有很多,比如:
對於GUI 測試,同樣的測試用例需要在多種不同的瀏覽器上執行;
對於移動端應用測試,同樣的測試用例需要在多個不同的Android 或者 iOS 版本上執行,或者是同樣的測試需要在大量不同的移動終端上執行;對於一些企業級軟體,如果對於不同的客戶有不同的定製版本,各個定製版本的主體功能絕大多數是一致的,可能只有個別功能有輕微差別,測試也是需要覆蓋每個定製版本的所有測試;這些都是自動化測試的最佳應用場景,因為單個測試用例都需要被反覆執行多次,能夠使自動化測試的投資回報率最大化。

研發和維護週期長,需要頻繁執行迴歸測試。
在我看來,軟體產品比軟體專案更適合做自動化測試。首先,軟體產品的生命週期一般都比較長,通常會有多個版本陸續釋出,每次版本釋出都會有大量的迴歸測試需求。
同時,軟體產品預留給自動化測試開發的時間也比較充裕,可以和產品一起迭代。

其次,自動化測試用例的執行比高於1:5,即開發完成的用例至少可以被有效執行 5 次以上時,自動化測試的優勢才可以被更好地體現。

對於軟體專案的自動化測試,就要看專案的具體情況了。

如果短期的一次性專案,就算從技術上講自動化測試的可行性很高,但從投入產出比(ROI)的角度看並不建議實施自動化,因為千辛萬苦開發完成的自動化用例可能執行一兩次,專案就結束了。我還遇到過更誇張的情況,自動化測試用例還沒開發完,專案都已經要上線了。所以,對於這種短期的一次性專案,我覺得你應該選擇手工探索式測試,以發現缺陷為第一要務。

而對於一些中長期專案,我的建議是:對比較穩定的軟體功能進行自動化測試,對變動較大或者需求暫時不明確的功能進行手工測試,最終目標是用20% 的精力去覆蓋 80% 的迴歸測試。

某些測試專案通過手工測試無法實現,或者手工成本太高。
對於所有的效能和壓力測試,很難通過手工方式實現。
比如,某一個專案要求進行一萬併發使用者的基準效能測試(Benchmark test),難道你真的要找一萬個使用者按照你的口令來操作被測軟體嗎?又比如,對於 7×24 小時的穩定性測試,難道你也要找一批使用者沒日沒夜地操作被測軟體嗎?這個時候,你就必須藉助自動化測試技術了,用機器來模擬大量使用者反覆操作被測軟體的場景。當然對於此類測試是不可能通過 GUI 操作來模擬大量使用者行為的。

總結

我給大家準備了Python自動化測試的資料和大廠的面試題,我把資料和麵試題都放在我的公眾號【程式設計師阿信】,回覆66即可獲取。

資料

相關文章