版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
性能測試知識總結1ppt課件性能測試知識總結1ppt課件目錄基礎理論測試流程常用工具LoadRunner使用實例2ppt課件目錄基礎理論測試流程常用工具LoadRunner使用實例2前言
隨著軟件行業(yè)的快速發(fā)展,現(xiàn)代的軟件系統(tǒng)越來越復雜,功能越來越多,測試人員除了需要保證基本的功能測試質(zhì)量,性能也隨越來越受到人們的關注。但是一提到性能測試,很多人就直接連想到Loadrunner。認為LR就等于性能測試,其實這是不對的。LR只是性能測試的一個工具,但性能測試不僅僅是LR。本文會從以下幾個方面介紹基礎的性能測試理論,后續(xù)也會持續(xù)更新相關文章,盡量理論結合實踐,讓性能測試學習不在是工具的學習。3ppt課件前言隨著軟件行業(yè)的快速發(fā)展,現(xiàn)代的軟件系統(tǒng)基礎理論什么是軟件性能.不同人眼里的性能.性能測試類型.性能測試應用場景.性能測試基本概念.做好性能測試需要掌握的知識.4ppt課件基礎理論什么是軟件性能.不同人眼里的性能.性能測試類型.性能
定義:軟件的性能是軟件的一種非功能特性,它關注的不是軟件是否能夠完成特定的功能,而是在完成該功能時展示出來的及時性。由定義可知性能關注的是軟件的非功能特性,所以一般來說性能測試介入的時機是在功能測試完成之后。另外,由定義中的及時性可知性能也是一種指標,可以用時間或其它指標來衡量,通常我們會使用某些工具或手段來檢測軟件的某些指標是否達到了要求,這就是性能測試。
性能測試定義:指通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統(tǒng)的各項性能指標進行測試。什么是軟件性能5ppt課件
定義:軟件的性能是軟件的一種非功能特性,它關注的不是軟件是不同的人由于人生觀、世界觀、價值觀以及教育背景、知識體系、人生閱歷的不同,對于同一事物或問題的看法可能不同。對于軟件性能也是如此,不同的人由于視角的不同,所關注的點也可能不同。下面來看看在不同的人群眼中性能分別是什么樣的。不同用戶群眼中的性能6ppt課件不同的人由于人生觀、世界觀、價值觀以及教育背景上帝視角7ppt課件上帝7ppt課件測試眼中的性能是什么樣的呢?測試人員通常是做為軟件質(zhì)量控制的一個角色,不僅僅是找bug,需要對整個軟件的質(zhì)量負責,性能也屬于質(zhì)量的一部分,因此測試人員眼中的性能應該是全面的,考慮的東西也需要全面:測試人員需要考慮全面的性能,包括用戶、開發(fā)、管理員等各個視角的性能。測試人員在做性能測試時除開要關注表面的現(xiàn)象如響應時間,也需要關注本質(zhì),比如用戶看不到的服務器資料利用率,架構設計是否合理?代碼是否合理等言方方面面。8ppt課件測試眼中的性能是什么樣的呢?測試人員通常是做為軟件質(zhì)量在給系統(tǒng)施加較低壓力時,查看系統(tǒng)的運行狀況并記錄相關數(shù)做為基礎參考.是指對系統(tǒng)不斷地增加壓力或增加一定壓力下的持續(xù)時間,直到系統(tǒng)的某項或多項性能指標達到安全臨界值,例如某種資源已經(jīng)達到飽和狀態(tài)等.壓力測試是評估系統(tǒng)處于或超過預期負載時系統(tǒng)的運行情況,關注點在于系統(tǒng)在峰值負載或超出最大載荷情況下的處理能力.性能測試類型基準測試負載測試壓力測試9ppt課件在給系統(tǒng)施加較低壓力時,查看系統(tǒng)的運行狀況并記錄相關數(shù)做為基在給系統(tǒng)加載一定業(yè)務壓力的情況下,使系統(tǒng)運行一段時間,以此檢測系統(tǒng)是否穩(wěn)定.性能測試類型穩(wěn)定性測試測試多個用戶同時訪問同一個應用、同一個模塊或者數(shù)據(jù)記錄時是否存在死鎖或者其他性能問題.并發(fā)測試10ppt課件在給系統(tǒng)加載一定業(yè)務壓力的情況下,使系統(tǒng)運行一段時間,以此檢1、性能測試應用場景(領域)主要有:能力驗證、規(guī)劃能力、性能調(diào)優(yōu)、缺陷發(fā)現(xiàn)、性能基準比較,下表簡單介紹和對比了這幾個場景的各自用途和特點:性能測試應用場景(領域)11ppt課件1、性能測試應用場景(領域)主要有:能力驗證、規(guī)劃能力、性能性能測試應用場景(領域)12ppt課件性能測試應用場景(領域)12ppt課件2、通常在某個性能場景(領域)中需要聯(lián)合使用多種性能測試方法一起進行性能測試,下表為性能測試應用領域與測試方法關聯(lián):性能測試應用場景(領域)13ppt課件2、通常在某個性能場景(領域)中需要聯(lián)合使用多種性能測試方法1、響應時間定義:從用戶發(fā)送一個請求到用戶接收到服務器返回的響應數(shù)據(jù)這段時間就是響應時間關鍵路徑:下圖為一次http請求經(jīng)過的路徑,請求會經(jīng)過網(wǎng)絡發(fā)送到web服務器進行處理,如果需要操作DB,再由網(wǎng)絡轉(zhuǎn)發(fā)到數(shù)據(jù)庫進行處理,然后返回值給web服務器,web服務器最后把結果數(shù)據(jù)通過網(wǎng)絡返回給客戶端。性能測試基本概念14ppt課件1、響應時間性能測試基本概念14ppt課件計算方法:Responsetime=(N1+N2+N3+N4)+(A1+A2+a3),即:(網(wǎng)絡時間+應用程序處理時間)響應時間-負載對應關系:圖中拐點說明:響應時間突然增加意味著系統(tǒng)的一種或多種資源利用達到的極限通??梢岳霉拯c來進行性能測試分析與定位性能測試基本概念15ppt課件計算方法:Responsetime=(N1+N2+N32、吞吐量定義:單位時間內(nèi)系統(tǒng)處理的客戶端請求的數(shù)量計算單位:一般使用請求數(shù)/秒做為吞吐量的單位,出可以使用
頁面數(shù)/秒表表示。另外,從業(yè)務角度來說也可以使用
訪問人數(shù)
/天或頁面訪問量/天做為單位。計算方法:Throughput=(numberofrequests)/(totaltime).吞吐量-負載對應關系:圖中拐點說明:吞吐量逐漸達到飽和意味著系統(tǒng)的一種或多種資源利用達到的極限通常可以利用拐點來進行性能測試分析與定位性能測試基本概念16ppt課件2、吞吐量性能測試基本概念16ppt課件3、并發(fā)數(shù):并發(fā)用戶數(shù):某一物理時刻同時向系統(tǒng)提交請求的用戶數(shù),提交的請求可能是同一個場景或功能,也可以是不同場景或功能。在線用戶數(shù):某段時間內(nèi)訪問系統(tǒng)的用戶數(shù),這些用戶并不一定同時向系統(tǒng)提交請求系統(tǒng)用戶數(shù):系統(tǒng)注冊的總用戶數(shù)據(jù)三者之間的關系:系統(tǒng)用戶數(shù)>=在線用戶數(shù)
>=并發(fā)用戶數(shù)性能測試基本概念17ppt課件3、并發(fā)數(shù):性能測試基本概念17ppt課件4、資源利用率定義:指的是對不同系統(tǒng)資源的使用程度,通常以占用最大值的百分比來衡量通常需要關注的服務器資源如下:CPU:就像人的大腦,主要負責相關事情的判斷以及實際處理的機制內(nèi)存:大腦中的記憶塊區(qū),將眼睛,皮膚等收集到的信息記錄起來的地方,以供cpu進行判斷,但是是臨時的,訪問速度快,如果關機或斷電這里的數(shù)據(jù)會消失。磁盤IO:大腦中的記憶區(qū)塊,將重要的數(shù)據(jù)保存起來(永久保存,關機或斷電不會丟失,速度慢),以便將來再次使用這些數(shù)據(jù)。網(wǎng)絡:資源利用-負載對應關系:圖中拐點說明:服務器某薦資源使用逐漸達到飽和通??梢岳霉拯c來進行性能測試分析與定位性能測試基本概念18ppt課件4、資源利用率性能測試基本概念18ppt課件5、其它常用概念:TPS:TransactionsPerSecond,每秒事務數(shù)思考時間:用戶每個操作后的暫停時間,或者叫操作之間的間隔時間,此時間內(nèi)是不對服務器產(chǎn)生壓力的點擊數(shù):每秒鐘用戶向WEB服務器提交的HTTP請求數(shù)。這個指標是WEB應用特有的一個指標:WEB應用是"請求-響應"模式,用戶發(fā)出一次申請,服務器就要處理一次,所以點擊是WEB應用能夠處理的交易的最小單位。如果把每次點擊定義為一個交易,點擊率和TPS就是一個概念。容易看出,點擊率越大,對服務器的壓力越大。點擊率只是一個性能參考指標,重要的是分析點擊時產(chǎn)生的影響。需要注意的是,這里的點擊并非指鼠標的一次單擊操作,因為在一次單擊操作中,客戶端可能向服務器發(fā)出多個HTTP請求.PV:訪問一個URL,產(chǎn)生一個PV(PageView,頁面訪問量),每日每個網(wǎng)站的總PV量是形容一個網(wǎng)站規(guī)模的重要指標。UV:作為一個獨立的用戶,訪問站點的所有頁面均算作一個UV(UniqueVisitor,用戶訪問)性能測試基本概念19ppt課件5、其它常用概念:性能測試基本概念19ppt課件掌握一門編程語言掌握計算機原理和操作系統(tǒng)知識良好的網(wǎng)絡基礎掌握數(shù)據(jù)庫知識中間件(apache,tomcat)常用抓包工具性能測試工具做好性能測試需要掌握的知識20ppt課件掌握一門編程語言做好性能測試需要掌握的知識20ppt課件基礎理論測試流程工具選型LoadRunner使用實例21ppt課件基礎理論測試流程工具選型LoadRunner使用實例21pp測試流程需求分析報告與總結結果分析與調(diào)優(yōu)測試執(zhí)行測試準備項目22ppt課件測試流程需求分析報告結果分析測試執(zhí)行測試準備項目22ppt課23ppt課件23ppt課件性能需求分析是整個性能測試工作開展的基礎,如果連性能的需求都沒弄清楚,后面的性能測試執(zhí)行其實是沒有任何意義的,而且性能需求分析做的好不好直接影響到性能測試的結果。一些性能測試人員常犯的錯誤就是測試一開始就直接用工具對系統(tǒng)進行加壓,沒有弄清楚性能測試的目的,稀里糊涂做完了以后也不知道結果是否滿足性能需求。市面上的書籍也大都是直接講性能測試工具如LR,jmeter如何使用,導致很多新手一提到性能測試就直接拿工具來進行錄制回放,使得很多人認為會使用性能測試工具就等于會性能測試了,殊不知工具其實只是性能測試過程中很小的一部分。在需求分析階段,測試人員需要與項目相關的人員進行溝通,收集各種項目資料,對系統(tǒng)進行分析,建立性能測試數(shù)據(jù)模型,并將其轉(zhuǎn)化為可衡量的具體性能指標,確認測試的目標。所以性能測試需求分析過程是繁雜的,需要測試人員有深厚的性能理論知識,除此之外還需要懂一些數(shù)學建模的知識來幫助我們建立性能測試模型。一、性能需求分析24ppt課件性能需求分析是整個性能測試工作開展的基礎,如果明確倒底要不要做性能測試?性能測試的目的是什么?明確被測系統(tǒng)是什么?被測試系統(tǒng)的相關技術信息如:架構、平臺、協(xié)議等明確被測系統(tǒng)的基本業(yè)務、關鍵業(yè)務,用戶行為明確性能測試點是什么?哪些需要測,為什么?哪些不需要測,又是為什么?明確被測系統(tǒng)未來的業(yè)務拓展規(guī)劃以及性能需求?明確性能測試策略,即應該怎么測試?明確性能測試的指標,知道測試出來的結果怎么算通過?性能需求分析需要得出的結論或目標25ppt課件明確倒底要不要做性能測試?性能測試的目的是什么?性能需求分析1、系統(tǒng)信息調(diào)研指對被測試系統(tǒng)進行分析,需要對其有全面的了解和認識,這是我們做好性能測試的前提,而且在后續(xù)進行性能分析和調(diào)優(yōu)時將會大有用處,試想如果連系統(tǒng)的架構、協(xié)議都不了解,我們?nèi)绾芜M行準確的性能測試?如果進行性能分析與調(diào)優(yōu)?需要分析的系統(tǒng)信息如下(包括但不僅限于如下這些):性能需求分析的切入點26ppt課件1、系統(tǒng)信息調(diào)研性能需求分析的切入點26ppt課件2、業(yè)務信息調(diào)研指對被測試的業(yè)務進行分析,通過對業(yè)務的分析和了解,方便我們后續(xù)進行性能測試場景的確定以及性能測試指標的確定。需要分析的業(yè)務信息如下(包括但不僅限于如下這些):性能需求分析的切入點27ppt課件2、業(yè)務信息調(diào)研性能需求分析的切入點27ppt課件3、性能需求評估在實施性能測試之前,我們需要對被測系統(tǒng)做相應的評估,主要目的是明確是否需要做性能測試。如果確定需要做性能測試,需要進一步確立性能測試點和指標,明確該測什么、性能指標是多少,測試通過or不通過的標準?性能指標也會根據(jù)情況評估,要求被測系統(tǒng)能滿足將來一定時間段的業(yè)務壓力。判斷是否進行性能測試主要從下面兩個方面進行思考:業(yè)務角度系統(tǒng)是公司內(nèi)部or對外?系統(tǒng)使用的人數(shù)的多少?如果一個系統(tǒng)上線后基本沒幾個人使用,無論系統(tǒng)多大,設計多么復雜,并發(fā)性的性能測試都是沒必要的,前期可以否決。當然,除非在功能測試階段發(fā)現(xiàn)非常明顯的性能問題,使得用戶體驗較差的,此時可進行性能測試來排查問題。性能需求分析的切入點28ppt課件3、性能需求評估性能需求分析的切入點28ppt課件系統(tǒng)角度:系統(tǒng)又可以從以下3個方面進行分析系統(tǒng)架構:
如果一個系統(tǒng)采用的框架是老的系統(tǒng)框架(通常大公司都有自己的統(tǒng)一框架),只是在此框架上增加一些應用,其實是沒有必要做性能測試,因為老框架的使用肯定是經(jīng)過了驗證的。如果一個系統(tǒng)采用的是一種新的框架,可以考慮做性能測試。數(shù)據(jù)庫要求很多情況下,性能測試是大數(shù)據(jù)量的并發(fā)訪問、修改數(shù)據(jù)庫,而瓶頸在于連接數(shù)據(jù)庫池的數(shù)量,而非數(shù)據(jù)庫本身的負載、吞吐能力。這時,可以結合DBA的建議,來決定是否來做性能測試。系統(tǒng)特殊要求從實時性角度來分析,某些系統(tǒng)對響應時間要求比較高,比如證券系統(tǒng),系統(tǒng)的快慢直接影響客戶的收益,這種情況就有作并發(fā)測試的必要,在大并發(fā)量的場景下,查看這個功能的響應時間。從大數(shù)據(jù)量上傳下載角度分析,某些系統(tǒng)經(jīng)常需要進行較大數(shù)據(jù)量的上傳和下載操作,雖然此種操作使用的人數(shù)不會太多,但是也有必要進行性能測試,確定系統(tǒng)能處理的最大容量,如果超過這個容量時系統(tǒng)需要進行相關控制,避免由于不人工誤操作導致系統(tǒng)內(nèi)存溢出或崩潰。性能需求分析的切入點29ppt課件系統(tǒng)角度:系統(tǒng)又可以從以下3個方面進行分析性能需求分析的切入4、確定性能測試點在上面第3點中,我們簡單分析了如何確定一個系統(tǒng)是否需要做性能測試。下面簡單總結下如果一個系統(tǒng)確定要做性能測試,我們?nèi)绾未_定被測系統(tǒng)的性能測試點?我們可以從下面幾個方面進行分析:性能需求分析的切入點30ppt課件4、確定性能測試點性能需求分析的切入點30ppt課件關鍵業(yè)務:確定被測項目是否屬于關鍵業(yè)務,有哪些主要的業(yè)務邏輯點,特別是跟交易相關的功能點。例如轉(zhuǎn)賬,扣款等接口。如果項目(或功能點)不屬于關鍵業(yè)務(或關鍵業(yè)務點),則可轉(zhuǎn)入下面。日請求量:確定被測項目各功能點的日請求量(可以統(tǒng)計不同時間粒度下的請求量如:小時,日,周,月)。如果日請求量很高,系統(tǒng)壓力很大,而且又是關鍵業(yè)務,該項目需要做性能測試,而且關鍵業(yè)務點,可以被確定為性能點。邏輯復雜度:判定被測項目各功能點的邏輯復雜度。如果一個主要業(yè)務的日請求量不高,但是邏輯很復雜,則也需要通過性能測試。原因是,在分布式方式的調(diào)用中,當某一個環(huán)節(jié)響應較慢,就會影響到其它環(huán)節(jié),造成雪崩效應。運營推廣活動:根據(jù)運營的推廣計劃來判定待測系統(tǒng)未來的壓力。未雨綢繆、防患于未然、降低運營風險是性能測試的主要目標。被測系統(tǒng)的性能不僅能滿足當前壓力,更需要滿足未來一定時間段內(nèi)的壓力。因此,事先了解運營推廣計劃,對性能點的制定有很大的作用。例如,運營計劃做活動,要求系統(tǒng)每天能支撐多少PV、多少UV,或者一個季度后,需要能支撐多大的訪問量等等數(shù)據(jù)。當新項目(或功能點)屬于運營重點推廣計劃范疇之內(nèi),則該項目(或功能點)也需要做性能測試。以上4點,是相輔相成、環(huán)環(huán)相扣的。在實際工作中應該具體問題具體分析。例如,當一個功能點不滿足以上4點,但又屬于資源高消耗(內(nèi)存、CPU),也可列入性能測試點行列。性能需求分析的切入點31ppt課件關鍵業(yè)務:確定被測項目是否屬于關鍵業(yè)務,有哪些主要的業(yè)務邏輯5、確定性能指標性能需求分析一個很重要的目標就是需要確定后期性能分析用的性能指標,性能指標有很多,可以根據(jù)具體項目選取和設定,而具體的指標值則需要根據(jù)業(yè)務特點進行設定,比如響應時間、TPS、吞吐量、系統(tǒng)資源消耗等。性能需求分析的切入點32ppt課件5、確定性能指標性能需求分析的切入點32ppt課件1、測試環(huán)境準備:
系統(tǒng)運行環(huán)境:這個通常就是我們的測試環(huán)境,有些時候需求比較多,做性能測試擔心把環(huán)境搞跨了影響其它的功能測試,可能需要重新搭建一套專門用來做性能測試的環(huán)境。
執(zhí)行機環(huán)境:這個就是用來生成負載的執(zhí)行機,通常需要在物理機上運行,而物理機又是稀缺資源,所以我們每次做性能測試都需要提前準備好執(zhí)行機環(huán)境。二、性能測試準備33ppt課件1、測試環(huán)境準備:二、性能測試準備33ppt課件2、測試場景設計:
根據(jù)性能需求分析來設計符合用戶使用習慣的場景,場景設計的好不好直接影響到性能測試的效果。二、性能測試準備34ppt課件2、測試場景設計:二、性能測試準備34ppt課件3、性能工具準備:負載工具:根據(jù)需求分析和系統(tǒng)特點選擇合適的負載工具,比如LR、Jmeter等監(jiān)控工具:準備性能測試時的服務器資源、JVM、數(shù)據(jù)庫監(jiān)控工具,以便進行后續(xù)的性能測試分析與調(diào)優(yōu)。二、性能測試準備35ppt課件3、性能工具準備:二、性能測試準備35ppt課件4、測試腳本準備:如果性能測試工具不能滿足被測系統(tǒng)的要求或只能滿足部分要求時,需要我們自己開發(fā)腳本配合工具進行性能測試。二、性能測試準備36ppt課件4、測試腳本準備:二、性能測試準備36ppt課件5、測試數(shù)據(jù)準備:負載測試數(shù)據(jù):并發(fā)測試時需要多少數(shù)據(jù)?比如登錄場景?DB數(shù)據(jù)量大?。簽榱吮M量符合生產(chǎn)場景,需要模擬線上大量數(shù)據(jù)情況,那么要往數(shù)據(jù)庫里提前插入一定的數(shù)據(jù)量。這可能需要花費一些時間,特點是關聯(lián)系統(tǒng)較多,邏輯復雜的業(yè)務可能同時涉及多張表。6、其它:
如果需要其它其它關聯(lián)系統(tǒng)或?qū)I(yè)人士如DBA配合的,也需要提前進行溝通。二、性能測試準備37ppt課件5、測試數(shù)據(jù)準備:二、性能測試準備37ppt課件1、人工邊執(zhí)行邊分析:通常我們做性能測試都是人工執(zhí)行并隨時觀察系統(tǒng)運行的情況、資源的使用率等指標。性能測試的吸引力之一就在于它的不可預知性。當我們在做性能測試的時候遇到跟預期不符的情況很正常,這個時候需要冷靜的分析。但這個過程可能會很慢長,需要不斷的調(diào)整系統(tǒng)配置或程序代碼來定位問題,耗時耗人力。特別是在當前敏捷開發(fā)模式比較流行的大環(huán)境下,版本發(fā)布非常頻繁且版本周期短(通常1~2周一個版本),沒有那么長的時間來做性能測試。2、無人值守執(zhí)行性能測試無人值守是最理想化的目標,目前我們也朝著這個方向努力。無人值守不是說沒有人力介入,而是把人為的分析和執(zhí)行過程分離,執(zhí)行過程只是機器服從指令的運行而已。通常測試環(huán)境在白天比較繁忙,出現(xiàn)性能問題及定位難度較大且會影響功能測試。所以一般性能測試最好在晚上或周末進行,在相對較安靜的條件有利于測試結果的穩(wěn)定性。這種方法也相對比較適合敏捷的模式,不需要人工一直守著。只需要在拿到結果后進行分析就好了。同進,這種方式對測試人員能力的要求比較高,需要我們能進行自動化的收集各種監(jiān)控數(shù)據(jù)、生成報表便于后續(xù)分析。三、性能測試執(zhí)行38ppt課件1、人工邊執(zhí)行邊分析:三、性能測試執(zhí)行38ppt課件關于性能分析與調(diào)優(yōu)是一個比較大的話題,后續(xù)會單獨進行總結和分析。三、結果分析和調(diào)優(yōu)39ppt課件關于性能分析與調(diào)優(yōu)是一個比較大的話題,后續(xù)會單獨進行總結和性能測試報告是性能測試的里程碑,通過報告能展示出性能測試的最終成果,展示系統(tǒng)性能是否符合需求,是否有性能隱患。性能測試報告中需要闡明性能測試目標、性能測試環(huán)境、性能測試數(shù)據(jù)構造規(guī)則、性能測試策略、性能測試結果、性能測試調(diào)優(yōu)說明、性能測試過程中遇到的問題和解決辦法等。性能測試工程師完成該次性能測試后,需要將測試結果進行備案,并做為下次性能測試的基線標準,具體包括性能測試結果數(shù)據(jù)、性能測試瓶頸和調(diào)優(yōu)方案等。同時需要將測試過程中遇到的問題,包括代碼瓶頸、配置項問題、數(shù)據(jù)問題和溝通問題,以及解決辦法或解決方案,進行知識沉淀。五、測試報告與總結40ppt課件性能測試報告是性能測試的里程碑,通過報告能展示常用性能測試工具41ppt課件常用性能測試工具41ppt課件LoadRunner使用42ppt課件LoadRunner使用42ppt課件實例
接下來以積分商城抽獎、全積分兌換操作實例進行講解。43ppt課件實例接下來以積分商城抽獎、全積分兌換操作實例進行講解。4ThankYou!44ppt課件ThankYou!44ppt課件性能測試知識總結45ppt課件性能測試知識總結1ppt課件目錄基礎理論測試流程常用工具LoadRunner使用實例46ppt課件目錄基礎理論測試流程常用工具LoadRunner使用實例2前言
隨著軟件行業(yè)的快速發(fā)展,現(xiàn)代的軟件系統(tǒng)越來越復雜,功能越來越多,測試人員除了需要保證基本的功能測試質(zhì)量,性能也隨越來越受到人們的關注。但是一提到性能測試,很多人就直接連想到Loadrunner。認為LR就等于性能測試,其實這是不對的。LR只是性能測試的一個工具,但性能測試不僅僅是LR。本文會從以下幾個方面介紹基礎的性能測試理論,后續(xù)也會持續(xù)更新相關文章,盡量理論結合實踐,讓性能測試學習不在是工具的學習。47ppt課件前言隨著軟件行業(yè)的快速發(fā)展,現(xiàn)代的軟件系統(tǒng)基礎理論什么是軟件性能.不同人眼里的性能.性能測試類型.性能測試應用場景.性能測試基本概念.做好性能測試需要掌握的知識.48ppt課件基礎理論什么是軟件性能.不同人眼里的性能.性能測試類型.性能
定義:軟件的性能是軟件的一種非功能特性,它關注的不是軟件是否能夠完成特定的功能,而是在完成該功能時展示出來的及時性。由定義可知性能關注的是軟件的非功能特性,所以一般來說性能測試介入的時機是在功能測試完成之后。另外,由定義中的及時性可知性能也是一種指標,可以用時間或其它指標來衡量,通常我們會使用某些工具或手段來檢測軟件的某些指標是否達到了要求,這就是性能測試。
性能測試定義:指通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統(tǒng)的各項性能指標進行測試。什么是軟件性能49ppt課件
定義:軟件的性能是軟件的一種非功能特性,它關注的不是軟件是不同的人由于人生觀、世界觀、價值觀以及教育背景、知識體系、人生閱歷的不同,對于同一事物或問題的看法可能不同。對于軟件性能也是如此,不同的人由于視角的不同,所關注的點也可能不同。下面來看看在不同的人群眼中性能分別是什么樣的。不同用戶群眼中的性能50ppt課件不同的人由于人生觀、世界觀、價值觀以及教育背景上帝視角51ppt課件上帝7ppt課件測試眼中的性能是什么樣的呢?測試人員通常是做為軟件質(zhì)量控制的一個角色,不僅僅是找bug,需要對整個軟件的質(zhì)量負責,性能也屬于質(zhì)量的一部分,因此測試人員眼中的性能應該是全面的,考慮的東西也需要全面:測試人員需要考慮全面的性能,包括用戶、開發(fā)、管理員等各個視角的性能。測試人員在做性能測試時除開要關注表面的現(xiàn)象如響應時間,也需要關注本質(zhì),比如用戶看不到的服務器資料利用率,架構設計是否合理?代碼是否合理等言方方面面。52ppt課件測試眼中的性能是什么樣的呢?測試人員通常是做為軟件質(zhì)量在給系統(tǒng)施加較低壓力時,查看系統(tǒng)的運行狀況并記錄相關數(shù)做為基礎參考.是指對系統(tǒng)不斷地增加壓力或增加一定壓力下的持續(xù)時間,直到系統(tǒng)的某項或多項性能指標達到安全臨界值,例如某種資源已經(jīng)達到飽和狀態(tài)等.壓力測試是評估系統(tǒng)處于或超過預期負載時系統(tǒng)的運行情況,關注點在于系統(tǒng)在峰值負載或超出最大載荷情況下的處理能力.性能測試類型基準測試負載測試壓力測試53ppt課件在給系統(tǒng)施加較低壓力時,查看系統(tǒng)的運行狀況并記錄相關數(shù)做為基在給系統(tǒng)加載一定業(yè)務壓力的情況下,使系統(tǒng)運行一段時間,以此檢測系統(tǒng)是否穩(wěn)定.性能測試類型穩(wěn)定性測試測試多個用戶同時訪問同一個應用、同一個模塊或者數(shù)據(jù)記錄時是否存在死鎖或者其他性能問題.并發(fā)測試54ppt課件在給系統(tǒng)加載一定業(yè)務壓力的情況下,使系統(tǒng)運行一段時間,以此檢1、性能測試應用場景(領域)主要有:能力驗證、規(guī)劃能力、性能調(diào)優(yōu)、缺陷發(fā)現(xiàn)、性能基準比較,下表簡單介紹和對比了這幾個場景的各自用途和特點:性能測試應用場景(領域)55ppt課件1、性能測試應用場景(領域)主要有:能力驗證、規(guī)劃能力、性能性能測試應用場景(領域)56ppt課件性能測試應用場景(領域)12ppt課件2、通常在某個性能場景(領域)中需要聯(lián)合使用多種性能測試方法一起進行性能測試,下表為性能測試應用領域與測試方法關聯(lián):性能測試應用場景(領域)57ppt課件2、通常在某個性能場景(領域)中需要聯(lián)合使用多種性能測試方法1、響應時間定義:從用戶發(fā)送一個請求到用戶接收到服務器返回的響應數(shù)據(jù)這段時間就是響應時間關鍵路徑:下圖為一次http請求經(jīng)過的路徑,請求會經(jīng)過網(wǎng)絡發(fā)送到web服務器進行處理,如果需要操作DB,再由網(wǎng)絡轉(zhuǎn)發(fā)到數(shù)據(jù)庫進行處理,然后返回值給web服務器,web服務器最后把結果數(shù)據(jù)通過網(wǎng)絡返回給客戶端。性能測試基本概念58ppt課件1、響應時間性能測試基本概念14ppt課件計算方法:Responsetime=(N1+N2+N3+N4)+(A1+A2+a3),即:(網(wǎng)絡時間+應用程序處理時間)響應時間-負載對應關系:圖中拐點說明:響應時間突然增加意味著系統(tǒng)的一種或多種資源利用達到的極限通??梢岳霉拯c來進行性能測試分析與定位性能測試基本概念59ppt課件計算方法:Responsetime=(N1+N2+N32、吞吐量定義:單位時間內(nèi)系統(tǒng)處理的客戶端請求的數(shù)量計算單位:一般使用請求數(shù)/秒做為吞吐量的單位,出可以使用
頁面數(shù)/秒表表示。另外,從業(yè)務角度來說也可以使用
訪問人數(shù)
/天或頁面訪問量/天做為單位。計算方法:Throughput=(numberofrequests)/(totaltime).吞吐量-負載對應關系:圖中拐點說明:吞吐量逐漸達到飽和意味著系統(tǒng)的一種或多種資源利用達到的極限通常可以利用拐點來進行性能測試分析與定位性能測試基本概念60ppt課件2、吞吐量性能測試基本概念16ppt課件3、并發(fā)數(shù):并發(fā)用戶數(shù):某一物理時刻同時向系統(tǒng)提交請求的用戶數(shù),提交的請求可能是同一個場景或功能,也可以是不同場景或功能。在線用戶數(shù):某段時間內(nèi)訪問系統(tǒng)的用戶數(shù),這些用戶并不一定同時向系統(tǒng)提交請求系統(tǒng)用戶數(shù):系統(tǒng)注冊的總用戶數(shù)據(jù)三者之間的關系:系統(tǒng)用戶數(shù)>=在線用戶數(shù)
>=并發(fā)用戶數(shù)性能測試基本概念61ppt課件3、并發(fā)數(shù):性能測試基本概念17ppt課件4、資源利用率定義:指的是對不同系統(tǒng)資源的使用程度,通常以占用最大值的百分比來衡量通常需要關注的服務器資源如下:CPU:就像人的大腦,主要負責相關事情的判斷以及實際處理的機制內(nèi)存:大腦中的記憶塊區(qū),將眼睛,皮膚等收集到的信息記錄起來的地方,以供cpu進行判斷,但是是臨時的,訪問速度快,如果關機或斷電這里的數(shù)據(jù)會消失。磁盤IO:大腦中的記憶區(qū)塊,將重要的數(shù)據(jù)保存起來(永久保存,關機或斷電不會丟失,速度慢),以便將來再次使用這些數(shù)據(jù)。網(wǎng)絡:資源利用-負載對應關系:圖中拐點說明:服務器某薦資源使用逐漸達到飽和通??梢岳霉拯c來進行性能測試分析與定位性能測試基本概念62ppt課件4、資源利用率性能測試基本概念18ppt課件5、其它常用概念:TPS:TransactionsPerSecond,每秒事務數(shù)思考時間:用戶每個操作后的暫停時間,或者叫操作之間的間隔時間,此時間內(nèi)是不對服務器產(chǎn)生壓力的點擊數(shù):每秒鐘用戶向WEB服務器提交的HTTP請求數(shù)。這個指標是WEB應用特有的一個指標:WEB應用是"請求-響應"模式,用戶發(fā)出一次申請,服務器就要處理一次,所以點擊是WEB應用能夠處理的交易的最小單位。如果把每次點擊定義為一個交易,點擊率和TPS就是一個概念。容易看出,點擊率越大,對服務器的壓力越大。點擊率只是一個性能參考指標,重要的是分析點擊時產(chǎn)生的影響。需要注意的是,這里的點擊并非指鼠標的一次單擊操作,因為在一次單擊操作中,客戶端可能向服務器發(fā)出多個HTTP請求.PV:訪問一個URL,產(chǎn)生一個PV(PageView,頁面訪問量),每日每個網(wǎng)站的總PV量是形容一個網(wǎng)站規(guī)模的重要指標。UV:作為一個獨立的用戶,訪問站點的所有頁面均算作一個UV(UniqueVisitor,用戶訪問)性能測試基本概念63ppt課件5、其它常用概念:性能測試基本概念19ppt課件掌握一門編程語言掌握計算機原理和操作系統(tǒng)知識良好的網(wǎng)絡基礎掌握數(shù)據(jù)庫知識中間件(apache,tomcat)常用抓包工具性能測試工具做好性能測試需要掌握的知識64ppt課件掌握一門編程語言做好性能測試需要掌握的知識20ppt課件基礎理論測試流程工具選型LoadRunner使用實例65ppt課件基礎理論測試流程工具選型LoadRunner使用實例21pp測試流程需求分析報告與總結結果分析與調(diào)優(yōu)測試執(zhí)行測試準備項目66ppt課件測試流程需求分析報告結果分析測試執(zhí)行測試準備項目22ppt課67ppt課件23ppt課件性能需求分析是整個性能測試工作開展的基礎,如果連性能的需求都沒弄清楚,后面的性能測試執(zhí)行其實是沒有任何意義的,而且性能需求分析做的好不好直接影響到性能測試的結果。一些性能測試人員常犯的錯誤就是測試一開始就直接用工具對系統(tǒng)進行加壓,沒有弄清楚性能測試的目的,稀里糊涂做完了以后也不知道結果是否滿足性能需求。市面上的書籍也大都是直接講性能測試工具如LR,jmeter如何使用,導致很多新手一提到性能測試就直接拿工具來進行錄制回放,使得很多人認為會使用性能測試工具就等于會性能測試了,殊不知工具其實只是性能測試過程中很小的一部分。在需求分析階段,測試人員需要與項目相關的人員進行溝通,收集各種項目資料,對系統(tǒng)進行分析,建立性能測試數(shù)據(jù)模型,并將其轉(zhuǎn)化為可衡量的具體性能指標,確認測試的目標。所以性能測試需求分析過程是繁雜的,需要測試人員有深厚的性能理論知識,除此之外還需要懂一些數(shù)學建模的知識來幫助我們建立性能測試模型。一、性能需求分析68ppt課件性能需求分析是整個性能測試工作開展的基礎,如果明確倒底要不要做性能測試?性能測試的目的是什么?明確被測系統(tǒng)是什么?被測試系統(tǒng)的相關技術信息如:架構、平臺、協(xié)議等明確被測系統(tǒng)的基本業(yè)務、關鍵業(yè)務,用戶行為明確性能測試點是什么?哪些需要測,為什么?哪些不需要測,又是為什么?明確被測系統(tǒng)未來的業(yè)務拓展規(guī)劃以及性能需求?明確性能測試策略,即應該怎么測試?明確性能測試的指標,知道測試出來的結果怎么算通過?性能需求分析需要得出的結論或目標69ppt課件明確倒底要不要做性能測試?性能測試的目的是什么?性能需求分析1、系統(tǒng)信息調(diào)研指對被測試系統(tǒng)進行分析,需要對其有全面的了解和認識,這是我們做好性能測試的前提,而且在后續(xù)進行性能分析和調(diào)優(yōu)時將會大有用處,試想如果連系統(tǒng)的架構、協(xié)議都不了解,我們?nèi)绾芜M行準確的性能測試?如果進行性能分析與調(diào)優(yōu)?需要分析的系統(tǒng)信息如下(包括但不僅限于如下這些):性能需求分析的切入點70ppt課件1、系統(tǒng)信息調(diào)研性能需求分析的切入點26ppt課件2、業(yè)務信息調(diào)研指對被測試的業(yè)務進行分析,通過對業(yè)務的分析和了解,方便我們后續(xù)進行性能測試場景的確定以及性能測試指標的確定。需要分析的業(yè)務信息如下(包括但不僅限于如下這些):性能需求分析的切入點71ppt課件2、業(yè)務信息調(diào)研性能需求分析的切入點27ppt課件3、性能需求評估在實施性能測試之前,我們需要對被測系統(tǒng)做相應的評估,主要目的是明確是否需要做性能測試。如果確定需要做性能測試,需要進一步確立性能測試點和指標,明確該測什么、性能指標是多少,測試通過or不通過的標準?性能指標也會根據(jù)情況評估,要求被測系統(tǒng)能滿足將來一定時間段的業(yè)務壓力。判斷是否進行性能測試主要從下面兩個方面進行思考:業(yè)務角度系統(tǒng)是公司內(nèi)部or對外?系統(tǒng)使用的人數(shù)的多少?如果一個系統(tǒng)上線后基本沒幾個人使用,無論系統(tǒng)多大,設計多么復雜,并發(fā)性的性能測試都是沒必要的,前期可以否決。當然,除非在功能測試階段發(fā)現(xiàn)非常明顯的性能問題,使得用戶體驗較差的,此時可進行性能測試來排查問題。性能需求分析的切入點72ppt課件3、性能需求評估性能需求分析的切入點28ppt課件系統(tǒng)角度:系統(tǒng)又可以從以下3個方面進行分析系統(tǒng)架構:
如果一個系統(tǒng)采用的框架是老的系統(tǒng)框架(通常大公司都有自己的統(tǒng)一框架),只是在此框架上增加一些應用,其實是沒有必要做性能測試,因為老框架的使用肯定是經(jīng)過了驗證的。如果一個系統(tǒng)采用的是一種新的框架,可以考慮做性能測試。數(shù)據(jù)庫要求很多情況下,性能測試是大數(shù)據(jù)量的并發(fā)訪問、修改數(shù)據(jù)庫,而瓶頸在于連接數(shù)據(jù)庫池的數(shù)量,而非數(shù)據(jù)庫本身的負載、吞吐能力。這時,可以結合DBA的建議,來決定是否來做性能測試。系統(tǒng)特殊要求從實時性角度來分析,某些系統(tǒng)對響應時間要求比較高,比如證券系統(tǒng),系統(tǒng)的快慢直接影響客戶的收益,這種情況就有作并發(fā)測試的必要,在大并發(fā)量的場景下,查看這個功能的響應時間。從大數(shù)據(jù)量上傳下載角度分析,某些系統(tǒng)經(jīng)常需要進行較大數(shù)據(jù)量的上傳和下載操作,雖然此種操作使用的人數(shù)不會太多,但是也有必要進行性能測試,確定系統(tǒng)能處理的最大容量,如果超過這個容量時系統(tǒng)需要進行相關控制,避免由于不人工誤操作導致系統(tǒng)內(nèi)存溢出或崩潰。性能需求分析的切入點73ppt課件系統(tǒng)角度:系統(tǒng)又可以從以下3個方面進行分析性能需求分析的切入4、確定性能測試點在上面第3點中,我們簡單分析了如何確定一個系統(tǒng)是否需要做性能測試。下面簡單總結下如果一個系統(tǒng)確定要做性能測試,我們?nèi)绾未_定被測系統(tǒng)的性能測試點?我們可以從下面幾個方面進行分析:性能需求分析的切入點74ppt課件4、確定性能測試點性能需求分析的切入點30ppt課件關鍵業(yè)務:確定被測項目是否屬于關鍵業(yè)務,有哪些主要的業(yè)務邏輯點,特別是跟交易相關的功能點。例如轉(zhuǎn)賬,扣款等接口。如果項目(或功能點)不屬于關鍵業(yè)務(或關鍵業(yè)務點),則可轉(zhuǎn)入下面。日請求量:確定被測項目各功能點的日請求量(可以統(tǒng)計不同時間粒度下的請求量如:小時,日,周,月)。如果日請求量很高,系統(tǒng)壓力很大,而且又是關鍵業(yè)務,該項目需要做性能測試,而且關鍵業(yè)務點,可以被確定為性能點。邏輯復雜度:判定被測項目各功能點的邏輯復雜度。如果一個主要業(yè)務的日請求量不高,但是邏輯很復雜,則也需要通過性能測試。原因是,在分布式方式的調(diào)用中,當某一個環(huán)節(jié)響應較慢,就會影響到其它環(huán)節(jié),造成雪崩效應。運營推廣活動:根據(jù)運營的推廣計劃來判定待測系統(tǒng)未來的壓力。未雨綢繆、防患于未然、降低運營風險是性能測試的主要目標。被測系統(tǒng)的性能不僅能滿足當前壓力,更需要滿足未來一定時間段內(nèi)的壓力。因此,事先了解運營推廣計劃,對性能點的制定有很大的作用。例如,運營計劃做活動,要求系統(tǒng)每天能支撐多少PV、多少UV,或者一個季度后,需要能支撐多大的訪問量等等數(shù)據(jù)。當新項目(或功能點)屬于運營重點推廣計劃范疇之內(nèi),則該項目(或功能點)也需要做性能測試。以上4點,是相輔相成、環(huán)環(huán)相扣的。在實際工作中應該具體問題具體分析。例如,當一個功能點不滿足以上4點,但又屬于資源高消耗(內(nèi)存、CPU),也可列入性能測試點行列。性能需求分析的切入點75ppt課件關鍵業(yè)務:確定被測項目是否屬于關鍵業(yè)務,有哪些主要的業(yè)務邏輯5、確定性能指標性能需求分析一個很重要的目標就是需要確定后期性能分析用的性能指標,性能指標有很多,可以根據(jù)具體項目選取和設定,而具體的指標值則需要根據(jù)業(yè)務特點進行設定,比如響應時間、TPS、吞吐量、系統(tǒng)資源消耗等。性能需求分析的切入點76ppt課件5、確定性能指標性能需求分析的切入點32ppt課件1、測試環(huán)境準備:
系統(tǒng)運行環(huán)境:這個通常就是我們的測試環(huán)境,有些時候需求比較多,做性能測試擔心把環(huán)境搞跨了影響其它的功能測試,可能需要重新搭建一套專門用來做性能測試的環(huán)境。
執(zhí)行機環(huán)境:這個就是用來生成負載的執(zhí)行機,通常需要在物理機上運行,而物理機又是稀缺資源,所以我們每次做性能測試都需要提前準備好執(zhí)行機環(huán)境。二、性能測試準
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年山東商務職業(yè)學院單招職業(yè)適應性測試題庫附答案詳解
- 2026年汝州職業(yè)技術學院單招職業(yè)技能考試題庫含答案詳解
- 2026年四川工商職業(yè)技術學院單招職業(yè)適應性測試題庫含答案詳解
- 2026年廣東科貿(mào)職業(yè)學院單招職業(yè)傾向性測試題庫及答案詳解一套
- 2026年蘇州工業(yè)園區(qū)服務外包職業(yè)學院單招職業(yè)適應性考試題庫及參考答案詳解1套
- 四川省成都市蓉城名校聯(lián)盟2024-2025學年高二上學期期中考試英語考試英語參考答案及評分標準
- 開魯事業(yè)編面試題及答案
- 機構研究報告-中國短劇出海商業(yè)生態(tài)分析報告-培訓課件
- 西藏自治區(qū)財政廳2026年度引進急需緊缺人才15人備考題庫完整參考答案詳解
- 環(huán)境安全生產(chǎn)責任制度
- 2025年期貨從業(yè)資格考試題庫及完整答案(奪冠)
- 2025年醫(yī)療器械監(jiān)督管理條例培訓試題及參考答案
- 2025江蘇蘇州市昆山開發(fā)區(qū)招聘編外輔助人員29人(公共基礎知識)綜合能力測試題附答案解析
- 2025廣西柳州城市職業(yè)學院人才招聘28人(公共基礎知識)測試題附答案解析
- 22064,22877,23041,11041,59969《管理學基礎》國家開放大學期末考試題庫
- 加盟連鎖經(jīng)營政策分析與實施方案
- 電纜路徑檢測協(xié)議書
- 《烹飪工藝學》期末考試復習題庫(附答案)
- 片區(qū)供熱管網(wǎng)連通工程可行性研究報告
- 課件《法律在我身邊》
- 2025年文職倉庫保管員考試題及答案
評論
0/150
提交評論