軟件性能測試面面觀

發表于:2015-12-02來源:火龍果軟件作者:不詳點擊數: 標簽:性能測試
軟件測試,作為軟件工程的一部分,隨著軟件生產的產業化運作應運而生,是軟件生產的一個動態監控過程,對軟件開發全過程進行檢測,可以隨時發現問題、報告問題,并重新評估

  軟件測試,作為軟件工程的一部分,隨著軟件生產的產業化運作應運而生,是軟件生產的一個動態監控過程,對軟件開發全過程進行檢測,可以隨時發現問題、報告問題,并重新評估新的風險,設置新的監控基準,并持續下去。軟件測試是軟件質量控制的過程,是對軟件系統中潛在的各種風險進行評估的活動,其目的是監測和排除缺陷,以確保軟件產品在可用性、功能性、可操作性等多方面滿足質量需求。

  目前,軟件測試已經由被動的以監測和發現錯誤為目的發展到從軟件質量控制(SQC,Software Quality Control)開始轉移到軟件質量保證(SQA,Software Quality Assurance),使軟件測試從單純的缺陷檢測和發現覆蓋到整個軟件開發過程,避免了軟件開發過程中由于軟件需求和設計等方面的缺陷所帶來的巨大風險。一個典型的軟件過程可以分為測試需求分析、測試設計、測試執行、缺陷和配置管理過程等許多個不同的階段。在軟件測試技術方面也已經被細化為單元測試、集成測試、系統測試、用戶驗收測試等不同的測試技術。而在對軟件產品質量呼聲日高的今天,軟件性能測試技術尤為重要。

  軟件性能測試“整體觀”

  軟件的性能測試是為了檢驗系統或系統部件是否達到需求規格說明中規定的各類性能指標,并滿足一些性能相關的約束和限制條件,它必須對系統或系統部件具有的性能(例如,速度、精度、頻率)做出規定的要求。

  性能測試通常在系統測試階段執行,常常與強度測試結合起來,一般需要使用測試工具。評估測試對象的性能行為時,可以使用多種評測,這些評測側重于獲取與行為相關的數據,如響應時間、計時配置文件、執行流、操作可靠性和限制。這些評測主要在評估測試活動中進行,也可以在執行測試活動中使用性能評測評估測試進度和狀態。

  性能需要在各種條件下測試,這些條件包括:

  1.不同的工作量和/或系統條件。

  2.不同的用例/功能。

  3.不同的配置。

  4.性能需求在補充規格或需求規格說明書中的性能描述部分中說明。

  在上述條件下執行測試時,要特別注意以下信息,并為反映這些信息的每條語句生成至少一個測試需求:

  1.時間語句,如響應時間或定時情況。

  2.指出在規定時間內必須出現的事件數或用例數的語句。

  3.將某一項性能的行為與另一項性能的行為進行比較的語句。

  4.將某一配置下的應用程序行為與另一配置下的應用程序行為進行比較的語句。

  5.一段時間內的操作可靠性(平均故障時間或MTTF)。

  6.配置或約束

  軟件性能測試工作主要包括如下幾個方面:

  1.動態監測:在測試執行過程中,實時獲取并顯示正在執行的各測試腳本的狀態。

  2.響應時間/吞吐量:測試對象針對特定主角和/或用例的響應時間或吞吐量的評測。

  3.百分位報告:數據已收集值的百分位評測/計算。

  4.比較報告:代表不同測試執行情況的兩個(或多個)數據集之間的差異或趨勢。

  5.追蹤報告:主角(測試腳本)和測試對象之間的消息/會話詳細信息。

  軟件性能測試“方法觀”

  軟件性能測試的方法可以根據測試目的的不同,選擇不同的方法,具體如下表:

  根據測試內容的不同,性能測試主要包括以下方面:

  1、響應時間測試

  1.響應時間測試,通常指正常單用戶操作時客戶端的響應時間,以及將強度測試、負載測試、壓力測試結合時客戶端的響應時間。

  2.函數、方法、對象、子例程執行時間。

  3.函數、方法調用頻度及嵌套。

  4.運行特定模塊、按特定路徑執行或處理特定數據所花費的時間。

  5.處理精度。

  6.如果兩次運行時間相差三倍以上,則可能存在問題。

  2、強度測試(壓力/負載測試)

  強度測試需要在反常數量、頻率或資源的方式下運行系統,以檢驗系統能力的最高實際限度,它要求軟件必須被強制在它的設計能力的極限狀態下運行。

  3、軟件可靠性測試

  這種測試經常發現的錯誤包括越界指針,內存泄露、棧溢出、超過兩個特性之間的錯誤交互等,也稱長序列測試(long sequence testing)、持久測試(duration testing)、耐力測試(endurance testing)。測試持續時間較長,目標是發現程序測試遺漏的錯誤。

原文轉自:http://www.uml.org.cn/Test/201309024.asp

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