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

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

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

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

    軟件自動化框架的發展

    發布: 2009-10-21 10:09 | 作者: 李剛 | 來源: 本站原創 | 查看: 632次 | 進入軟件測試論壇討論

    領測軟件測試網

    基于界面的軟件 自動化測試框架和工具的發展大致經歷了三個階段(有人也據此將測試工具分為三代):

        1)簡單的錄制/回放:由工具錄制并記錄操作的過程和數據形成腳本,通過回放來重復人工操作的過程。在這種模式下數據和腳本混在一起,幾乎一個測試用例對應一個腳本,維護成本很高。而且即使界面的簡單變化也需要重新錄制,腳本可重復使用的效率低。

        2)數據驅動 (data driven)的自動化測試:從數據文件讀取輸入數據,通過變量的參數化,將測試數據傳入測試腳本,不同的數據文件對應不同的測試用例。在這種模式下數據和腳本分離,腳本的利用率、可維護性大大提高,但受界面變化的影響仍然很大。

        3)關鍵字驅動(keyword driven)的自動化測試:關鍵字驅動測試是數據驅動測試的一種改進類型,它將測試邏輯按照關鍵字進行分解,形成數據文件,關鍵字對應封裝的業務邏輯。主要關鍵字包括三類:被操作對象(Item)、操作(Operation)和值(value),用面向對象形式可將其表現為 Item.Operation(Value)。關鍵字驅動的主要思想是:腳本與數據分離、界面元素名與測試內部對象名分離、測試描述與具體實現細節分離。

        相應地,軟件測試自動化腳本的類型,從低到高的發展層次是:

        1)線性腳本:通過錄制直接產生的線性執行的腳本。

        2)結構化的腳本:具有順序、循環、分支等結構的腳本。

        3)共享的腳本:可以被多個測試用例使用,被其它腳本調用的腳本。

        4)數據驅動的腳本:數據和流程控制分離的腳本,通過讀入數據文件來驅動流程進行的腳本。

        5)關鍵字驅動的腳本:腳本、數據、業務分離,數據和關鍵字在不同的數據表中,通過關鍵字來驅動測試業務邏輯。關鍵字驅動腳本的特點是它看起來更像描述一個測試事例做什么, 而不是如何做。

        目前,大多數測試工具處于數據驅動到關鍵字驅動之間的階段,有些工具廠商已經提出了聲稱支持關鍵字驅動的版本。

        從上面可以看到,自動化測試框架和腳本的發展是和軟件工程思想的發展一脈相承的。軟件開發的模式從面向機器、到面向過程、再到面向對象、面向服務,是一個從底層到高層、從具體到抽象、復用的粒度從細到粗的發展過程。而軟件開發中的模塊化、層次化、松耦合等思想對自動化測試框架的設計都具有借鑒意義。

    延伸閱讀

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

    TAG: 發展 框架 軟件 自動化


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>