• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    一種關鍵字驅動的自動化測試框架

    發布: 2011-1-24 10:17 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 19次 | 進入軟件測試論壇討論

    領測軟件測試網

      以上這三個分離各司其職、互相獨立,最大程度地減少相互之間的影響。從關鍵字驅動的思想可以看出,該種測試框架不僅實現了將數據和腳本相分離,而且實現了測試邏輯和數據的分離,大大提高了腳本的復用度和維護性,從而更大限度地實現了測試工具的自動化。

      3 用于Linux下桌面應用程序的關鍵字驅動的自動化測試框架

      當前Linux下的測試工具主要是針對內核和服務器方面進行測試,對桌面應用程序的測試基本不支持,開發一個支持Linux下桌面應用程序測試的測試框架對于解決Linux下應用程序的發展與成熟具有積極的促進和保障作用。本文根據測試自動化框架開發原則,結合軟件測試的實際需求,提出一個可行的自動化測試框架:LKDT(an automated testing framework of keyword driven for Linux)。

      3.1 LKDT總體架構

      LKDT主要由測試用例管理、測試計劃、測試腳本編寫、測試執行和測試結果收集等組件構成。

      測試用例管理組件采用與測試用例管理工具,如目前常用的test runner管理工具集成的辦法,提供對test runner中已有測試用例的導入、導出功能,從而方便測試人員對于測試用例的統一管理。

      測試腳本編寫組件允許采用兩種腳本編寫方式:a)測試人員通過錄制工具產生測試腳本,即測試人員根據測試用例中的步驟,對應用程序進行操作, 錄制工具將這些動作捕獲下來,存成腳本文件;b)測試人員通過關鍵字的方式手動進行編寫,即在該框架中測試人員可以通過拖放關鍵字來進行腳本的編寫。

      測試計劃組件的主要作用即允許測試人員對測試用例的執行方式(順序、并行、條件、分支、循環、分布式等)、執行時間、日志級別等進行定制。

      測試執行組件是對測試用例或者測試計劃所關聯的測試用例按照要求進行執行,該過程為自動執行過程,無須人工進行干預;如果需要手動控制測試腳本執行,需以debug的方式執行。

      測試結果組件收集測試結果信息,包括一個測試結果總結,如測試執行了幾個測試用例、執行時間以及成功、失敗的用例數;還包括一個失敗的測試用例執行的詳細信息,包括失敗的測試腳本所屬的測試計劃、所屬的測試用例、在測試腳本中的位置以及出錯過程中的截圖。

      3.2 關鍵字驅動模塊

      關鍵字驅動模塊是LKDT的核心模塊,在LKDT框架中起著不可或缺的作用。該模塊主要解決了腳本關鍵字的定義、關鍵字解析等問題。

      關鍵字驅動的測試腳本為測試數據關鍵字和測試邏輯關鍵字的有機組合。數據關鍵字相對簡單,與數據驅動技術類似,一個數據關鍵字代表一個測試腳本中的測試數據。在腳本運行時只需通過框架用真實的測試數據對數據關鍵字進行替換。

      邏輯關鍵字的定義與測試活動的結構密不可分。在真實的測試活動中,一個測試目標需要有一組測試用例來支持,而每個測試用例又由一系列的測試步驟完成。這是一個三層結構,測試步驟為測試活動中的最小單位,測試目標為最大單位,測試用例居中。邏輯關鍵字基于測試活動的這種結構即可分為高層腳本、中層腳本和底層腳本三層,分別對應于測試中的測試目標、測試用例和測試步驟。高層次腳本由邏輯關鍵字代表的低層次腳本,加上數據關鍵字代表的測試數據組合而成。

      該模塊主要由核心模塊、腳本語言解釋器模塊和支持庫模塊組成。

      3.2.1 核心模塊

      該模塊主要作用是對測試腳本中的關鍵字信息進行解析,并控制腳本的執行。它由數據解析器、腳本解析器、腳本執行器、中間層四部分組成。其中,數據解析器負責數據關鍵字的解析;腳本解析器負責解析腳本中的邏輯關鍵字;腳本執行器負責腳本的執行;中間層負責測試庫調用。

      3.2.2 腳本語言解釋器模塊

      腳本語言解釋器模塊包括三個部分,即詞法分析器、語法分析器和解釋器。詞法分析器負責將輸出的字符流解析為一個個的詞[5~7];語法分析器負責將詞序列解析為具有語義的語句[8];解釋器負責語義的翻譯。

      3.2.3 支持庫模塊

      支持庫包括兩個部分:a)所有測試可以共用的庫,包括日志庫和測試支持庫。日志庫負責向測試人員提供日志記錄的功能;測試支持庫則提供所有測試能共用的功能。b)GUI測試庫主要作用是支持Linux下對桌面應用程序的測試。

      4 結束語

      依靠傳統的自動化工具來完成Linux下的GUI測試非常困難。一是因為捕捉產生的腳本維護困難;二是由于錄制的測試腳本與測試數據耦合得太緊密導致錄制生成的測試腳本可復用性較差,生存期短。而LKDT框架采用的關鍵字驅動則是一種截然不同的思想,它把傳統測試腳本中的變化與不變的東西進行了分離,這種分離使得分工更明確,并且避免了它們相互之間的影響。

      當然對于該框架仍有許多工作需要探討。例如如何使測試框架提供分布式測試支持以及需要考慮到Linux操作系統中用戶權限問題等,通過后續研究以期使之成為一個更加簡單、易用、高效的自動化測試框架。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    22/2<12

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>