軟件自動化測試框架

如下是自動化測試框架的建議,須要在之後的實踐中改進。自動化測試框架通常能夠分爲上下兩個層次,上層是管理整個自動化測試的開發,執行以及維護,在比較龐大的項目中,它體現重要的做用,它能夠管理整個自動測試,包括自動化測試用例執行的次序、測試腳本的維護、以及集中管理測試用例、測試報告和測試任務等。下層主要是測試腳本的開發,充分的使用相關的測試工具,構建測試驅動,並完成測試業務邏輯。 html

  1、自動化測試管理數據庫

  自動化測試用例的執行機制通常包括管理端和執行端,由管理端發出信號通知執行端開始執行相應的測試任務,從而執行相應的腳本進行測試,並將測試結果報告管理端。編程

  1.管理端框架

  管理端主要完成如下任務:運行控制的決策系統,負責創建並維護運行隊列,控制運行策略和信號燈;在管理端還必須維護一個測試任務的隊列,每一個測試任務的開始執行的時間可能不一樣,狀態也不同,管理端根據這些標誌對其進行控制。ide

  2.執行端函數

  執行端根據管理端的決策系統,來執行運行隊列中的測試腳本,其中運行控制的執行系統,負責分配測試腳本,並按照指定策略啓動腳本等也是執行端的功能。工具

  2、自動化測試腳本開發測試

  1.測試驅動編碼

  測試驅動是一個自動化測試框架的核心,其決定整個自動化腳本設計。當前比較流行的測試驅動有數據驅動和關鍵字驅動,使用不一樣的測試驅動,關係到腳本重用率,以及後期的可維護性。設計

  (1)數據驅動

  基於數據驅動的自動化測試框架是指測試驅動引擎從數據源獲取測試數據,而後將將數據以參數的形式傳遞給測試腳本,最後經過執行測試腳本,驗證測試結果,並將測試結果輸出。通常數據源與測試結果存儲在數據庫、Excel文件、Csv文件等。數據驅動主要優勢是:測試腳本與測試數據的分離,當應用功能變動時,只須要修改該功能部分的腳本;執行測試用例的人員不須要了解測試腳本的實現,只關注測試數據表與測試報告表。並且測試腳本的執行是離散的,即非線性的,測試人員能夠有選擇的執行測試用例。

  (2)關鍵字驅動

  關鍵字驅動的自動化測試框架是在數據驅動的基礎上進行改進,數據源裏包含的不僅是數據,還有關鍵字,一個測試用例由一個或若干個關鍵字組成。每一個關鍵字對應個不一樣的業務邏輯,例如,登陸、註銷等。數據表經過關鍵字,查找映射表,執行相關的腳本。

  (3)驅動引擎

驅動引擎是對數據表的數據進行分析,根據不一樣的測試數據或關鍵字調用相應測試腳本。驅動引擎還需完成一些測試環境初始化、全局參數設置、測試用例是否執行的判斷,以及測試報告的處理等。 

2.測試腳本開發

  測試腳本開發必須經過詳細、合理的設計,要對腳本代碼進行劃分,腳本文件或數據文件分層管理。這樣有利於自動化腳本的開發與維護,從而節省自動化測試的投入成本,也使得不一樣測試人員或開發人員能夠協調開發腳本。

  (1)腳本規範

  測試腳本的開發也要遵循編程的規則與標準,應該統一規劃,全部開發腳本的人員按照統一的規定進行編碼。除了編程自己規範,還考慮測試用例與庫函數名的命名,測試用例須要加上項目名稱,但公共的庫函數卻不須要,由於公共的庫函數是獨立於項目的。例如,項目M4.1客戶端登陸測試用例可命名爲:TC_M4.1_client_login;讀取excel表的函數可命名爲:read_excel。

  (2)腳本劃分

  測試腳本的劃分,如何定義公共的腳本庫,不一樣模塊特有的腳本庫,以及直接構建測試用例的腳本。爲了方便之後腳本的維護問題,必須對腳本進行有效的分層,同時,提升了腳本的複用率。

  ① 公共類庫

  公共類庫包括全部模塊均可能用戶的操做方法,其抽象了不一樣模塊同性,好比操做excel表的方法、讀寫測試報告、驅動引擎等。

  ② 模塊特定類庫

  在模塊內部將能夠爲該模塊共享使用的方法抽象出來,做爲一個公共類。它能夠是一個單的邏輯操做,也比較獨立。好比客戶端登陸操做、控制檯登陸操做、控制檯更新操做等。

  ③ 測試用例腳本

  測試用例腳在最上層,它根據測試點進行設計,面向具體的應用。它可直接調用公共類庫或模塊特定類庫的方法,即調單個邏輯操做。它是單個或多個邏輯操做的集合,即一個測試用戶腳本。好比,在客戶端訪問資源的測試用例,它調用了客戶端登陸方法和訪問資源方法。

  (3)測試用例

  ① 測試用例粒度

  測試用例的粒度決定了用例模型級的複雜度,也決定了每個用例內部的複雜度。應該根據每一個系統的具體狀況來把握各個層次的複雜度,在儘量保證整個用例模型的易理解性前提下決定用例的大小和數目。用例不能太大,這樣一旦出執行測試用例出錯,不利於定位問題;但也不能太細化,過小則不方便執行。

  ② 測試用例與測試套件

  一個大型的項目有許功能模塊,必然會產生大量的測試用例,怎樣纔能有效的管理這些測試用例呢?這就須要建立測試套件,經過測試套件將測試某一個模塊或功能點的測試用例集合起來,方便運行與管理。例如,只驗證「用戶管理」模塊功能,則只須要執行「用戶管理」模塊套件便可。

  (4)腳本與html標記分離

  腳本與html標記分離使得在必定程度上腳本獨立於WEB頁面,腳本沒有直接的處理html標記,腳本代碼經過html映射表獲取賦有WEB頁面標記值的變量。WEB頁面標記包括html標記和頁面內容(文本或圖片等,這些均可能是判斷用例是否成功能的檢查點),當WEB頁面標記變動後,不須要在範圍的修改腳本。

  (5)選擇適合自動化測試的用例

  在編寫自動化測試腳本前,首先要肯定哪些用例適合作自動化測試,由於自化測試不像手工測試,它不能那麼智能,也沒有發發散思惟。

  一般適合自動化測試的用例有:

  產品型項目。產品型的項目,新版本是在舊版本的基礎上進行改進,功能變不大的項目,但項目的新老功能都必須重複的測試。

  迴歸測試。迴歸測試是自動化測試的強項,它可以很好的驗證你是否引入了新的缺陷,老的缺陷是否修改過來了。在某種程度上能夠把自動化測試工具叫作迴歸測試工具。

  機械並頻繁的測試。每次須要輸入相同、大量的一些數據,而且在一個項目中運行的週期比較長。

  有一些交互性比較強,須要人工干預的操做,就不要期望經過自動化測試來完成了。例如,用戶使用DKEY登陸。

相關文章
相關標籤/搜索