軟件測試概論

發表于:2012-01-11來源:博客園作者:青蘋果點擊數: 標簽:軟件測試
對于剛從學校出來的學生來說,大家可能對軟件測試生疏些,而對軟件研發都再不過的熟悉了,今天就介紹下軟件測試理論: 測試目的: 測試的目的是為了發現盡可能多的缺陷。成功的測試在于發現了迄今尚未發現的缺陷,所以測試人員的職責是為了發現

  對于剛從學校出來的學生來說,大家可能對軟件測試生疏些,而對軟件研發都再不過的熟悉了,今天就介紹下軟件測試理論:

  測試目的:

  測試的目的是為了發現盡可能多的缺陷。成功的測試在于發現了迄今尚未發現的缺陷,所以測試人員的職責是為了發現更多的缺陷而設計測試用例,它能有效地揭示潛伏在軟件里的缺陷。

  常用的測試模型(測試生命周期)

  常用的測試模型有:瀑布模型、V模型、W模型;

  瀑布模型是按工序將問題化簡,將功能的實現與設計分開,采用機構化的分析與設計方法將邏輯實現與物理實現分開。自上而下分為需求分析、制定計劃、編寫測試用例、軟件測試、驗收測試;

  V模型是最為明確的描述了開發階段與測試階段的對應關系,比如在單元測試對應開發階段是編碼,集成測試對應的開發階段是詳細設計,系統測試對應的開發階段是概要設計,最后的驗證測試對應的開發階段是驗收測試;

  W模型是伴隨整個軟件開發周期,而且測試的對象不僅僅是程序,需求、設計等同樣要測試,測試與開發是同步進行的,比如在用戶需求階段測試人員應根據用戶需求驗收測試用例設計,在需求分析階段測試人員應進行調研確定系統測試用例設計,概要設計階段測試人員應進行集成測試的設計,詳細設計階段測試人員應進行單元測試的設計,編碼階段測試人員應進行單元測試,在集成(對系統模塊的連接)階段進行集成測試,在實施(是否滿足用戶需求)階段應進行確認測試和系統測試,在交付階段應對軟件進行驗收測試;

  測試范圍

  1、功能性,包括適合性方面、準確性方面、互操作性方面、安全保密性方面,功能性依從性;

  2、可靠性,包括成熟性方面、容錯性方面、可靠性依從性;

  3、易用性,包括易操作性方面、吸引性方面,易用性依從性;

  4、兼容性,包括硬件兼容性方面、軟件兼容性方面、數據兼容性方面(XML符合、數據庫移植)、新舊系統數據遷移等方面;

  5、性能性,包括對系統的瓶頸進行壓力測試、對系統進行負載測試、配置測試;

  4. 測試方法

  軟件測試方法有很多,在不相的時期都有不同測試方法這樣有助于提高測試效率。

  軟件方法有:白盒測試、墨盒測試、灰盒測試;按軟件生命周期可分為:單元測試、集成測試、系統測試、確認測試;其中常用的功能性測試方法包括:UI測試、數據測試、操作測試、接口測試;常用的性能測試方法包括:壓力測試、負載測試、兼容性測試、安全性測試;其它測試方法包括:BVT測試(我們常說的冒煙測試)、回歸測試、α測試、β測試;

  這里我們選擇常用的測試方法加以說明:

  白盒測試也稱結構測試或邏輯驅動測試,它是按照程序內部的結構測試程序,通過測試來檢測產品內部動作是否按照設計規格說明書的規定正常進行,檢驗程序中的每條通路是否都能按預定要求正確工作,也就是要對軟件的源代碼進行測試。

  墨盒測試也稱功能測試是軟件測試行業中常用的測試方法,它是通過測試來檢測每個功能是否都能正常使用,不了解程序內部是怎么工作的,只注意輸入什么輸出什么;

  灰盒測試是介于白盒測試與黑盒測試二者之間,補充了白盒測試和墨盒測試的不足,是大型企業中常用的測試方法;

  壓力測試是獲取系統正確運行的極限,檢查系統在瞬間峰值負荷下正確運行的能力。比如對上傳這個動作進行壓力測試,一次上傳1KB大小文件是可通過的,那么我們上傳10M的文件看系統的反應會怎樣;

  負載測試用于檢查系統在使用大量數據的時候正確工作的能力,即檢驗系統的能力最高能達到什么程度。比如對登陸動作進行負載測試,1個用戶登陸系統可通過,那么我們用1000個用戶同時登陸系統看系統能否通過;

  BVT測試是按先后的順序的,如果測某兩個功能時,這兩個功能有先后順序,第二個功能需求第一個功能的值,則第一個功能未實現,那就不用去測試第二個功能了;

  回歸測試(regression test)是指修改了舊代碼后,重新進行測試以確認修改沒有引入新的錯誤或導致其他代碼產生錯誤。比如修改了某個功能,則把該功能有關聯的測試用例找出重新執行;

  α測試是由一個用戶在開發環境下進行的測試,也可以是公司內部的用戶在模擬實際操作環境下進行的測試。

  β測試是由軟件的多個用戶在客戶場地實際使用環境下進行的測試,這些用戶返回有關錯誤信息給開發者。測試時,開發者通常不在測試現場.因而,β測試是在開發者無法控制的環境下進行的軟件現場應用

  4. 測試用例

  用例的設計是要分類的,用不同的測試方法用例的設計是不同。不要把用墨盒測試方法的測試用例拿去白盒測試,那就張冠李戴了對吧,只有對癥下藥才是解決問題的根源。好了要想設計出一個好的測試用例,我們應該先明確是用什么測試方法,具體用例設計方法如下:

  墨盒測試的用例設計方法:等價類劃分、邊界值分析、因果圖、判定表驅動法、正交試驗、比較法、錯誤推測

  白盒測試的用例設計方法:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋

  灰盒測試的用例設計方法:墨盒測試和白盒測試的用例設計方法都可能用到;

  5. 測試工具

  常用的測試工具有:

  性能化測試工具:LoadRunner

  自動化測試工具:QTP(QuickTest Professional)

  缺陷管理工具:QC(Quality Controller)、TD(Test Director)

  6. 測試流程

  立項階段

  在立項階段測試人員應準備好根據用戶需求驗收測試用例設計,說明項目是可行的。我們要大概知道客戶的要求是怎么樣,以好使自己的心里有具底,以便以后做測試計劃和用例的設計。

  需求階段

  在需求分析階段測試人員應參加到調研工作中,以便對測試計劃和測試用例的編寫,幫著研發人員整理初步的解決方案。

  設計階段

  在設計階段中測試人員的工作就多了,一是要對系統中的功能進行用例設計,二是編寫測試計劃,三是要幫著研發人員整理詳細設計說明書;

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97