天天看點

性能測試的重要意義

  網絡的發展,讓人們對網絡的依賴越來越大,對外界新事物的好奇心等也越來越強烈,成千上萬的使用者在龐大的網絡系統中遊轉。網絡時代的到來,也給提供服務的系統帶來嚴重的系統負荷,這就是系統網絡發展中最明顯的特征:"高并發"、"資料集中"。

  資料越來越集中于背景系統伺服器中,衆多系統同時為成千上萬的網絡使用者提供服務,如銀行、電信、社交網站等公司的軟體系統随處可見,影響着我們生活的方方面面。随着各個企業的業務發展、使用者通路量的增加,其服務系統承載的負荷也會随着增加,系統性能的好壞将嚴重影響企業的利益,是以對于it服務系統的性能測試與優化也越來越受業界的重視。

  目前典型的企業資訊服務系統的架構大緻如圖1.1所示。

性能測試的重要意義

圖1.1  典型的企業資訊服務系統的架構

  在傳遞給客戶上線使用之前,業務系統的每個環節都要進行性能測試和優化,才能保證上線後的品質。每個環節都要有專業人士協助性能的診斷和優化,這些專業人士包括:性能測試工程師、系統管理者、網絡工程師、dba、程式設計人員等。

  功能測試主要根據産品業務需求、産品行業特征、模拟使用者操作方式來測試一個産品的特性以确定它們是否滿足使用者需求。

  性能測試則是通過某種特定的方式對被測試系統按照一定的測試政策進行施壓,擷取該系統的響應時間、運作效率、資源利用情況等各項性能名額,來評價系統是否滿足使用者性能需求的過程。

  通俗地說,功能測試用于確定軟體系統做了正确的事情,性能測試則用于確定軟體系統快速地完成了任務。

  項目組不同角色眼中的軟體性能

  1、系統管理者眼中的軟體性能

  系統管理者作為軟體系統的運維人員,主要關注伺服器的資源使用狀況、系統的擴充性、系統支援的最大使用者量、系統穩定性,以及系統可能出現的瓶頸、出現異常的情況下如何處理等。

  2、研發人員眼中的軟體性能

  作為研發人員,他們會更關注軟體系統架構設計的合理性、資料庫的設計是否存在問題、代碼是否存在性能方面問題、記憶體使用方式是否正确、線程同步方式是否合理、是否存在不合理的資源競争等。

  3、測試人員眼中的軟體性能

  測試人員是軟體性能品質的把關者,在軟體性能生命周期中占據至關重要的位置,軟體性能測試工程師要對性能問題進行監控、分析及模拟實際使用過程中所出現的性能問題。還要跟各個角色做好溝通工作,對測試出的各種性能問題,要提供充分有力的資料,為後續的分析和定位性能問題、性能優化工作做好充分的準備。

  1秒的性能對于顧客的意義

  根據2008年aberdeen group的研究報告,對于web網站,1秒的頁面加載延遲相當于少了11%的pv(page view),相當于降低了16%的顧客滿意度。如果從金錢的角度計算,就意味着:如果一個網站每天掙10萬元,那麼一年下來,由于頁面加載速度比競争對手慢1秒,可能導緻總共損失25萬元的銷售額。

  compuware公司分析了超過150個網站和150萬個浏覽頁面,發現頁面響應時間從2秒增長到10秒,會導緻38%的頁面浏覽放棄率。

  由此可見,網站性能與業務目标有着直接的關系,對網站進行負載測試非常重要。

====================================分割線================================

最新内容請見作者的github頁:http://qaseven.github.io/