• <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-03-30來源:作者:點擊數: 標簽:軟件測試自動化腳本
    作者在對這幾種 自動化腳本 編寫方法作出關于成本的評價時,沒有參考任何 自動測試 項目的成本分析文檔或成本效益分析結果。建議讀者基于自己的理解和考慮風險來消化利用這些信息。 文章的編排 這篇文章主要分析自動化的成本,然后在描述每一種腳本編寫方法時
     作者在對這幾種自動化腳本編寫方法作出關于成本的評價時,沒有參考任何自動測試項目的成本分析文檔或成本效益分析結果。建議讀者基于自己的理解和考慮風險來消化利用這些信息。
    文章的編排 
            這篇文章主要分析自動化的成本,然后在描述每一種腳本編寫方法時指出它的優點和缺點。 
            關于優缺點,從以下方面進行評價:
    1. 腳本的編寫是否是結構化的
    2. 測試用例在什么地方定義
    3. 開發腳本的成本
    4. 需要怎樣的編程技能
    5. 如何計劃、設計和管理腳本
    6. 測試數據放在什么地方
    7. 腳本如何維護,維護成本
    8. 其它方面

    成本 
            測試腳本相關的成本主要由開發成本和維護成本組成。在自動化測試過程中使用不同的腳本編寫方法會對成本有不同程度的影響。

     

            “錄制回放”的方法是簡單的,也是脆弱的,但是它的開發成本很低,然而維護成本很高,因此總體成本也會很高。使用先進的關鍵字驅動測試的方法,則維護成本會很低,但是開發成本會很高,因此總體成本也會很高。測試經理需要在這些方法中作出明智的選擇,以便把總體成本盡量降低。

    編寫腳本的方法 
            不同的自動化測試腳本編寫方法主要有:

    1. 線性的
    2. 結構化的
    3. 共享的
    4. 數據驅動的
    5. 關鍵字驅動的

    線性腳本編寫方法 
            線性腳本編寫方法是使用簡單的錄制回放的方法,測試工程師使用這種方法來自動化地測試系統的流程或某些系統測試用例。它可能包含某些多余的、有時候并不需要的函數腳本。

    優缺點:

    1. 是一種非結構化的編程方式
    2. 測試用例由腳本定義
    3. 非常低的開發成本
    4. 測試人員所需要的編程方面的技巧幾乎可以忽略
    5. 不需要計劃、設計
    6. 測試數據在腳本中是硬編碼的
    7. 腳本會很脆弱,因此維護成本會很高
    8. 沒有公用的腳本,因此可能造成重復勞動

    結構化腳本編寫方法 
            結構化腳本編寫方法在腳本中使用結構控制。結構控制讓測試員可以控制測試腳本或測試用例的流程。在腳本中,典型的結構控制是使用“if-else”,“switch”,“for”,“while”等條件狀態語句來幫助實現判定、實現某些循環任務、調用其它覆蓋普遍功能的函數

    優缺點:

    1. 是結構化的腳本編寫方法
    2. 測試用例在腳本中定義
    3. 編程的成本要比線性腳本編寫方法略為高一點
    4. 需要測試員的調整編碼技巧
    5. 需要某種程度上的計劃、設計
    6. 測試數據也是在腳本中被硬編碼
    7. 因為相對穩定一點,所以需要相對少的腳本維護,維護成本比線性腳本編寫方法的要相對低
    8. 除了編程知識外,還需要一些腳本語言的知識

    共享腳本編寫方法 
            共享腳本編寫方法是把代表應用程序行為的腳本在其它腳本之間共享。意味著把被測應用程序的公共的、普遍的功能的測試腳本獨立出來,其它腳本對其進行調用。這使得某些腳本按照普遍功能劃分來標準化、組件化。這種腳本甚至也可以使用在被測系統之外的其它軟件應用系統。 

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品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>