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