自動化測試框架設(shè)計參考準(zhǔn)則_第1頁
自動化測試框架設(shè)計參考準(zhǔn)則_第2頁
自動化測試框架設(shè)計參考準(zhǔn)則_第3頁
自動化測試框架設(shè)計參考準(zhǔn)則_第4頁
自動化測試框架設(shè)計參考準(zhǔn)則_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、簡介測試框架是在所有不同的測試自動化階段定義的一整套指導(dǎo)準(zhǔn)則:需求分析階段、腳本設(shè)計階段、執(zhí)行階段、報告和維護(hù)階段??蚣芗磳τ趦?nèi)部復(fù)雜架構(gòu)的一種包裝,這樣的包裝可以使得最終用戶方便的使用??蚣苓€具有對于流程標(biāo)準(zhǔn)的強(qiáng)制執(zhí)行性。問題描述目前為止,還沒有一種關(guān)于如何開發(fā)測試框架以及在開發(fā)過程中需要考慮哪些因素的準(zhǔn)則。有很多記載著各式各樣的測試框架以及它們各自是如何工作的白皮書,但是這些白皮書中還沒有任何一篇文檔是記錄著測試框架設(shè)計共同需要考慮的因素。本文基于測試框架需求,涵蓋了測試框架各個方面以及一些必備的基本要素。1. 自動化測試框架的類型 目前普遍存在的框架有以下幾種:數(shù)據(jù)驅(qū)動框架 當(dāng)測試對象流

2、程固定不變(僅僅數(shù)據(jù)發(fā)生變化 ,可以使用這種測試框架。測試數(shù)據(jù)是由外部提供的,比如說Excel 表、XML 等等關(guān)鍵字驅(qū)動框架 這種自動化測試框架提供了一些通用的關(guān)鍵字,這些關(guān)鍵字適用于各種類型的系統(tǒng)。它還為自動化測試工具和被測系統(tǒng)提供了抽象性。舉個例子,它可以使用相同的測試用例來測試類似的Web 和Windows 系統(tǒng)?;旌闲偷目蚣?混合型自動化測試框架同時具有數(shù)據(jù)驅(qū)動型和關(guān)鍵字驅(qū)動型框架的優(yōu)點(diǎn)。這種測試框架不但具有通用的關(guān)鍵字,還有基于被測系統(tǒng)業(yè)務(wù)邏輯的關(guān)鍵字。例如“登錄”、“退出”是可以被使用的僅局限于某系統(tǒng)的關(guān)鍵字。2. 不要過分的改造 自動化測試框架應(yīng)該盡可能的使自動化測試工具發(fā)揮它

3、自己強(qiáng)大的功能,而不是通過實現(xiàn)新的關(guān)鍵字來重新定義整套語言。開發(fā)一套關(guān)鍵字驅(qū)動的自動化測試框架的代價是很大的而且非常耗時。開發(fā)一套混合型的自動化測試框架的代價就相對較小而且開發(fā)周期短。3. 可重用性 測試框架應(yīng)該盡最大可能提高可重用性。把單獨(dú)的Action 組合成業(yè)務(wù)邏輯可以提供可重用性。舉個例子,可以把類似于“輸入用戶名”、“輸入密碼”和“點(diǎn)擊登錄”這些Action 組合成一個可被重用的模塊:“登錄”4. 支持系統(tǒng)的不同版本 自動化測試框架應(yīng)該允許重復(fù)使用基線化腳本,這樣可以保證這份腳本能被用來對被測系統(tǒng)的多個版本進(jìn)行測試。對不同系統(tǒng)的支持有兩種方式:復(fù)制和修改 這種方法包含了新建基線腳本的

4、一個拷貝、修改這份拷貝用以測試特定版本的項目。重用和升級 這種方法包含了重用基線腳本、提供一個此腳本的升級和優(yōu)化用以測試特定版本的項目。這樣做可以最大化的保障可重用性,這也是推薦的方法。5. 支持腳本版本化 測試腳本應(yīng)該被儲存在類似于CVS 、微軟的VSS 等版本控制工具中。這樣做可以保障在災(zāi)難發(fā)生的時候可以被恢復(fù)。6. 將開發(fā)和發(fā)布環(huán)境分開 自動化應(yīng)當(dāng)和其它開發(fā)項目同等看待。測試腳本應(yīng)當(dāng)在一個測試環(huán)境下創(chuàng)建和調(diào)試。一旦測試腳本測試通過后唯一該做的就是將它部署到發(fā)布環(huán)境。在緊急發(fā)布版本的情況也同樣適用這種方法。7. 外部可配置性 腳本的可配置項應(yīng)當(dāng)被保存在一個外部文檔中。系統(tǒng)的URL 、版本、

5、路徑等都可以被視作可配置項放在外部文件中。這樣做可以使得在不同的環(huán)境中都可以執(zhí)行測試腳本。需要注意的是外部配置文件的路徑不要寫死,如果把它寫死了雖然在任何環(huán)境中都還是可以運(yùn)行腳本,但是每次只能在一個環(huán)境運(yùn)行。配置文件的路徑使用相對路徑即可解決這個問題。8. 自身可配置性 理想的測試框架應(yīng)該是自身可配置的。一旦部署到系統(tǒng)中之后應(yīng)當(dāng)不需要再做任何手工配置,腳本應(yīng)當(dāng)自動配置完成一些必要的設(shè)置。9. 任何對象改動引起的變動應(yīng)該是最小的 自動化過程中最為常見的問題是對象識別的變更。測試框架應(yīng)該支持可以很容易的來完成這些修改。這可以通過將所有的對象識別設(shè)置儲存在一個共享文件來實現(xiàn)。這個文件可以是XML 文

6、件、Excel 文件、數(shù)據(jù)庫或者自動化所特有的格式。這里有兩種可能的方式來實現(xiàn)對象識別設(shè)置的方式:靜態(tài)方法 這種方法中,所有對象定義都在測試最初被加載到內(nèi)存中。任何對象定義變更只能通過停止和重新運(yùn)行測試來實現(xiàn)。動態(tài)方法 對象定義是通過需求拉動的。這種方式和靜態(tài)方式比較而言顯得較為緩慢。但是對于非常大的腳本而言,并且對象識別需要在運(yùn)行時做修正的情況下,動態(tài)方法是適用的。10. 測試執(zhí)行 自動化測試框架也許需要滿足以下需求(基于實際需求執(zhí)行單獨(dú)的測試用例;批量執(zhí)行測試用例(一組測試用例 ;只執(zhí)行失敗的測試用例;可以在前一個(一組 測試用例執(zhí)行結(jié)果的基礎(chǔ)上,執(zhí)行下一個(一組 測試用例;根據(jù)實際需求還

7、會有許多其他情況。一個框架可能無法實現(xiàn)所有這些需求,但它應(yīng)具有足夠的靈活性以適應(yīng)今后此類需求。11. 狀態(tài)監(jiān)測 - 一個框架應(yīng)允許實時監(jiān)控執(zhí)行狀態(tài),一旦失敗能夠發(fā)出警報。這樣可以在出現(xiàn)failure 之后迅速反饋。12. 報表 不同的系統(tǒng)對報表有不同的需求,有時候需要一組測試的整體報表,有時候只需要單個測試用例級別的測試執(zhí)行報表。一個好的測試框架應(yīng)該有足夠的彈性來按需支持不同的報表。13. 發(fā)生更改的時候?qū)y試工具盡量小的依賴性 一些測試腳本的更改可能只能在打開測試工具后,在測試工具中進(jìn)行修改,然后保存。測試腳本應(yīng)該在沒有測試工具的情況下也可以對腳本進(jìn)行更改。這樣的實現(xiàn)可以減少license

8、的購買從而為公司節(jié)省開支。這樣的實現(xiàn)還可以讓所有想去修改腳本的人無需安裝測試工具也可以很方便的對腳本進(jìn)行修改。14. 方便的調(diào)試 調(diào)試在自動化過程中占據(jù)了大量的時間,因此在調(diào)試這個過程中需要加以特別的關(guān)注。關(guān)鍵字驅(qū)動的測試框架因為使用了外部的數(shù)據(jù)源(比如Excel 數(shù)據(jù)表 去讀取腳本中的關(guān)鍵字和測試過程,所以較難調(diào)試。15. 日志 - 生成日志是執(zhí)行的重要組成部分。在一個測試案例的不同點(diǎn)生成調(diào)試信息這是非常重要的。這些信息有助于快速地找到問題的范圍,同時縮短了修改時間。16. 易用性 - 該框架應(yīng)易于學(xué)習(xí)和使用。對框架的人員培訓(xùn)費(fèi)時且昂貴。有一個好文檔的框架更容易理解和使用。17. 靈活性 -

9、 框架應(yīng)該足夠的靈活,以適應(yīng)任何改進(jìn),而不會影響已有的測試案例。18. 性能的影響 框架還應(yīng)考慮對執(zhí)行性能的影響。一個復(fù)雜的框架會增加腳本的加載或執(zhí)行時間,這一定不是我們所期望的。像緩存技術(shù),當(dāng)執(zhí)行時編譯所有代碼到單個庫中等. 。. 只要可能都應(yīng)該用于性能的改善。19. 框架支持工具 開發(fā)一些外部工具來完成任務(wù),這對框架設(shè)計會有幫助。這是一些例子:從本地文件夾上傳腳本到QC結(jié)合庫文件到當(dāng)前打開的腳本同步本地和QC 上的腳本文件20. 編碼標(biāo)準(zhǔn) - 編碼標(biāo)準(zhǔn)應(yīng)確保腳本的一致性,可讀性和易于維護(hù)。編碼標(biāo)準(zhǔn)應(yīng)包含下列內(nèi)容:命名規(guī)范(變量、子程序、函數(shù)、文件名、腳本名稱等 ,例如i_VarName為整數(shù)變量, fn_i_FuncName為返回值是整數(shù)的函數(shù);庫、子程序、函數(shù)的頭部注釋。這應(yīng)包含,如版本歷史,創(chuàng)建者,最后修訂者,最后修

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論