1自動化測試框架概念
2自動化測試框架思想
3接口自動化測試框架設計目標
4接口自動化測試框架用到的技術點
1自動化測試框架概念:
自動化測試框架是一個集成體系,這個體系中包含測試功能的函數庫、測試數據源 、測試對象以及可重用的模塊。
框架(framework)是一個框子——指其約束性,也是一個架子——指其支撐性。
是一個基本概念上的結構,用於去解決或者處理復雜的問題。
在軟件工程中,框架(Framework)是整個或部分系統的可重用設計,表現為一組
抽象構件及構件實例間交互的方法;
另一種定義認為,框架是可被應用開發者定制的應用骨架,前者是從應用方面而
后者是從目的方面給出的定義。
對於測試人員來說,線性腳本的自動化腳本在維護性和可用性上教差,就可以利
用設計的框架來實現自動化測試。
2自動化測試框架思想
自動化測試框架根據思想理念和深度不同,漸進式的分為以下幾種:
模塊化思想 ==> 模塊化測試腳本框架
庫思想 ==> 測試庫框架
數據驅動思想 ==> 數據驅動測試框架
關鍵字驅動思想 ==> 關鍵字驅動或表驅動的測試框架
上述思想融合完成企業實際自動化 ==> 混合測試自動化框架
模塊化測試腳本框架:
需要創建獨立的可描述的模塊、程序片斷以及待測試應用程序的腳本。這些小腳本
進行組合,就能組成用來獨立運行特定的測試的測試用例腳本。
測試庫框架:
與模塊化測試腳本框架很類似,並且具有同樣的優點。不同的是測試庫框架把待測應
用程序分解為過程和函數而不是腳本。這個框架需要創建描述模塊、片斷以及待測應
用程序的功能庫文件。
數據驅動測試框架:
在這里測試的輸入和輸出數據是從數據文件中讀取(數據池,ODBC源,CSV文件
,EXCEL文件,Json文件,Yaml文件,ADO對象等)並且通過捕獲工具生成或者手工
生成的代碼腳本被載入到變量中。在這個框架中,變量不僅被用來存放輸入值還被用
來存放輸出的驗證值。整個程序中,測試腳本來讀取數值文件,記載測試狀態和信息
。這類似於表驅動測試,在表驅動測試中,它的測試用例是包含在數據文件而不是在
腳本中,對於數據而言,腳本僅僅是一個“驅動器”,或者是一個傳送機構。
關鍵字驅動或表驅動的測試框架:
這個框架需要開發數據表和關鍵字。這些數據表和關鍵字獨立於執行它們的測試自
動化工具,並可以用來“驅動"待測應用程序和數據的測試腳本代碼,關鍵宇驅動測
試看上去與手工測試用例很類似。在一個關鍵字驅動測試中,把待測應用程序的功能
和每個測試的執行步驟一起寫到一個表中。
這個測試框架可以通過很少的代碼來產生大量的測試用例。同樣的代碼在用數據表
來產生各個測試用例的同時被復用。
混合測試自動化框架:
最普遍的執行框架是上面介紹的所有技術的一個結合,取其長處,彌補其不足。這
個混合測試框架是由大部分框架隨着時間並經過若干項目演化而來的。
3.框架設計目標
設計出來的框架是直接給測試人員,而且其他的測試人員只需要簡單的向里面不斷
的補充測試用例即可;所以我們的框架設計必須三簡化即操作簡單,維護簡單,擴展
簡單。
設計框架的同時一定要結合業務流程,而且不僅僅靠技術實現,其實技術實現不難
,難點對業務流程的理解和把握。
設計框架時要將基礎的封裝成公用的,如:get請求、post請求和斷言封裝成同基
礎通用類。
測試用例要與代碼分開,這樣便於用例管理,采用數據驅動框架實現。
4.框架用到的技術點
1、語言:python
2、測試框架:unittest(assertEqual)
3、接口調用:requests(API非常簡潔)
4、數據驅動:paramunittest (組裝一定的格式數據就可以參數化)
5、數據管理:xlrd(讀取excel文件數據)、configparser(讀取配置文件)
6、數據格式的轉換:ast,json
7、日志處理:logging ---清晰的執行過程,快速定位問題
8、測試報表:HTMLTestReportCN(由網友制作設計,顯示清晰美觀)
9、測試發送測試報告:smtplib(郵件內容格式設置)、email(收發郵件)
10、持續集成:Jenkins(按策略執行接口測試腳本)