軟件測試架構

如今將一一根據本身的我的理解來介紹這些「自動化測試框架思想」:程序員

一、所謂模塊化思想,就是將一個測試用例中的幾個不一樣的測試點拆分而且將其單個點的測試步驟進行了封裝,造成了一個模塊。數據庫

例如:一個測試用例要對一個登陸程序進行測試,其中包括:用戶名輸入、密碼輸入、以及肯定登陸;瀏覽器

那麼就能夠將用戶名輸入、密碼輸入、肯定登陸、取消登陸四個操做分別封裝在四個不一樣的模塊中。測試時,只需調用其模塊便可。這樣的話,當一個模塊有變化,你只需單獨維護那個模塊便可,也能夠根據模塊的不一樣組合成不一樣的測試用例。服務器

二、所謂測試庫思想,就是模塊化思想的昇華,其爲應用程序的測試創造了庫文件(能夠是APIs、DLLs等),這些庫文件爲一系列函數的集合。其與模塊化思想不一樣的是,其拓展了接口思想,便可以經過接口去傳遞參數,而不是一個封死的模塊,能夠說是一個多了一個「門」的交互型模塊。架構

例如:仍是以上那個測試用例,只是將用戶名輸入、密碼輸入、肯定登陸、取消登陸封裝成一個庫,這個庫含有一個函數Login,這個函數Login接收兩個參數「用戶名、密碼」,對輸入不一樣的用戶名和密碼能夠進行不一樣的測試用例。也能夠另一個函數Cancle。框架

三、所謂數據驅動思想,衆說紛紜,不少人都覺僅僅依靠用EXCLE表進行不一樣數據的讀取僅是一個高級的參數化,其實怎麼理解並不重要,關鍵是其思想可以好的應用到你的框架中。而個人理解就是變量不變,數據驅動結果,不一樣的數據致使了不一樣的結果的產生。而對於數據的導入,能夠經過不少方式,例如:EXCLE表、XML(用在WEB中)、數據庫(DB)、CSV文件、TXT等均可以。模塊化

四、所謂關鍵字思想,這個思想,我曾經一直思考,它與面向對象的關係,與交互模塊化思想的區別。後來我的理解,其實關鍵字驅動就是一種面向對象的思想,例如:QTP、RFT中,對象能夠爲一個數據或者一個關鍵字,對對象的抓取,能夠將其測試對象封裝爲一個關鍵字(便可以將gui元素封裝成了一個個關鍵字),這樣能夠對其關鍵對象進行各類操做了,不一樣的對象能夠驅動不一樣的測試流向與結果。函數

簡單的應用的方式能夠用一個EXCEL表,裏面包括「對象類型」「對象名稱」「對象操做名稱」「判斷方式」「預期結果」。這樣的話,能夠經過導入不一樣的對象類型和名稱、不一樣的對象操做來構建成了一個測試用例表了。測試

以上只是對這些思想的我的理解,作好自動化測試,不是說你掌握了一個框架,而是要掌握其自動化的思想,而後根據這些思想,結合你不一樣的測試環境和流程來構建你本身的自動化測試框架。網站

3、構建自動化測試框架的策略

一、永遠記住,你的「自動化測試框架」是給測試人員用的,若是你真的想把自動化測試作成一個規模,那麼你須要將測試工程師當作你的用戶,你不能期望他們有耐心的去編寫測試腳本或者期望他們可以像你同樣對這些思想有良好的掌握。你要將他們當成什麼都不懂的用戶,所以你的框架必須是「一切簡單化」的化身,簡單的操做、簡單的維護、簡單的拓展。

二、作一個自動化測試框架主要是從分層上去考慮,而不是簡簡單單的應用一種思想,它是各類思想的集合體。

例如,作GUI自動化測試,簡單的通常就將其分爲三層,其框架以下圖所示:

 GUI自動化測試

而其中,能夠貫穿着自動化測試的各類思想,例如:對象層中有關鍵字的思想、能夠將對象庫標示在Excel表中進行管理,或者應用動態搜索的方式傳遞對象識別參數。tasks層中能夠封裝各類方法,造成一個大型的方法庫,而每一個方法中能夠應用上數據驅動的思想。

三、真正的自動化測試框架是與流程上結合的,而不簡簡單單的靠技術實現,技術其實不是很複雜,關鍵就在於對其架構和流程的深入把握,而這須要很長的一段時間,因此不要期望一口氣能吃成胖子,只能一步一步按需求來,需求指導思想的應用。

 2.1 常見測試架構 
  模塊化測試腳本框架:測試用例的腳本是由樹狀的獨立小的能夠描述的測試腳本模塊組成,從而實現模塊化。 
  測試庫框架:不一樣於模塊化的是把目標應用程序分解爲過程和函數而不是腳本。 
  關鍵字驅動測試框架:將目標應用程序的功能和測試步驟分別映射爲Keyword和Driven驅動表的形式。 
  數據驅動測試框架:測試驅動模塊從數據源中獲取測試數據進行測試。 
  混合測試框架:以上框架的一些結合。 

分層測試框架:

2.3 平臺實現 
  2.3.1 基於Selenium和TestNG的平臺實現 
  首先從Selenium官方網站中分別下載並安裝Selenium IDE,Selenium RC,Selenium Grid安裝包。從TestNG官方網站下載並安裝TestNG安裝文件。 

軟件測試活動是圍繞測試用例來進行的,對於Web自動化測試,基本步驟以下:編寫測試用例,錄製測試腳本,配置測試工程,運行測試腳本,查看測試報告。

對於測試腳本的開發和執行,首先須要在測試用例的基礎上,使用Selenium IDE進行腳本錄製,調試,回放,再肯定測試腳本無誤後,則轉換爲特定語言的腳本代碼,例如轉換爲TestNG框架的Java代碼。接着須要重構轉換了的測試腳本代碼,使其業務腳本和控制腳本分離到不一樣模塊中,同時重構其中的測試數據,包括業務測試數據和界面數據(可使用XPath來定位界面元素)。在重構過程當中,經過使用TestNG的註釋標籤來對測試腳本進行設置和控制。測試報告是由TestNG在測試中自動生成的,能夠直接使用瀏覽器打開,也能夠擴展部署到服務器上,這樣相關程序員能夠當即得到屬於本身那部分的測試結果。   3 結論   軟件測試分層架構是在混合測試框架的基礎上結合分層的思想設計出來的,經過Selenium 和TestNG搭建起來的平臺,能夠普遍用於Web應用程序的自動化測試,

相關文章
相關標籤/搜索