測試框架編程
什麼是測試框架app
測試框架是一組自動化測試的規範、測試腳本的基礎代碼,以及測試思想、慣例的集合。可用於減小冗餘代碼、提升代碼生產率、提升代碼重用性和可維護性。測試框架出現的最終目的是花少許的資源來完成儘量多的測試任務,因此測試框架的創建以及框架的重用性方面是最值得測試人員深刻探究的地方。框架
測試框架的好處模塊化
提升開發速度,提高測試代碼的執行效率;提升軟件代碼質量,同時引入重構概念,讓代碼更乾淨和富有彈性;提高系統的可信賴度,做爲迴歸測試的一種實現方法支持修復後「再測試」,確保代碼的正確性。函數
測試框架的屬性工具
(1)測試框架是測試開發過程當中提取特定領域測試方法共性部分造成的體系結構;單元測試
(2)不一樣測試技術領域有不一樣的測試框架類型;測試
(3)測試框架不是一個現成可用的系統,是一個半成品,須要測試工程師基於它結合本身的測試對象知識轉化成本身的測試用例;ui
(4)測試框架不是測試用例集,而是通用的,具備通常性的系統主體部分。編碼
測試框架分類
Java測試框架、.Net測試框架、自動化測試框架、單元測試框架、集成測試框架。經常使用的包括自動化測試框架和單元測試框架。根據所用開發平臺不一樣,也可以使用不一樣的測試框架展開測試。
自動化測試框架主要分爲
1.模塊化框架(test script modularity)。
測試腳本模塊化框架須要建立可以表明測試下應用程序(application-under-test)的模塊,零件(Section)和函數的小的,獨立的腳本。而後用一種分級的方式將這些小腳本組成更大的測試,實現一個特定的測試用例。這種框架最容易精通且掌握的。就在一個部件前面構建一個抽象層以掩藏應用程序其餘的部件方面,它是一個很著名的編程策略。它把應用程序從在部件的修改中隔離開來並規定了在應用程序設計中的模塊性。爲了提升自動化測試套件(test suite)的可維護性和可測量性,測試腳本模塊化框架應用了抽象或封裝的原則。
2.函數庫結構框架(test library architecture)。
測試庫構架框架和測試腳本模塊化框架很是類似,有着一樣的優點,可是它把測試下的應用程序分紅過程和函數,而不是腳本。這種框架要求建立表明測試下應用程序模塊,零件和函數的庫文件(SQABasic libraries, APIs, DLLs等等)。而後這些庫文件被測試用例腳本直接調用。
3.關鍵字驅動測試框架(keyword-driven/table-driven testing)。
關鍵字驅動和表格驅動測試是一種獨立於應用程序的自動化框架,它們是能夠互相替換的術語。這種框架要求開發於用來運行的自動化工具,驅動測試下應用程序和數據的測試腳本代碼相獨立的數據表和關鍵字。關鍵字驅動測試看上去很是象手工測試。在關鍵字測試裏,應用程序的功能特性被寫在表格和每一個測試的詳細指引裏了。
4.數據驅動測試框架(data-driven testing)。
數據驅動測試是測試從數據文件(數據池,ODBC源,cvs文件,Excel文件,DAO對象等)中讀取輸入和輸出數值並載入到捕獲的或手工編碼的腳本中變量裏的一種框架。在這種框架裏,輸入數值和輸出驗證數值都使用變量。在測試腳本中編寫貫穿程序的導航,數據文件的讀取,記錄測試狀態和信息的日誌的代碼。
測試用例包含在數據文件裏而不是在腳本里的方面上,這種框架和表格驅動測試有些類似;腳本只是一種「驅動器」(driver)或傳送數據的機制。儘管導航的數據不包含在表結構中,但和表格驅動測試仍是不一樣的。在數據驅動測試裏,只有測試數據包含在數據文件中。
5.混合型框架(hybrid test automation)。
最多見的已實現的框架是上述技術的組合,抽取它們的優勢,剔除其弱點。這種混合的測試自動化框架是發展時間較長且應用項目最多的框架。