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

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

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

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

    軟件測試自動化的一些具體做法

    發布: 2008-7-14 15:52 | 作者: 不詳 | 來源: 軟件研發之窗 | 查看: 115次 | 進入軟件測試論壇討論

    領測軟件測試網
    關鍵字:測試自動化
          作者在上篇文章略微談到了軟件測試的自動化,但并沒有把本文的內容也一起寫進去。原因主要是希望讀者先努力考慮在自己的企業或項目內,可以有一些怎么樣的做法,而不會先入為主地受到我所寫的具體例子的影響而局限了思路。

       因為軟件測試的工作量很大(40% 到60% 的總開發時間),而又有很大部分適于自動化,因此,測試的改進會對整個開發工作的質量、成本和周期帶來非常顯著的效果。

       首先,談談在測試自動化的情況下,帶有圖形界面的產品的測試用例的設計問題。因為圖形界面的輸出顯示不是很容易做到測試結果自動化比較,所以一般的做法是把圖形界面輸出的部分單獨建立測試用例,以手工運行。而所有非圖形輸出則可進行自動測試。

       下面舉出一些測試自動化的例子:

       1.測試個案(test case ,或稱為測試用例)的生成:

       用編程語言或更方便的劇本語言(script language 例如Perl等)寫出短小的程序來產生大量的測試輸入(包括輸入數據與操作指令);蛲瑫r也按一定的邏輯規律產生標準輸出。輸入與輸出的文件名字按規定進行配對,以便控制自動化測試及結果核對的程序易于操作。

       這里提到測試個案的命名問題,如果在項目的文檔設計中作統一規劃的話,軟件產品的需求與功能的命名就應該成為后繼開發過程的中間產品的命名分類依據。這樣,就會為文檔管理和配置管理帶來很大的方便,使整個產品的開發過程變得更有條理,更符合邏輯。任何新手半途加入到開發工作中也會更容易進入狀態。

       2.測試的執行寫控制:

       單元測試集成測試可能多用單機運行。但對于系統測試回歸測試,就極有可能需要多臺機在網絡上同時運行。記住一個這樣的原則,在開發過程中的任何時候,如果你需要等候測試的運行結果的話,那就是一個縮短開發時間的機會。

       對于單個的測試運行,挖潛的機會在測試的設置及開始運行和結果的對比及顯示。有時候,需要反復修改程序,重新匯編和重新測試。這樣,每一個循環的各種手工鍵入的設置與指令所花費的時間,加起來就非?捎^。如果能利用make或類似的軟件工具來幫助,就能節省大量的時間。

       對于系統測試或回歸測試這類涉及大量測試個案運行的情況,挖潛的的機會除了利用軟件工具來實現自動化之外,就是怎樣充分利用一切硬件資源。往往,就算是在白天的工作時間內,每臺計算機的負荷都沒有被充分利用。能夠把大量測試個案分配到各臺機器上去同時運行,就能節省大量的時間。另外,把大量的系統測試及回歸測試安排到夜間及周末運行,更能提高效率。

       如果不購買商品化的工具的話,應當遵從正規的軟件開發要求來開發出好的軟件測試自動化工具。在實踐中,許多企業自行開發的自動化工具都是利用一些現成的軟件工具再加上自己寫的程序而組成的。這些自己開發的工具完全是為本企業量身定做的,因此可用性非常強。同時,也能根據需要隨時進行改進,而不必受制于人。當然,這就要求有一定的人力的投入。

       在設計軟件自動測試工具的時候,路徑(path)控制是一個非常重要的功能。理想的使用情況是:這個工具可以在任何一個路徑位置上運行,可以到任何路徑位置去取得測試用例,同時也可以把測試的結果輸出放到任何的路徑位置上去。這樣的設計,可以使不同的測試運行能夠使用同一組測試用例而不至于互相干擾,也可以靈活使用硬盤的空間,并且使備份保存工作易于控制。

       同時,軟件自動測試工具必須能夠有辦法方便地選擇測試用例庫中的全部或部分來運行,也必須能夠自由地選擇被測試的產品或中間產品采作為測試對象。

       3.測試結果與標準輸出的對比:

       在設計測試用例的時候,必須考慮到怎樣才能夠易于對此測試結果和標準輸出。輸出數據量的多少及數據格式對比較的速度有直接影響。而另一方面,也必須考慮到輸出數據與測試用例的測試目標的邏輯對應性及易讀性,這將會大大有利于分析測試所發現的不吻合,也有利于測試用例的維護。

       許多時候,要寫一些特殊的軟件來執行測試結果與標準輸出的對比工作,因為可能有部分的輸出內容是不能直接對比的(比如,對運行的日期時間的記錄,對運行的路徑的記錄,以及測試對象的版本數據等),就要用程序進行處理。

       4.不吻合的測試結果的分析、分類、記錄和通報:

       上一點所談到的,用于對測試結果與標準輸出進行對比的特殊軟件,往往也同時擔任對不吻合的測試結果進行分析、分類、記錄和通報的任務。

       “分析”是找出不吻合的地方并指出錯誤的可能起因!胺诸悺卑ǜ鞣N統計上的分項,例如,對應的源程序的位置,錯誤的嚴重級別(提示、警告、非失效性錯誤、失效性錯誤;或別的分類方法),新發現的還是已有記錄的錯誤,等等!坝涗洝,是按分類存檔!巴▓蟆,是主動地對測試的運行者及測試用例的“負責人”通報出錯的信息。

       這里提到測試用例的“負責人”的概念。是用以指定一個測試用例運行時發現的缺陷,由哪一個開發人員負責分析(有時是另外的開發人員引進的缺陷而導致的錯誤)及修復。在設立測試用例庫時,各用例均應有指定的負責人。

       最直接的通報方法是由自動測試軟件發出電子郵件給測試運行者及測試用例負責人。郵件內容的詳細程度可根據需要靈活決定。

       5.總測試狀況的統計,報表的產生:

       這些都是自動測試工具所應有的功能。目的是提高過程管理的質量,同時節省用于產生統計數據的時間。

       產生出來的統計報表,最好是存放到一個約定的路徑位置,以便任何有關人員都知道怎樣查閱。同時,可按需要用電子郵件向適當的對象(如項目經理,測試經理和質量保證經理)寄出統計報表。

       6.自動測試與開發中產品每日構建(build )的配合:

       自動測試應該是整個開發過程中的一個有機部分。自動測試要依靠配置管理來提供良好的運行的環境,同時它必須要與開發中的軟件的構建緊密配合。

       在開發中的產品達到一定程度的時候,就應該開始進行每日構建和測試。這種做法能使軟件的開發狀態得到頻繁的更新,以及及早發現設計和集成的缺陷。

       為了充分利用時間與設備資源,下班之后進行自動的軟件構建,緊接著進行自動測試(這里多數指的是系統測試或回歸測試),是一個非常行之有效的方法。如果安排得好,到第二天上班時,測試結果就已經在各人的電子郵箱里面面了,等待著新的一天的開發工作。

       總結:以上只是根據經驗和體會舉了一些軟件測試自動化的做法。

       由于企業開發環境的不同、產品的不同,測試自動化的實施方法會有很大的差異。希望大家從這些具體例子中掌握到這項工作的基本精神及思路,然后結合自己的情況,大膽創新。同時千萬不要忘記向大家介紹好經驗。祝大家測試愉快。

    延伸閱讀

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

    TAG: 軟件測試 自動化 做法


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