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

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

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

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

    關于GUI自動化測試的收益回收期分析

    發布: 2008-5-26 17:18 | 作者: 網絡轉載 | 來源: 中國IT實驗室 | 查看: 48次 | 進入軟件測試論壇討論

    領測軟件測試網 引言

      對于一個軟件產品的評估,從用戶角度來講,程序的界面部分是相當受關注的,這里包括程序界面的交互能力、穩定性、健壯性等,同時今天的軟件產品越來越復雜,通常一套軟件包括會大量的用戶界面,每個界面里又有很多的控制對象,以及各種信息的交互。對于這樣一套軟件,即便測試只覆蓋到部分界面,工作量也是相當大的。由此人們想到利用工具來進行自動化測試,本文希望通過對自動測試與手工測試的比較,指導人們進行測試方法的選擇。

    CR-tools介紹

      程序界面測試(GUI testing)主要包括兩項內容:界面顯示測試和界面功能測試,這里重點講解功能測試(black box functional testing)。界面功能的自動測試可以用捕捉/回放工具來完成,(GUI CR-tools :capture & replay tools ),但是在實際應用過程中,常常因為CR-tools固有的缺隙而大大削弱了它的效力,從而引起人們對自動化測試工具可用性的憂慮。如:

      CR-tools對GUI對象的識別能力嚴重依賴于被測軟件所使用的編程語言,這一因素大大增加了測試腳本的維護工作量。例如如果CR-tools可以識別C++語言開發環境、OO方法定義的對象(如buttons、menu等),通常在界面布局調整時,它仍然可以識別出新界面上的所有元素,但是很可能它不能夠識別Oracle應用程序,如用OCX開發的程序界面中的對象,這時我們不得不向供應商尋找相應的支持選件。

      CR-tools通過對程序運行過程的錄制產生的測試腳本,通常只能做為設計測試用例的初始原型,必須經過大量的修改和對腳本編程的工作,才能重復利用,如增加檢查點(check point)、進行參數化等。因此,GUI自動測試的設計也是一項復雜的編程與開發工作。

      當然以上問題我們也可以通過采取一些措施盡可能避免,如通過建立測試用例庫,實現用例的重用、腳本功能的擴展、腳本語言的規范化、以及減少維護工作量等。所以,雖然自動化測試工具還存在很多問題,但它最大的好處是可以通過用例的重用,來大大減少重復的測試設計工作量,這也是至今人們還堅持不懈研究自動化測試技術的原因。

    手工測試與自動化測試的比較

      下面我們對手工測試與自動測試的成本開銷進行比較,找出影響自動化測試效率的重要因素:自動測試的重復運行次數。

      首先我們把軟件開發過程定義為六個階段:定義、分析、設計、實現、測試、發布,其中的測試階段又可以細分為:測試設計、測試執行、測試分析、問題解決。.

      實驗的前提條件:

      測試執行前錄制程序運行產生測試腳本,在腳本重復回放期間,是完全自動執行的,沒有做進一步修改,及其它人工的干預,盡管這在實際情況中會有一定的困難。

    注:測試準備和測試執行是以小時工作量為單位

    Vm:測試設計的時間支出;

    Va:測試設計+重復測試的腳本定制、數據準備等支出;

    Dm:手工執行一次的時間;

    Da:自動測試執行完成后的整理工作量。不含執行過程的時間,因測試是在CR-TOOLS的管理下自動執行的,不需人工干預。

    En := Aa/Am = (Va + n*Da)/ (Vm + n*Dm).

    實驗分析

    分析1:

    以第二個測試項目為例進行說明,測試準備和設計需要10小時(Vm),如果進行自動測試另外還需4小時的工作,整個自動測試準備階段需14小時(Va)。手工執行(Dm)與結果分析需2小時,自動執行(Da)與測試結果分析需0。1小時。以上是自動執行一次的情況,由此我們可以計算出重復運行5、10、20次的成本開銷比較,其中如果自動運行5次,自動測試的成本是手工運行5次成本的73%,即:

    E5 = Aa/Am = (Va + 5*Da) / (Vm + 5*Dm) = (14 + 5*0,1) / (10 + 5*2) = 14,5/20 = 0,725 = 73 %

    由此可見,成本回收期限是由測試腳本的重復運行次數,或自動測試腳本的利用率決定的,

    分析2:

    根據等式:

    EN = Aa/Am = 100%.

    Ntotal =2,03

    可見在自動測試第二次執行完成后,手工測試與自動測試的成本支出基本持平。

    分析3:

    如果你的測試工具在捕捉程序運行生成測試腳本后,只做了一次回放工作,這樣的開銷是手工測試的125%,因為附加的準備工作開銷無法回收:191/116=165%。這里很可能是因為測試腳本語言的編程支持太弱,導致每一次重復運行時都有大量的維護、修改工作量,沒有體現出自動測試的優勢。

    分析4:

    對于一個自動測試過程,只要能夠重復利用10次,測試費用就能降低40%,可見自動測試的效率提高還是相當顯著的。

    另外,此結果可以適用于小型、中等軟件公司和開發團隊的規模情況。當然這些實驗和分析沒有考慮被測軟件、開發環境,測試流程等因素的影響。

    結論

    1.利用腳本語言編程實現測試用例的自動執行,自動執行一次的資源開銷是手工測試一次的165%,在正常情況下,如果第二次重復測試,自動與手工的資源開銷基本持平。

    2.影響自動測試效率的因素:未經培訓測試人員、人員沒有測試開發和編程經驗、在軟件產品還不穩定情況下過早啟動測試、開發與測試人員溝通不足,致使軟件修改后測試人員未能及時知道。

    3.進行GUI自動化測試需要掌握大量與測試工具相關的知識和技能,因此必須事先經過很好的培訓。

    4.實現自動測試的過程是一個復雜的軟件開發過程,需要測試人員具有相當的的軟件測試組織、實施經驗和專業的軟件開發經驗。

    5.建立并長期維護一套測試用例庫,?能夠幫助我們節省資源并能夠快速培養測試人員。

    延伸閱讀

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

    TAG: gui GUI 自動化 收益


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