♦我是一下下面幾個方面來理解的:html
1.秒的性能對於顧客的意義?web
2.性能測試的重要意義數據庫
3.什麼是軟件的性能?性能優化
4.軟件的性能測試是什麼?服務器
5.功能測試和性能測試對比?網絡
6.項目組不一樣角色眼中的軟件性能?架構
7.性能測試的目的是什麼?併發
8.性能測試分類是什麼?負載均衡
9.性能測試指標是什麼?運維
10.性能測試基本流程是什麼?
11.性能測試的方法有哪些?
12.影響軟件性能的因素有哪些?
1.秒的性能對於顧客的意義?
根據2008年Aberdeen Group的研究報告,對於Web網站,1秒的頁面加載延遲至關於少了11%的PV(page view),至關於下降了16%的顧客滿意度。若是從金錢的角度計算,就意味着:若是一個網站天天掙10萬元,那麼一年下來,因爲頁面加載速度比競爭對手慢1秒,可能致使總共損失25萬元的銷售額。
Compuware公司分析了超過150個網站和150萬個瀏覽頁面,發現頁面響應時間從2秒增加到10秒,會致使38%的頁面瀏覽放棄率。
因而可知,網站性能與業務目標有着直接的關係,對網站進行負載測試很是重要。
再結合個人實際體驗,啓動一個軟件若是很卡,就不太想用了,若是在中間使用時再很卡時,下次再想使用的慾望就會強烈減小,甚至會產生排斥心理。
2.性能測試的重要意義?
♦隨着社會的發展,科技的進步,信息技術的飛速發展,計算機的普及,軟件產品已經應用到社會的各個行業領域,加上網絡的發展,信息的共享性等,人們對計算機及網絡的依賴性愈來愈大。軟件產品的使用者對高質量、高效率的工做方式的要求愈來愈高,所以對於工做和生活中息息相關的IT系統服務,他們也要求提供更快、更高效的服務品質。
♦網絡的發展,讓人們對網絡的依賴愈來愈大,對外界新事物的好奇心等也愈來愈強烈,成千上萬的用戶在龐大的網絡系統中游轉。網絡時代的到來,也給提供服務的系統帶來嚴重的系統負荷,這就是系統網絡發展中最明顯的特徵:"高併發"、"數據集中"。
♦數據愈來愈集中於後臺系統服務器中,衆多系統同時爲成千上萬的網絡用戶提供服務,如銀行、電信、社交網站等公司的軟件系統隨處可見,影響着咱們生活的方方面面。隨着各個企業的業務發展、用戶訪問量的增長,其服務系統承載的負荷也會隨着增長,系統性能的好壞將嚴重影響企業的利益,所以對於IT服務系統的性能測試與優化也愈來愈受業界的重視。
♦目前典型的企業信息服務系統的架構大體如圖1.1所示。
♦通常是由客戶端、網絡、防火牆、負載均衡服務器(硬件如F五、軟件Apache等)、Web服務器、應用服務器(中間件WebLogic、Tomcat等)、數據庫服務器等各個環節組成。
♦在交付給客戶上線使用以前,業務系統的每一個環節都要進行性能測試和優化,才能保證上線後的質量。每一個環節都要有專業人士協助性能的診斷和優化,這些專業人士包括:性能測試工程師、系統管理員、網絡工程師、DBA、程序設計人員等。
♦IT服務系統的性能測試與優化是一項複雜、富有挑戰性的工做,對於一個專業的測試人員而言,性能優化技術的學習和研究有利於性能測試工做的順利、深刻開展。
3.什麼是軟件的性能?
♦軟件性能是軟件的一種非功能特性,它關注的不是軟件是否可以完成特定的功能,而是在完成該功能時展現出來的及時性。因爲感覺軟件性能的主體是人,不一樣的人對於一樣的軟件能有不一樣的主觀感覺,並且不一樣的人對於軟件性能關心的視角也不一樣。因爲目前網絡應用很是廣泛,所以下面將介紹網絡應用軟件性能的指標和軟件性能的視角。
4.軟件的性能測試是什麼?
♦百度詞條定義:性能測試是經過自動化的測試工具模擬多種正常峯值及異常負載條件來對系統的各項性能指標進行測試。負載測試和壓力測試都屬於性能測試。經過負載測試,肯定在各類工做負載下系統的性能,目標是當負載逐漸增長時,測試系統各項性能指標的變化狀況。壓力測試是經過肯定一個系統的瓶頸或者不能接受的性能點,來得到系統提供的最大服務級別的測試。
♦維基百科定義:在計算機領域,軟件性能測試被用來判斷計算機、網絡、軟件程序或者驅動的速度和效率。這一過程會在同一實驗環境下進行大量測試,以便於衡量系統功能的相應時長或者MIPS(每秒執行指令數目)等指標,其餘系統特性,如可靠性、可量測試、互用性等,也能夠用性能測試來衡量,性能測試一般與壓力測試一塊兒進行。
我理解:1.性能測試須要圍繞影響軟件幾個因素,並結合客戶提出的一些性能要求,來展開性能測試,
2.還有一些在特定環境下的性能測試,如:集羣環境,網絡不穩,電源不穩定下,等等是否達到一個客戶需求的一個指標。
5.功能測試和性能測試對比?
♦功能測試主要根據產品業務需求、產品行業特徵、模擬用戶操做方式來測試一個產品的特性以肯定它們是否知足用戶需求。
♦性能測試則是經過某種特定的方式對被測試系統按照必定的測試策略進行施壓,獲取該系統的響應時間、運行效率、資源利用狀況等各項性能指標,來評價系統是否知足用戶性能需求的過程。
通俗地說,功能測試用於確保軟件系統作了正確的事情,性能測試則用於確保軟件系統快速地完成了任務。
因此筆者認爲:能夠不作自動化,可是在保證功能的前提下,下來就是要考慮性能了,由於面對挑剔的使用羣體,咱們要作到快,準,狠。
6.項目組不一樣角色眼中的軟件性能?
一、系統管理員眼中的軟件性能
系統管理員做爲軟件系統的運維人員,主要關注服務器的資源使用情況、系統的擴展性、系統支持的最大用戶量、系統穩定性,以及系統可能出現的瓶頸、出現異常的狀況下如何處理等。
二、研發人員眼中的軟件性能
做爲研發人員,他們會更關注軟件系統架構設計的合理性、數據庫的設計是否存在問題、代碼是否存在性能方面問題、內存使用方式是否正確、線程同步方式是否合理、是否存在不合理的資源競爭等。
三、測試人員眼中的軟件性能
測試人員是軟件性能質量的把關者,在軟件性能生命週期中佔據相當重要的位置,軟件性能測試工程師要對性能問題進行監控、分析及模擬實際使用過程當中所出現的性能問題。還要跟各個角色作好溝通工做,對測試出的各類性能問題,要提供充分有力的數據,爲後續的分析和定位性能問題、性能優化工做作好充分的準備。
7.性能測試的目的是什麼?
性能測試目的驗證軟件系統是否可以達到用戶提供的性能指標,同時發現存在的性能瓶頸,最好起到優化的目的。
一、評估系統的能力:主要從測試結果中的負荷和響應時間,併發用戶等數據驗證系統的各項指標達到用戶需求
二、識別體系中的弱點:根據測試過程當中的負荷或代碼走差方式找出系統的極端或繁瑣的代碼邏輯,從而找到體系中的瓶頸或薄弱地方
三、系統調優:重複進行性能測試,驗證系統活動是否達到預期結果,從而進行改進
四、檢測軟件中的問題:主要查找一些隱含的問題或者硬件引起的問題。主要方法大量的重複測試驗證
五、驗證穩定性和可靠性:不但要驗證系統的穩定性和可靠性,還要驗證人爲因素的穩定性。
8.性能測試分類是什麼?
一、負載測試::閒時負載量。經過測試系統在資源超負荷狀況下的表現來發現設計上的錯誤或驗證系統的負載能力。目標是肯定並確保系統在超出最大預期工做量的狀況下仍能正常運行。還用來評估性能特徵,如響應時長、事務處理速度等
二、壓力測試:極限負載量。對系統不斷施加壓力的測試,判斷系統能提供的最大服務級別。例如測試一個web站點,通過不斷加壓判斷出達到多少用戶併發的時候服務響應失效。
三、容量測試:支持的最大數量
9.性能測試指標是什麼?
系統指標:
一、併發用戶數:某一物理時刻同時向系統提交請求的用戶數
二、平均響應時間:系統處理事務的響應時間的平均值。事務的響應時間是從客戶端提交訪問請求到客戶端接收到服務器響應所消耗的時間。對於系統快速響應類頁面,通常響應時間小於2秒
三、事務成功率:性能測試中,定義事務用於度量一個或者多個業務流程的性能指標,如用戶登陸、保存訂單、提交訂單操做都可定義爲事務
四、平均響應時間:對於客戶端用戶來講,最直觀的體驗就是訪問該頁面快或者慢,即響應時間的長短。好比在持續併發性能測試過程當中,客戶感知訪問應用很慢,監控到的平均響應時間也逐漸變長,這時就須要先借助於監控到的資源指標
資源指標:
一、CPU使用率:指用戶進程與系統進程消耗的CPU時間百分比,長時間狀況下,通常可接受上限不超過85%
二、內存利用率:內存利用率=(1-空閒內存/總內存大小)*100%,通常至少有10%可用內存,內存使用率可接受上限爲85%
三、磁盤I/O: 磁盤主要用於存取數據,所以當說到IO操做的時候,就會存在兩種相對應的操做,存數據的時候對應的是寫IO操做,取數據的時候對應的是讀IO操做,通常使用% Disk Time(磁盤用於讀寫操做所佔用的時間百分比)度量磁盤讀寫性能
四、網絡帶寬:通常使用計數器Bytes Total/sec來度量,Bytes Total/sec表示爲發送和接收字節的速率,包括幀字符在內。判斷網絡鏈接速度是不是瓶頸,能夠用該計數器的值和目前網絡的帶寬比較
10.性能測試基本流程是什麼?
一、確性能測試需求
二、制定性能測試方案
重點描述如何進行性能測試,和功能測試方案基本一致,可是必須明確關鍵功能的相應時長和用戶數,例如查詢功能平均使用次數xx,平均用戶數xx,高峯段用戶數xx,平均相應小於xx秒,可接受最長響應時長小於xx秒,使用時間段8點到12點
三、編寫性能測試案例
和功能測試用例基本一致
四、執行性能測試案例
五、分析結果
六、生成性能測試報告
測試報告儘可能寫的非專業人士也能夠讀懂。主要的部分要有測試基本信息、測試環境、執行狀況、結果分析、總結說明。還能夠給出一些建議方案
11.性能測試的方法有哪些?
1.使用工具:jmeter,.Loadrunner11(適合作大併發)
2.性能測試的幾種方法後面詳細寫出來。
12.影響軟件性能的因素有哪些?
在下面中講到影響軟件性能的因素(二)。
部分摘自:什麼是性能測試(二)