<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    為何要建立自動化測試架構

    自動化測試架構之說

      測試人員經常想象——在無人值守的情況下,每天晚上測試工具自動運行成千上萬的測試用例,第二天早晨去上班,一打開電腦就能看到所有的測試任務已全部執行完畢,測試報告也整整齊齊地出現在我們面前。如果能親身經歷這種場景,一定會感到無比興奮和輕松!這種情景不是夢想,也并不遙遠,完全是可以實現的,只要借助一套靈活、可擴展的自動化測試框架即可幫助我們實現夢想。

      為何要建立自動化測試架構

      在過去幾十年中,自動化測試已經有了良好的發展。最初的測試工具只提供了簡單的捕捉/回放功能:記錄鍵盤和鼠標的操作,并捕捉屏幕,然后通過播放所記錄的操作進行驗證。這樣的腳本很難維護,從而要求開發功能和靈活性更強的測試工具,并能將這些工具很好地整合起來,使整個自動化測試過程的各個部分或各個階段能很好地銜接起來。這就需要構造一個完整的自動化體系,形成自動化測試的流水線,使整個測試過程一氣呵成。這其中,不僅要包括自動化測試的執行,還要包括自動化測試腳本的開發、軟件包自動部署以及測試報告自動生成等,才能將自動化開發、執行和日常工作融合在一起。這一切都需依賴于自動化測試架構。

      針對上述討論,我們深知自動化測試所面臨的挑戰。面對挑戰,必須采取以下這些相應的對策,通過構建適應性很強的自動化測試框架來解決一系列問題。

      1)需求頻繁的變化要求自動化測試具有一個靈活的適應機制。我們知道,建造商品住房時,如果只澆灌混凝土框架,沒有砌墻,那么住戶就有更大的靈活性來設計自己的家,可以滿足住戶更多的個人需求。在某些商場、寫字樓的建筑上,這種考慮表現得更為充分,保留了很大的靈活空間供商家租用和裝修。

      2)單元測試、集成測試和系統測試等的自動化實施能共享某些平臺和機制,讓這些測試有機地結合起來。例如,房屋的各個功能模塊,包括臥室、會客廳、廚房、衛生間、窗戶、屋頂等都要有框架支撐,才能形成實用的、功能完整的住宅。

      3)大規模軟件團隊的協作和硬件資源的使用效率都要求一個良好的基礎設施來支撐自動化測試。例如,房屋的各個單元之間需要通過布置電線、水管、暖氣管、有線電視等網絡,才能有機地結合起來,更好地支撐各個功能之間的協調和使用,更好地為住宅的主人服務。

      從上面這些舉例可以得知,自動化測試也不例外,在進行具體的單元自動化測試、功能自動化測試和系統自動化測試之前,先要建立一個清晰的框架,才能包容自動化測試的各個功能單元,使將來各項自動化測試任務有機地結合起來,順利地開展工作。

      解決什么問題

      作為自動化測試框架,最根本的是要構造一個良好的工作空間,能夠容納各種類型測試工具的執行,以使這些工具能夠相互兼容,共享測試數據。如果能夠像Windows 操作系統那樣支持即插即用,任何測試工具都可以動態、方便地加入系統或從系統中移除,則再好不過。

      其次,自動化測試框架需要能夠監控測試執行的過程,包括監控測試對象資源(如CPU、內存等)的使用,及時收集來自不同測試工具的測試結果,并將這些結果進行歸類和分析,生成相應的測試報告,通過郵件和網站等發布出去。

      再者,為了讓測試能夠在某個特定時刻(例如晚上)自動執行,自動化測試框架應具有事先安排(schedule)任務能力,并能夠支持維護測試環境和管理測試資源,包括管理硬件資源列表、支持測試狀態查詢和自動分發測試任務到相應的測試機器上,并在規定的時間內完成測試任務。

      最后,自動化測試框架還應能支持自動化測試的前期任務,支持測試腳本的錄制、編輯和調試,支持測試腳本的快速開發和良好的維護性,而且能夠支持測試用例、測試套件(test suite)和其他測試活動的管理。

      要構建良好的自動化測試框架,還需要提供一些基礎設施來支持自動化測試,例如郵件服務、跨平臺的通信服務、分布式開發和運行環境等,如圖2-7 所示,一個良好的自動化測試框架應具有下列能力。

      1)提供非常有效的測試工作流程模型,如對任務安排、執行、通知結果和生成報告等完整的過程支持。

      2)支持多種腳本語言的錄制、編輯、調試和回放等集成開發環境。

      3)完成各類測試任務的執行。

      4)有良好的擴充能力,如和第三方插件、工具的集成。

      5)具有數據驅動、關鍵字驅動等腳本模式的支持。

      6)具有分布式處理、遠程調用等不同的運行方式。

      7)能獲取測試覆蓋率。

    圖2-7 自動化測試框架要解決的問題

      如果進一步抽象,自動化測試框架就是用來解決自動化測試中的公共問題的,包括公用的對象、公用的方法、公用的環境或數據等自動化測試框架的要素。

      1)公用的對象。不同的測試用例會有一些相同的對象(如窗口、按鈕、菜單等)被重復使用,而這些公用的對象可以被抽取出來,在編寫腳本時隨時調用。如果需求發生變化,只需要修改這些公用對象的屬性即可,而不需要修改太多的測試腳本。而要做到這一點,就要求我們構建對象庫,并建立實體對象和邏輯對象之間的映射。

      2)公用的方法。公用的方法比較多,相當于腳本的基礎函數,可以構成基礎函數庫,供上層腳本調用。

    3)公用的環境或數據。許多測試用例會在相同的測試環境上運行或使用相同的測試數據,可將不同的測試環境或數據封裝起來,和測試用例進行靈活的組合,以增強腳本執行的靈活性,并覆蓋更廣的測試范圍,降低測試風險。

      自動化測試框架應支持腳本錄制、腳本開發、測試用例和測試套件的創建和執行、遠程控制、分布式通信等功能,才能基本滿足測試自動化的需要。自動化測試框架還需要支持單元測試并與開發環境集成,如將集成開發環境Eclipse、軟件配置管理工具CVS/SubVersion 和軟件包構建工具Ant/Maven等集成到這個框架中,以支持每日構建和自動驗證測試。

      如果自動化測試框架能管理測試項目、安排任務,將產品用戶需求和測試需求很好地結合起來,那么測試目標更明確,測試的效率會得到進一步提高。測試結果的分析也是很重要的,一般要求在自動化測試框架中得到解決。最重要的是易用,將各個工具集成起來,并能使這些工具更好地發揮作用。例如,openqa.org 社區提供了一個工具Bromine,它集成了Selenium Core/RC,非常容易跟蹤和管理測試項目、需求、測試計劃、測試用例和缺陷,可以監控缺陷的提交,將缺陷分派給相應的開發人員來瀏覽和分析測試結果。

      一個理想的自動化測試框架能解決上述問題,提供一個分布式的通信平臺、友好的人機交互界面和開放式架構,將自動化測試中所需要的各個關鍵部分有機地集成起來,形成一個為自動化測試服務的、完整的、層次清楚的開發平臺和運行環境,如圖2-8 所示,其中各主要部分的功能如下。

    圖2-8 自動化測試框架示意圖

      1)綜合管理平臺:可以將自動化測試中所有的工作內容管理起來,相當于一個統一的入口(Portal),可以瀏覽每部分的內容。

      2)基于業務驅動的腳本集成開發環境:可便于構造關鍵字驅動的腳本,為此要建立軟件系統的對象庫,并將這些對象映射為腳本中的邏輯對象,以減少軟件需求變化對腳本的影響。這個集成開發環境還包括腳本錄制、編輯等功能,并能和CVS、Ant 等工具集成。其中庫函數可以看做是關鍵字列表和關鍵字實現,而對象映射可以看做是由對象庫和映射關系構成的。

      3)安排(Schedule)測試任務:使任務可以定時啟動,自帶執行測試任務。

      4)監控測試資源:在測試過程中,能夠及時發現問題,發出警告,并保留(記錄)相關數據。

      5)控制中心(控制器):驅動測試工具,可以調用測試任務,并將測試任務、測試腳本等分發給遠程機器。

      6)遠程機器執行測試任務:通過代理實現,而代理由控制中心來控制。

    相關鏈接:

    posted on 2012-06-05 10:11 順其自然EVO 閱讀(789) 評論(0)  編輯  收藏 所屬分類: qtp 、selenium and watir webdrivers 自動化測試學習

    <2012年6月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲精品无码日韩国产不卡av| 日本在线免费观看| 亚洲成a人片在线观看中文!!!| vvvv99日韩精品亚洲| 亚洲一区免费视频| 一区二区三区精品高清视频免费在线播放 | 国产又黄又爽又猛免费app| a级毛片免费网站| 亚洲AV无码AV吞精久久| 中文字幕亚洲精品| 精品久久香蕉国产线看观看亚洲| 国产大片线上免费看| 免费可以在线看A∨网站| 少妇太爽了在线观看免费视频| 精品国产呦系列在线观看免费| 亚洲AV无码专区在线电影成人| 亚洲欧洲日韩国产| 亚洲AV日韩AV天堂一区二区三区 | 亚洲日韩亚洲另类激情文学| 亚洲色欲www综合网| 久久久久亚洲精品无码系列| 国产亚洲av片在线观看18女人| 国产乱弄免费视频| 国产精品色午夜免费视频| 成人A级毛片免费观看AV网站| 久久精品国产免费观看| 99精品国产成人a∨免费看| 你是我的城池营垒免费看 | 日韩电影免费在线| 在线播放高清国语自产拍免费| 成人免费毛片内射美女-百度| 色片在线免费观看| 99爱在线精品免费观看| 69av免费视频| 成人免费的性色视频| 曰曰鲁夜夜免费播放视频| 久久精品免费全国观看国产| 波多野结衣免费在线| 在线观看免费人成视频色| 成在人线AV无码免费| 免费无码又爽又刺激毛片|