




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、目目 錄錄 基礎(chǔ)理論基礎(chǔ)理論 測試流程 常用工具 LoadRunner使用 實例 前前 言言 隨著軟件行業(yè)的快速發(fā)展,現(xiàn)代的軟件系統(tǒng)越來越復(fù)雜,功能 越來越多,測試人員除了需要保證基本的功能測試質(zhì)量,性能也隨越 來越受到人們的關(guān)注。但是一提到性能測試,很多人就直接連想到 Loadrunner。認(rèn)為LR就等于性能測試,其實這是不對的。LR只是性 能測試的一個工具,但性能測試不僅僅是LR。本文會從以下幾個方 面介紹基礎(chǔ)的性能測試?yán)碚?,后續(xù)也會持續(xù)更新相關(guān)文章,盡量理論 結(jié)合實踐,讓性能測試學(xué)習(xí)不在是工具的學(xué)習(xí)。 基礎(chǔ)理論基礎(chǔ)理論 什么是軟件性能. 不同人眼里的性能. 性能測試類型. 性能測試應(yīng)用場
2、景. 性能測試基本概念. 做好性能測試需要掌握的知識. v 定義定義:軟件的性能是軟件的一種非功能特性非功能特性,它關(guān)注的不是軟件是 否能夠完成特定的功能,而是在完成該功能時展示出來的及時性及時性。 由定義可知性能關(guān)注的是軟件的非功能特性,所以一般來說性能 測試介入的時機是在功能測試完成之后。另外,由定義中的及時性可 知性能也是一種指標(biāo),可以用時間或其它指標(biāo)來衡量,通常我們會使 用某些工具或手段來檢測軟件的某些指標(biāo)是否達(dá)到了要求,這就是性 能測試。 v 性能性能測試定義測試定義:指通過自動化的測試工具模擬多種正常、峰值以及 異常負(fù)載條件來對系統(tǒng)的各項性能指標(biāo)進(jìn)行測試。 什么是軟件性能 不同的人
3、由于人生觀、世界觀、價值觀以及教育背景、知識體系、 人生閱歷的不同,對于同一事物或問題的看法可能不同。對于軟件性 能也是如此,不同的人由于視角的不同,所關(guān)注的點也可能不同。下 面來看看在不同的人群眼中性能分別是什么樣的。 不同用戶群眼中的性能 上帝 視角 測試眼中的性能是什么樣的呢?測試眼中的性能是什么樣的呢? 測試人員通常是做為軟件質(zhì)量控制的 一個角色,不僅僅是找bug,需要對整個 軟件的質(zhì)量負(fù)責(zé),性能也屬于質(zhì)量的一部 分,因此測試人員眼中的性能應(yīng)該是全面 的,考慮的東西也需要全面: v測試人員需要考慮全面的性能,包括 用戶、開發(fā)、管理員等各個視角的性 能。 v測試人員在做性能測試時除開要關(guān)
4、注 表面的現(xiàn)象如響應(yīng)時間,也需要關(guān)注 本質(zhì),比如用戶看不到的服務(wù)器資料 利用率,架構(gòu)設(shè)計是否合理?代碼是 否合理等言方方面面。 在給系統(tǒng)施加較低壓力時,查看系統(tǒng)的運 行狀況并記錄相關(guān)數(shù)做為基礎(chǔ)參考. 是指對系統(tǒng)不斷地增加壓力或增加一定壓 力下的持續(xù)時間,直到系統(tǒng)的某項或多項 性能指標(biāo)達(dá)到安全臨界值,例如某種資源 已經(jīng)達(dá)到飽和狀態(tài)等 . 壓力測試是評估系統(tǒng)處于或超過預(yù)期負(fù)載 時系統(tǒng)的運行情況,關(guān)注點在于系統(tǒng)在峰 值負(fù)載或超出最大載荷情況下的處理能力. 性能測試性能測試 類型類型 基準(zhǔn)測試 負(fù)載測試 壓力測試 在給系統(tǒng)加載一定業(yè)務(wù)壓力的情況下,使 系統(tǒng)運行一段時間,以此檢測系統(tǒng)是否穩(wěn) 定. 性能測
5、試性能測試 類型類型 穩(wěn)定性測 試 測試多個用戶同時訪問同一個應(yīng)用、同一 個模塊或者數(shù)據(jù)記錄時是否存在死鎖或者 其他性能問題. 并發(fā)測試 1、性能測試應(yīng)用場景(領(lǐng)域)主要有:能力驗證、規(guī)劃能力、性能調(diào)優(yōu)、 缺陷發(fā)現(xiàn)、性能基準(zhǔn)比較,下表簡單介紹和對比了這幾個場景的各自用 途和特點: 性能性能測試應(yīng)用場景(領(lǐng)域)測試應(yīng)用場景(領(lǐng)域) 性能性能測試應(yīng)用場景(領(lǐng)域)測試應(yīng)用場景(領(lǐng)域) 主要用途主要用途典型場景典型場景 特點特點 常用性能常用性能 測試方法測試方法 能力驗證關(guān)注在給定的軟硬件 條件下,系統(tǒng)能否具 有預(yù)期的能力表現(xiàn) 在要求平均響應(yīng)時間 小于2秒的前提下,如 何判斷系統(tǒng)是否能夠 支持50萬
6、用戶/天的訪 問量? a)要求在已確定的環(huán) 境下運行 b)需要根據(jù)典型場景 設(shè)計測試方案和用例, 包括操作序列和并發(fā) 用戶量,需要明確的 性能目標(biāo)。 a)負(fù)載測試 b)壓力測試 c)穩(wěn)定性能測試 規(guī)劃能力關(guān)注如何使系統(tǒng)具有 我們要求的性能能力 某某系統(tǒng)計劃在一年 內(nèi)獲客量在到xxx萬, 系統(tǒng)到時候是否能支 持這么多用戶量?如 果不能需要如何調(diào)整 系統(tǒng)的配置? a) 它是一種探索性的 測試 b) 常用于了解系統(tǒng)性 能和獲得擴展性能的 方法 a) 負(fù)載測試 b) 壓力測試 c) 配置測試 性能調(diào)優(yōu) 主要用于對系統(tǒng)性能 進(jìn)行調(diào)優(yōu) 某某系統(tǒng)上線運行一 段時間后響應(yīng)速度越 來越慢,此時應(yīng)該如 何辦? 每
7、次只改變一個配置, 切忌無 休止的調(diào)優(yōu) a) 并發(fā)測試 b) 壓力測試 c) 配置測試 缺陷發(fā)現(xiàn) 發(fā)現(xiàn)缺陷或問題重現(xiàn)、 定位手段 某些缺陷只有在高負(fù) 載的情況下才能暴露 出來,如線程鎖、資 源競爭或內(nèi)存泄露。 做為系統(tǒng)測試的補充, 用來發(fā)現(xiàn)并發(fā)問題, 或是對系統(tǒng)已經(jīng)出現(xiàn) 的問題進(jìn)行重現(xiàn)和定 位 a) 并發(fā)測試 b) 壓力測試 性能基準(zhǔn)比較常用于敏捷開發(fā)過程中,敏捷開發(fā)流程的特點是小步快走,快速試錯,迭代周期短,需求變化頻繁。 很難定義完善的性能測試目標(biāo),也沒有時間在每個迭代開展詳細(xì)的性能測試,可以通過建立性能基 線,通過比較每次迭代中的性能表現(xiàn)變化,判斷迭代是否達(dá)到了目標(biāo)。 2、通常在某個性能
8、場景(領(lǐng)域)中需要聯(lián)合使用多種性能測試方法一起 進(jìn)行性能測試,下表為性能測試應(yīng)用領(lǐng)域與測試方法關(guān)聯(lián): 性能性能測試應(yīng)用場景(領(lǐng)域)測試應(yīng)用場景(領(lǐng)域) 能力驗證規(guī)劃能力性能調(diào)優(yōu)缺陷發(fā)現(xiàn)性能基準(zhǔn)比較 基準(zhǔn)測試 負(fù)載測試 壓力測試 并發(fā)測試 穩(wěn)定性測試 1、響應(yīng)時間、響應(yīng)時間 v 定義:從用戶發(fā)送一個請求到用戶接收到服務(wù)器返回的響應(yīng)數(shù)據(jù)這段 時間就是響應(yīng)時間 v 關(guān)鍵路徑:下圖為一次http請求經(jīng)過的路徑,請求會經(jīng)過網(wǎng)絡(luò)發(fā)送到 web服務(wù)器進(jìn)行處理,如果需要操作DB,再由網(wǎng)絡(luò)轉(zhuǎn)發(fā)到數(shù)據(jù)庫進(jìn) 行處理,然后返回值給web服務(wù)器,web服務(wù)器最后把結(jié)果數(shù)據(jù)通過 網(wǎng)絡(luò)返回給客戶端。 性能測試基本概念性能測
9、試基本概念 v 計算方法:Response time = (N1+N2+N3+N4)+ (A1+A2+a3),即: (網(wǎng)絡(luò)時間 + 應(yīng)用程序處理時間) v 響應(yīng)時間-負(fù)載對應(yīng)關(guān)系: 圖中拐點說明: v 響應(yīng)時間突然增加 v 意味著系統(tǒng)的一種或多種資源利用達(dá)到的極限 v 通??梢岳霉拯c來進(jìn)行性能測試分析與定位 性能測試基本概念性能測試基本概念 2、吞吐量、吞吐量 v定義:單位時間內(nèi)系統(tǒng)處理的客戶端請求的數(shù)量 v計算單位:一般使用請求數(shù)秒做為吞吐量的單位,出可以使用 頁面數(shù)秒表表示。 另外,從業(yè)務(wù)角度來說也可以使用 訪問人數(shù) /天 或 頁面訪問量天 做為單位。 v計算方法:Throughput
10、= (number of requests) / (total time). v吞吐量-負(fù)載對應(yīng)關(guān)系: 圖圖中拐點說明:中拐點說明: v吞吐量逐漸達(dá)到飽和 v意味著系統(tǒng)的一種或多種資源利用達(dá)到的極限 v通??梢岳霉拯c來進(jìn)行性能測試分析與定位 性能測試基本概念性能測試基本概念 3、并發(fā)數(shù)、并發(fā)數(shù): v 并發(fā)并發(fā)用戶數(shù)用戶數(shù):某一物理時刻同時向系統(tǒng)提交請求的用戶數(shù),提交的請 求可能是同一個場景或功能,也可以是不同場景或功能。 v 在線在線用戶數(shù)用戶數(shù):某段時間內(nèi)訪問系統(tǒng)的用戶數(shù),這些用戶并不一定同時 向系統(tǒng)提交請求 v 系統(tǒng)系統(tǒng)用戶數(shù)用戶數(shù):系統(tǒng)注冊的總用戶數(shù)據(jù) 三三者之間的關(guān)系:者之間的關(guān)系:
11、系統(tǒng)用戶數(shù) = 在線用戶數(shù) = 并發(fā)用戶數(shù) 性能測試基本概念性能測試基本概念 4、資源利用率、資源利用率 v定義:指的是對不同系統(tǒng)資源的使用程度,通常以占用最大值的百分比來衡量 v通常需要關(guān)注的服務(wù)器資源如下: n CPU:就像人的大腦,主要負(fù)責(zé)相關(guān)事情的判斷以及實際處理的機制 n 內(nèi)存:大腦中的記憶塊區(qū),將眼睛,皮膚等收集到的信息記錄起來的地方,以供cpu 進(jìn)行判斷,但是是臨時的,訪問速度快,如果關(guān)機或斷電這里的數(shù)據(jù)會消失。 n 磁盤IO:大腦中的記憶區(qū)塊,將重要的數(shù)據(jù)保存起來(永久保存,關(guān)機或斷電不會 丟失,速度慢),以便將來再次使用這些數(shù)據(jù)。 n 網(wǎng)絡(luò): v資源利用-負(fù)載對應(yīng)關(guān)系: v圖
12、中拐點說明: n 服務(wù)器某薦資源使用逐漸達(dá)到飽和 n 通??梢岳霉拯c來進(jìn)行性能測試分析與定位 性能測試基本概念性能測試基本概念 5、其它常用概念:、其它常用概念: vTPS:Transactions Per Second,每秒事務(wù)數(shù) v思考思考時間:時間:用戶每個操作后的暫停時間,或者叫操作之間的間隔時間,此時間內(nèi)是不對服務(wù)器產(chǎn)生 壓力的 v點擊點擊數(shù)數(shù):每秒鐘用戶向WEB服務(wù)器提交的HTTP請求數(shù)。這個指標(biāo)是WEB應(yīng)用特有的一個指標(biāo):WEB 應(yīng)用是請求-響應(yīng)模式,用戶發(fā)出一次申請,服務(wù)器就要處理一次,所以點擊是WEB應(yīng)用能夠處理的 交易的最小單位。如果把每次點擊定義為一個交易,點擊率和TP
13、S就是一個概念。容易看出,點擊 率越大,對服務(wù)器的壓力越大。點擊率只是一個性能參考指標(biāo),重要的是分析點擊時產(chǎn)生的影響。 需要注意的是,這里的點擊并非指鼠標(biāo)的一次單擊操作,因為在一次單擊操作中,客戶端可能向服 務(wù)器發(fā)出多個HTTP請求. vPV:訪問一個URL,產(chǎn)生一個PV(Page View,頁面訪問量),每日每個網(wǎng)站的總PV量是形容一個 網(wǎng)站規(guī)模的重要指標(biāo)。 vUV:作為一個獨立的用戶,訪問站點的所有頁面均算作一個UV(Unique Visitor,用戶訪問) 性能測試基本概念性能測試基本概念 v 掌握一門編程語言 v 掌握計算機原理和操作系統(tǒng)知識 v 良好的網(wǎng)絡(luò)基礎(chǔ) v 掌握數(shù)據(jù)庫知識 v
14、 中間件(apache,tomcat) v 常用抓包工具 v 性能測試工具 做好性能做好性能測試需要測試需要掌握的知識掌握的知識 基礎(chǔ)理論 測試流程測試流程 工具選型 LoadRunner使用 實例 測試測試流程流程 需求分析需求分析 報告報告 與總結(jié)與總結(jié) 結(jié)果分析結(jié)果分析 與與 調(diào)優(yōu)調(diào)優(yōu) 測試執(zhí)行測試執(zhí)行 測試準(zhǔn)備測試準(zhǔn)備 項目項目 性能需求分析是整個性能測試工作開展的基礎(chǔ),如果連性能的需求都沒弄清楚,后面的 性能測試執(zhí)行其實是沒有任何意義的,而且性能需求分析做的好不好直接影響到性能測試的 結(jié)果。 一些性能測試人員常犯的錯誤就是測試一開始就直接用工具對系統(tǒng)進(jìn)行加壓,沒有弄清 楚性能測試的目
15、的,稀里糊涂做完了以后也不知道結(jié)果是否滿足性能需求。市面上的書籍也 大都是直接講性能測試工具如LR,jmeter如何使用,導(dǎo)致很多新手一提到性能測試就直接 拿工具來進(jìn)行錄制回放,使得很多人認(rèn)為會使用性能測試工具就等于會性能測試了,殊不知 工具其實只是性能測試過程中很小的一部分。 在需求分析階段,測試人員需要與項目相關(guān)的人員進(jìn)行溝通,收集各種項目資料,對 系統(tǒng)進(jìn)行分析,建立性能測試數(shù)據(jù)模型,并將其轉(zhuǎn)化為可衡量的具體性能指標(biāo),確認(rèn)測試的 目標(biāo)。所以性能測試需求分析過程是繁雜的,需要測試人員有深厚的性能理論知識,除此之 外還需要懂一些數(shù)學(xué)建模的知識來幫助我們建立性能測試模型。 一、性能需求一、性能需
16、求分析分析 v明確倒底要不要做性能測試?性能測試的目的是什么? v明確被測系統(tǒng)是什么?被測試系統(tǒng)的相關(guān)技術(shù)信息如:架構(gòu)、平臺、協(xié)議等 v明確被測系統(tǒng)的基本業(yè)務(wù)、關(guān)鍵業(yè)務(wù),用戶行為 v明確性能測試點是什么?哪些需要測,為什么?哪些不需要測,又是為什么? v明確被測系統(tǒng)未來的業(yè)務(wù)拓展規(guī)劃以及性能需求? v明確性能測試策略,即應(yīng)該怎么測試? v明確性能測試的指標(biāo),知道測試出來的結(jié)果怎么算通過? 性能需求分析需要得出的結(jié)論或目標(biāo)性能需求分析需要得出的結(jié)論或目標(biāo) 1、系統(tǒng)信息調(diào)研、系統(tǒng)信息調(diào)研 指對被測試系統(tǒng)進(jìn)行分析,需要 對其有全面的了解和認(rèn)識,這是我們 做好性能測試的前提,而且在后續(xù)進(jìn) 行性能分析和
17、調(diào)優(yōu)時將會大有用處, 試想如果連系統(tǒng)的架構(gòu)、協(xié)議都不了 解,我們?nèi)绾芜M(jìn)行準(zhǔn)確的性能測試? 如果進(jìn)行性能分析與調(diào)優(yōu)? 需要分析的系統(tǒng)信息如下(包括但不 僅限于如下這些): 性能需求分析的切入點性能需求分析的切入點 2、業(yè)務(wù)信息、業(yè)務(wù)信息調(diào)研調(diào)研 指對被測試的業(yè)務(wù)進(jìn)行分析,通過對業(yè)務(wù)的分析和了解,方便我們后續(xù)進(jìn)行性能測試場 景的確定以及性能測試指標(biāo)的確定。 需要分析的業(yè)務(wù)信息如下(包括但不僅限于如下這些): 性能需求分析的切入點性能需求分析的切入點 3、性能需求性能需求評估評估 在實施性能測試之前,我們需要對被測系統(tǒng)做相應(yīng)的評估,主要目的是明確是否需要做 性能測試。如果確定需要做性能測試,需要進(jìn)一
18、步確立性能測試點和指標(biāo),明確該測什么、 性能指標(biāo)是多少,測試通過or不通過的標(biāo)準(zhǔn)?性能指標(biāo)也會根據(jù)情況評估,要求被測系統(tǒng)能 滿足將來一定時間段的業(yè)務(wù)壓力。 判斷是否進(jìn)行性能測試主要從下面兩個方面進(jìn)行思考: v業(yè)務(wù)角度業(yè)務(wù)角度 系統(tǒng)是公司內(nèi)部 or 對外?系統(tǒng)使用的人數(shù)的多少?如果一個系統(tǒng)上線后基本沒幾個人使 用,無論系統(tǒng)多大,設(shè)計多么復(fù)雜,并發(fā)性的性能測試都是沒必要的,前期可以否決。當(dāng)然, 除非在功能測試階段發(fā)現(xiàn)非常明顯的性能問題,使得用戶體驗較差的,此時可進(jìn)行性能測試 來排查問題。 性能需求分析的切入點性能需求分析的切入點 v系統(tǒng)角度:系統(tǒng)角度:系統(tǒng)又可以從以下3個方面進(jìn)行分析 n系統(tǒng)架構(gòu):
19、 如果一個系統(tǒng)采用的框架是老的系統(tǒng)框架(通常大公司都有自己的統(tǒng)一框架),只是在此框架上增 加一些應(yīng)用,其實是沒有必要做性能測試,因為老框架的使用肯定是經(jīng)過了驗證的。如果一個系統(tǒng)采用的 是一種新的框架,可以考慮做性能測試。 n數(shù)據(jù)庫要求 很多情況下,性能測試是大數(shù)據(jù)量的并發(fā)訪問、修改數(shù)據(jù)庫,而瓶頸在于連接數(shù)據(jù)庫池的數(shù)量,而非 數(shù)據(jù)庫本身的負(fù)載、吞吐能力。這時,可以結(jié)合DBA的建議,來決定是否來做性能測試。 n系統(tǒng)特殊要求 p 從實時性角度來分析,某些系統(tǒng)對響應(yīng)時間要求比較高,比如證券系統(tǒng),系統(tǒng)的快慢直接影響客戶 的收益,這種情況就有作并發(fā)測試的必要,在大并發(fā)量的場景下,查看這個功能的響應(yīng)時間。
20、p 從大數(shù)據(jù)量上傳下載角度分析,某些系統(tǒng)經(jīng)常需要進(jìn)行較大數(shù)據(jù)量的上傳和下載操作,雖然此種操 作使用的人數(shù)不會太多,但是也有必要進(jìn)行性能測試,確定系統(tǒng)能處理的最大容量,如果超過這個容 量時系統(tǒng)需要進(jìn)行相關(guān)控制,避免由于不人工誤操作導(dǎo)致系統(tǒng)內(nèi)存溢出或崩潰。 性能需求分析的切入點性能需求分析的切入點 4、確定性能測試確定性能測試點點 在上面第3點中,我們簡單分析了如何確定一個系統(tǒng)是否需要做性能測試。下 面簡單總結(jié)下如果一個系統(tǒng)確定要做性能測試,我們?nèi)绾未_定被測系統(tǒng)的性能測 試點? 我們可以從下面幾個方面進(jìn)行分析: 性能需求分析的切入點性能需求分析的切入點 v關(guān)鍵業(yè)務(wù)關(guān)鍵業(yè)務(wù):確定被測項目是否屬于關(guān)鍵
21、業(yè)務(wù),有哪些主要的業(yè)務(wù)邏輯點,特別是跟交易相關(guān)的功能點。 例如轉(zhuǎn)賬,扣款等接口。如果項目(或功能點)不屬于關(guān)鍵業(yè)務(wù)(或關(guān)鍵業(yè)務(wù)點),則可轉(zhuǎn)入下面。 v日請求量日請求量:確定被測項目各功能點的日請求量(可以統(tǒng)計不同時間粒度下的請求量如:小時,日,周, 月)。如果日請求量很高,系統(tǒng)壓力很大,而且又是關(guān)鍵業(yè)務(wù),該項目需要做性能測試,而且關(guān)鍵業(yè) 務(wù)點,可以被確定為性能點。 v邏輯復(fù)雜度邏輯復(fù)雜度:判定被測項目各功能點的邏輯復(fù)雜度。如果一個主要業(yè)務(wù)的日請求量不高,但是邏輯很 復(fù)雜,則也需要通過性能測試。原因是,在分布式方式的調(diào)用中,當(dāng)某一個環(huán)節(jié)響應(yīng)較慢,就會影響 到其它環(huán)節(jié),造成雪崩效應(yīng)。 v運營推廣活
22、動運營推廣活動:根據(jù)運營的推廣計劃來判定待測系統(tǒng)未來的壓力。未雨綢繆、防患于未然、降低運營 風(fēng)險是性能測試的主要目標(biāo)。被測系統(tǒng)的性能不僅能滿足當(dāng)前壓力,更需要滿足未來一定時間段內(nèi)的 壓力。因此,事先了解運營推廣計劃,對性能點的制定有很大的作用。例如,運營計劃做活動,要求 系統(tǒng)每天能支撐多少 PV、多少 UV,或者一個季度后,需要能支撐多大的訪問量等等數(shù)據(jù)。當(dāng)新項 目(或功能點)屬于運營重點推廣計劃范疇之內(nèi),則該項目(或功能點)也需要做性能測試。 以上 4 點,是相輔相成、環(huán)環(huán)相扣的。在實際工作中應(yīng)該具體問題具體分析。例如,當(dāng)一個功能點不 滿足以上 4 點,但又屬于資源高消耗(內(nèi)存、CPU),也
23、可列入性能測試點行列。 性能需求分析的切入點性能需求分析的切入點 5、確定確定性能指標(biāo)性能指標(biāo) 性能需求分析一個很重要的目標(biāo)就是需要確定后期性能分析用的性能指標(biāo),性 能指標(biāo)有很多,可以根據(jù)具體項目選取和設(shè)定,而具體的指標(biāo)值則需要根據(jù)業(yè)務(wù) 特點進(jìn)行設(shè)定,比如響應(yīng)時間、TPS、吞吐量、系統(tǒng)資源消耗等。 性能需求分析的切入點性能需求分析的切入點 1、測試環(huán)境準(zhǔn)備:、測試環(huán)境準(zhǔn)備: n 系統(tǒng)運行環(huán)境:這個通常就是我們的測試環(huán)境,有些時候需求比較多,做性能測試擔(dān)心 把環(huán)境搞跨了影響其它的功能測試,可能需要重新搭建一套專門用來做性能測試的環(huán)境。 n 執(zhí)行機環(huán)境:這個就是用來生成負(fù)載的執(zhí)行機,通常需要在物理
24、機上運行,而物理機又 是稀缺資源,所以我們每次做性能測試都需要提前準(zhǔn)備好執(zhí)行機環(huán)境。 二、性能測試準(zhǔn)備二、性能測試準(zhǔn)備 2、測試場景設(shè)計、測試場景設(shè)計: 根據(jù)性能需求分析來設(shè)計符合用戶使用習(xí)慣的場景,場景設(shè)計的好不好直接影響到性能 測試的效果。 二、性能測試準(zhǔn)備二、性能測試準(zhǔn)備 3、性能工具準(zhǔn)備:、性能工具準(zhǔn)備: n負(fù)載工具:根據(jù)需求分析和系統(tǒng)特點選擇合適的負(fù)載工具,比如LR、Jmeter等 n監(jiān)控工具:準(zhǔn)備性能測試時的服務(wù)器資源、JVM、數(shù)據(jù)庫監(jiān)控工具,以便進(jìn)行后續(xù)的性 能測試分析與調(diào)優(yōu)。 二、性能測試準(zhǔn)備二、性能測試準(zhǔn)備 4、測試腳本準(zhǔn)備、測試腳本準(zhǔn)備: 如果性能測試工具不能滿足被測系統(tǒng)的
25、要求或只能滿足部分要求時,需要我們自己開發(fā) 腳本配合工具進(jìn)行性能測試。 二、性能測試準(zhǔn)備二、性能測試準(zhǔn)備 5、測試數(shù)據(jù)準(zhǔn)備:、測試數(shù)據(jù)準(zhǔn)備: n負(fù)載測試數(shù)據(jù):并發(fā)測試時需要多少數(shù)據(jù)?比如登錄場景? nDB數(shù)據(jù)量大?。簽榱吮M量符合生產(chǎn)場景,需要模擬線上大量數(shù)據(jù)情況,那么要往數(shù)據(jù) 庫里提前插入一定的數(shù)據(jù)量。這可能需要花費一些時間,特點是關(guān)聯(lián)系統(tǒng)較多,邏輯復(fù) 雜的業(yè)務(wù)可能同時涉及多張表。 6、其它、其它: 如果需要其它其它關(guān)聯(lián)系統(tǒng)或?qū)I(yè)人士如DBA配合的,也需要提前進(jìn)行溝通。 二、性能測試準(zhǔn)備二、性能測試準(zhǔn)備 1、人工邊執(zhí)行邊分析: 通常我們做性能測試都是人工執(zhí)行并隨時觀察系統(tǒng)運行的情況、資源的使用
26、率等指標(biāo)。 性能測試的吸引力之一就在于它的不可預(yù)知性。當(dāng)我們在做性能測試的時候遇到跟預(yù)期不符 的情況很正常,這個時候需要冷靜的分析。但這個過程可能會很慢長,需要不斷的調(diào)整系統(tǒng) 配置或程序代碼來定位問題,耗時耗人力。特別是在當(dāng)前敏捷開發(fā)模式比較流行的大環(huán)境下, 版本發(fā)布非常頻繁且版本周期短(通常12周一個版本),沒有那么長的時間來做性能測試。 2、無人值守執(zhí)行性能測試 無人值守是最理想化的目標(biāo),目前我們也朝著這個方向努力。無人值守不是說沒有人力 介入,而是把人為的分析和執(zhí)行過程分離,執(zhí)行過程只是機器服從指令的運行而已。通常測 試環(huán)境在白天比較繁忙,出現(xiàn)性能問題及定位難度較大且會影響功能測試。所以
27、一般性能測 試最好在晚上或周末進(jìn)行,在相對較安靜的條件有利于測試結(jié)果的穩(wěn)定性。這種方法也相對 比較適合敏捷的模式,不需要人工一直守著。只需要在拿到結(jié)果后進(jìn)行分析就好了。同進(jìn), 這種方式對測試人員能力的要求比較高,需要我們能進(jìn)行自動化的收集各種監(jiān)控數(shù)據(jù)、生成 報表便于后續(xù)分析。 三三、性能測試執(zhí)行、性能測試執(zhí)行 關(guān)于性能分析與調(diào)優(yōu)是一個比較大的話題,后續(xù)會單獨進(jìn)行總結(jié)和分析。 三三、結(jié)果分析和調(diào)優(yōu)、結(jié)果分析和調(diào)優(yōu) 性能測試報告是性能測試的里程碑,通過報告能展示出性能測試的最終成果,展示系統(tǒng) 性能是否符合需求,是否有性能隱患。性能測試報告中需要闡明性能測試目標(biāo)、性能測試環(huán) 境、性能測試數(shù)據(jù)構(gòu)造規(guī)則
28、、性能測試策略、性能測試結(jié)果、性能測試調(diào)優(yōu)說明、性能測試 過程中遇到的問題和解決辦法等。 性能測試工程師完成該次性能測試后,需要將測試結(jié)果進(jìn)行備案,并做為下次性能測試 的基線標(biāo)準(zhǔn),具體包括性能測試結(jié)果數(shù)據(jù)、性能測試瓶頸和調(diào)優(yōu)方案等。同時需要將測試過 程中遇到的問題,包括代碼瓶頸、配置項問題、數(shù)據(jù)問題和溝通問題,以及解決辦法或解決 方案,進(jìn)行知識沉淀。 五五、測試報告與總結(jié)、測試報告與總結(jié) 常用性能測試工具常用性能測試工具 LoadRunnerLoadRunner使用使用 實例實例 接下來以積分商城抽獎、全積分兌換操作實例進(jìn)行講解。 性能性能測試應(yīng)用場景(領(lǐng)域)測試應(yīng)用場景(領(lǐng)域) 主要用途主要
29、用途典型場景典型場景 特點特點 常用性能常用性能 測試方法測試方法 能力驗證關(guān)注在給定的軟硬件 條件下,系統(tǒng)能否具 有預(yù)期的能力表現(xiàn) 在要求平均響應(yīng)時間 小于2秒的前提下,如 何判斷系統(tǒng)是否能夠 支持50萬用戶/天的訪 問量? a)要求在已確定的環(huán) 境下運行 b)需要根據(jù)典型場景 設(shè)計測試方案和用例, 包括操作序列和并發(fā) 用戶量,需要明確的 性能目標(biāo)。 a)負(fù)載測試 b)壓力測試 c)穩(wěn)定性能測試 規(guī)劃能力關(guān)注如何使系統(tǒng)具有 我們要求的性能能力 某某系統(tǒng)計劃在一年 內(nèi)獲客量在到xxx萬, 系統(tǒng)到時候是否能支 持這么多用戶量?如 果不能需要如何調(diào)整 系統(tǒng)的配置? a) 它是一種探索性的 測試 b
30、) 常用于了解系統(tǒng)性 能和獲得擴展性能的 方法 a) 負(fù)載測試 b) 壓力測試 c) 配置測試 性能調(diào)優(yōu) 主要用于對系統(tǒng)性能 進(jìn)行調(diào)優(yōu) 某某系統(tǒng)上線運行一 段時間后響應(yīng)速度越 來越慢,此時應(yīng)該如 何辦? 每次只改變一個配置, 切忌無 休止的調(diào)優(yōu) a) 并發(fā)測試 b) 壓力測試 c) 配置測試 缺陷發(fā)現(xiàn) 發(fā)現(xiàn)缺陷或問題重現(xiàn)、 定位手段 某些缺陷只有在高負(fù) 載的情況下才能暴露 出來,如線程鎖、資 源競爭或內(nèi)存泄露。 做為系統(tǒng)測試的補充, 用來發(fā)現(xiàn)并發(fā)問題, 或是對系統(tǒng)已經(jīng)出現(xiàn) 的問題進(jìn)行重現(xiàn)和定 位 a) 并發(fā)測試 b) 壓力測試 性能基準(zhǔn)比較常用于敏捷開發(fā)過程中,敏捷開發(fā)流程的特點是小步快走,快速試錯,迭代周期短,需求變化頻繁。 很難定義完善的性能測試目標(biāo),也沒有時間在每個迭代開展詳細(xì)的性能測試,可以通過
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版七年級數(shù)學(xué)上冊《1.1正數(shù)與負(fù)數(shù)》同步測試題及答案
- 2025年法學(xué)概論考試的備考經(jīng)驗交流及試題及答案
- 年度培訓(xùn)與發(fā)展方案計劃
- 山東省青島市廣雅中學(xué)2025年數(shù)學(xué)八下期末達(dá)標(biāo)檢測試題含解析
- 實施教研活動常態(tài)化計劃
- 落實計劃的執(zhí)行力提升
- 行政程序的合法性與透明性研究試題及答案
- 服務(wù)器維護(hù)最佳實踐試題及答案
- 財務(wù)合規(guī)管理的重要性計劃
- 2025屆湖北省黃州思源實驗學(xué)校八年級數(shù)學(xué)第二學(xué)期期末統(tǒng)考試題含解析
- 三極管電路失效案例分析-全面剖析
- 河北單招試題及答案英語
- 護(hù)工考試題及答案
- 2025-2030年中國CAE軟件行業(yè)市場行情監(jiān)測及發(fā)展前景研判報告
- 江蘇南京歷年中考作文題(2002-2024)
- 隆胸護(hù)理查房
- 實驗員考試試題及答案
- 2025年黃山黟縣國有投資集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 離婚協(xié)議書 標(biāo)準(zhǔn)版電子版(2025年版)
- 服裝零售售后服務(wù)與退換貨流程
- 中醫(yī)各家學(xué)說(湖南中醫(yī)藥大學(xué))知到課后答案智慧樹章節(jié)測試答案2025年春湖南中醫(yī)藥大學(xué)
評論
0/150
提交評論