
關于測驗框架的好處,比如快速回歸提高測驗效率,提高測驗覆寫率等這里就不討論了,這里主要討論自動化框架包含哪些內容,以及如何去設計一個測驗框架,
什么是自動化測驗框架?
它是由一個或多個自動化測驗基礎模塊、自動化測驗管理模塊、自動化測驗統計模塊等組成的工具集合,以常見的前端UI測驗為例,一個測驗框架大概包括測驗物件,測驗組件,基礎類和函式,工具類,測驗資料,例外處理,測驗日志,斷言和測驗報告等這些模塊,在設計測驗框架的時候,我們要盡可能的將這些模塊有機的結合起來,將腳本能夠有效的組織、連貫應用起來,提高測驗腳本的可維護性和可讀性,

好框架的定義
由于應用系統技術五花八門,幾乎沒有測驗框架能應用在多個專案上并體現出應有的價值,所以一般情況都需要根據專案自身情況來定制化我們的測驗框架,常用的有資料驅動,關鍵字驅動和兩種方式的混合,
a. 資料驅動 (DDT):如果被測系統業務邏輯固定不變或變動較小,我們可以使用資料驅動,通過不同資料來保證測驗覆寫率,通常資料都是保存在外面檔案或資料庫中,運行時自動獲取,特點是資料與測驗腳本分離,基于模塊化的測驗庫,一個驅動腳本可以執行多個相似測驗,這樣非常容易建立新測驗,
b.關鍵字驅動 :將資料與關鍵字結合來描述如何使用資料執行測驗,這種方法具備資料驅動的優勢,同時非編程人員也能建立新型別測驗,

設計框架的思路
1、高內聚低耦合:
高內聚就是每個模塊盡可能獨立完成自己的功能,不依賴于模塊外部的代碼;低耦合就是模塊與模塊之間介面的復雜程度,比如在類內部盡可能減少方法之間的呼叫,否則一個方法的變動會影響呼叫它的另一個方法,
比如,你要做兩個功能:對文本檔案的讀寫,對 word 讀寫,同是IO你可以放在一個類里的不同方法,高內聚,
比如,寫了一個類,“人”類,“人”有自己的名字年齡等屬性,每個“人”又有一條狗做為自己的屬性,你可以把“人”類的屬性和“人”的狗的屬性都寫在“人”類里,這就成了高耦合,
而把狗的屬性剝離出來,寫成“狗”類,在“人”類里只放一個對“狗”的物件做參考,這個“狗”類,即可做為“人”的屬性,也可以做它用,即 低耦合,
2、腳本分離
物件、測驗資料、業務邏輯相互剝離、靈活呼叫,在前端UI測驗上可以得到明顯的效果,我們可以使用PageObject設計模式來實作物件和業務邏輯的剝離,使用DataProvider來實作資料業務邏輯分離,
安裝相應的環境依賴:
- 安裝python3.7(要保證pip能用,一般安裝python3.7會自動安裝pip)
- 安裝pytest框架---- pip install pytest
- 安裝request庫---- pip install request
- 安裝openpyxl庫(測驗資料保存在excel中,需要依賴讀取excel的庫)---- pip install openpyxl
- 安裝pycharm(撰寫python腳本工具)
3、模塊化設計用例
如果時間充裕且專案提供支持,可以遵循以下順序進行測驗:頁面物件 - 功能點 - 業務邏輯 - 業務流程,
從實作來說就是:先測驗底層的頁面操作物件,通過呼叫操作物件、及業務邏輯實作對功能點的驗證,再通過呼叫業務邏輯組合功能點實作對業務流程的驗證,不同的業務流程,對于底層的操作組件、中間層的功能點函式是完全可以復用的,只是呼叫的業務邏輯的差異,或者是測驗資料的差異性,這樣的好處是腳本相互獨立性,代碼復用,易維護,如有新的業務流程可以呼叫已有代碼來組合,

- common:存放公共方法;
- config:存放環境配置資訊;
- lib:存放第三方庫;
- main:框架主入口;
- report:存放allure測驗報告;
- test_case:存放測驗用例;
- test_data:存放測驗資料;
4、封裝基礎方法
對于一些較通用的方法,可以封裝,比如log,assert,例外處理,檔案讀寫操作,資料庫讀寫操作,保存頁面截圖等等,在需要的時候直接在測驗用例里呼叫即可,

如何開展自動化測驗
自動化測驗實施思路:
1.專案準備:安裝相應的環境依賴;
2.設計基于pytest的測驗框架結構:
3.實作介面公共檔案:封裝http請求;
4.抽離測驗環境配置資訊:獲取不同環境的URL,放到config目錄;
5.創建conftest.py放置一些公共的fixture;
6.將測驗資料放到excel中;
7.撰寫自動化測驗業務代碼;
8.集成allure;
9.自動化執行生成結果;
10.Jenkins環境搭建;
自動化開展建議:
抓住業務測驗作業中的痛點和領導的痛點,多溝通多交流,優先解決基層的作業痛點,相信一個好的領導會看到你的責任心和付出;
技術選型和方案可行性調研,多投入時間和精力,有的人性子急,前期做的很快,如果一開始的方向錯了,最侄訓得不償失;
如果是比較復雜的解決方案,盡量前后端分離、保證各模塊的獨立性、可融合性、解耦不解體,做到靈活可擴展,要有下一盤大棋的準備,

最后: 可以關注公眾號:傷心的辣條 ! 進去有許多資料共享!資料都是面試時面試官必問的知識點,也包括了很多測驗行業常見知識,其中包括了有基礎知識、Linux必備、Shell、互聯網程式原理、Mysql資料庫、抓包工具專題、介面測驗工具、測驗進階-Python編程、Web自動化測驗、APP自動化測驗、介面自動化測驗、測驗高級持續集成、測驗架構開發測驗框架、性能測驗、安全測驗等,
如果我的博客對你有幫助、如果你喜歡我的博客內容,請 “點贊” “評論” “收藏” 一鍵三連哦!喜歡我們自動化的小伙伴們,可以加入我們的技術交流扣扣群:914172719(里面有超多學習資料免費分享喲)
好文推薦
轉行面試,跳槽面試,軟體測驗人員都必須知道的這幾種面試技巧!
面試經:一線城市搬磚!又面軟體測驗崗,5000就知足了…
面試官:作業三年,還來面初級測驗?恐怕你的軟體測驗工程師的頭銜要加雙引號…
什么樣的人適合從事軟體測驗作業?
那個準點下班的人,比我先升職了…
測驗崗反復跳槽,跳著跳著就跳沒了…
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/301223.html
標籤:其他
上一篇:科目三必過秘籍
