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

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

  • <strong id="5koa6"></strong>
  • 論單元測試[1]

    發表于:2008-05-05來源:作者:點擊數: 標簽:單元測試
    軟件測試是保證軟件產品 質量 的重要手段之一。它是測量、評估軟件產品特點和能力的活動?,F在,國內一些軟件企業對于軟件測試的重視程度還很不夠,認為測試工作非常簡單,只是簡單地操作所測的軟件產品而已。這種錯誤的思想嚴重影響了國內軟件質量,應該引

    軟件測試是保證軟件產品質量的重要手段之一。它是測量、評估軟件產品特點和能力的活動?,F在,國內一些軟件企業對于軟件測試的重視程度還很不夠,認為測試工作非常簡單,只是簡單地操作所測的軟件產品而已。這種錯誤的思想嚴重影響了國內軟件質量,應該引起我們的高度重視。

      軟件測試階段可以分為若干個小的階段,階段的劃分有多種,我現在按流程順序將其分為四個階段:

      * 單元測試:由項目小組完成

      * 集成測試:由項目小組完成

      * 系統測試:由專業測試小組完成

      * 交接測試:用戶和開發商共同完成。

      測試的四個階段完全逆向檢測了軟件開發的各個階段。單元測試主要是測試程序代碼,集成測試主要是對設計的檢測,系統測試主要測試了軟件的功能,交接測試主要是對用戶需求的一種檢測。但是每個測試階段仍要對其它測試階段的測試內容加以測試,只是測試重點不同。

      在這篇文章中,我只對單元測試流程加以闡述,而不涉及具體的測試方法。關于測試方法(如:使用手工測試還是自動測試)若有機會將在其它文章中進行闡述。

      在單元測試前,先讓我們明白以下幾個問題,這可以使我們對單元測試更加清晰。

      * 單元測試的目標: 確保模塊被正確地編碼

      * 由誰去做:    通常由程序人員測試

      * 怎樣去測試:   功能測試可以用黑匣測試方法,代碼測試可用白   匣測試方法

      * 什么時候可以停止:當程序員感到代碼沒有缺陷

      * 記錄:      通常沒有記錄

      我們在清楚以上問題后就可以編寫測試用例了。測試用例是輸入、執行條件和一個特殊目標所開發的預期結果集合。它按測試目的不同可分為以下幾種類型:

      * 需求測試用例:測試是否符合需求規范

      * 設計測試用例:測試是否符合系統邏輯結構

      * 代碼測試用例:測試代碼的邏輯結構和使用的數據

      需求測試用例通常是按照需求執行的功能逐條地編寫輸入數據和期望輸出。一個好的需求用例是可以用少量的測試用例就能夠覆蓋所有的程序功能。

      設計測試用例檢測的是代碼和設計是否完全相符。是對底層設計和基本結構上的測試。設計測試用例可以涉及到需求測試用例沒有覆蓋到的代碼空間(例如界面的設計)。

      代碼測試用例是基于運行軟件和數據結構上的。它要保證可以覆蓋所有的程序分支、最小的語句和輸出。

      以上三種用例所用的數據又可分為正常數據、邊緣數據和錯誤數據。

      *正常數據:在測試中所用的正常數據的量是最大的,而且也是最關鍵的。少量的測試數據不能完全覆蓋需求,但我們要從中提取出一些具有高度代表性的數據作為測試數據,以減少測試時間。

      *邊緣數據:邊緣測試是界于正常數據和錯誤數據之間的一種數據。它可以針對某一種編程語言、編程環境或特定的數據庫而專門設定。例如若使用SQL Server數據庫,則可把SQL Server關鍵字(如:';AS;Join等)設為邊緣數據。其它邊緣數據還有:HTML的HTML;<>等關鍵字以及空格、@、負數、超長字符等。邊緣數據要靠測試人員的豐富經驗來制定。

    原文轉自: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>