本書共10章,由性能測試基礎(chǔ)、LoadRunner性能測試和JMeter性能測試3部分組成。性能測試基礎(chǔ)主要介紹性能測試相關(guān)的基礎(chǔ)理論,為進一步學(xué)習(xí)LoadRunner、JMeter性能測試工具奠定基礎(chǔ)。LoadRunner性能測試聚焦于LoadRunner,深入剖析性能測試完整流程,結(jié)合實戰(zhàn)項目與同步訓(xùn)練鞏固知識根基,涵蓋LoadRunner基礎(chǔ)知識、腳本錄制與開發(fā)、場景創(chuàng)建執(zhí)行與監(jiān)控、測試結(jié)果分析、項目實戰(zhàn)、C Vuser腳本開發(fā)等。JMeter性能測試側(cè)重解析JMeter的應(yīng)用,涵蓋基礎(chǔ)知識、高級應(yīng)用及拓展應(yīng)用等。此外,本書還匯總了常見性能測試面試題目及國家軟考認(rèn)證考試題目,以便讀者體會性能測試的完整工作過程,真正跨入軟件性能測試領(lǐng)域的大門。
本書內(nèi)容全面、層次清晰、難易適中、注重理論與實踐融合,所采用的工具和項目同企業(yè)實際情況緊密結(jié)合,通過講練結(jié)合,使讀者更好地理解和掌握相應(yīng)知識,在實際工作中能靈活有效地開展測試工作。
本書可作為高等學(xué)校、示范性軟件學(xué)院、高職高專院校的計算機相關(guān)課程和軟件工程專業(yè)的教學(xué)用書,也可作為軟件培訓(xùn)機構(gòu)的教程,還可供從事軟件開發(fā)及測試工作的人員和對軟件測試有興趣的讀者學(xué)習(xí)參考。
本書基本做到專業(yè)化、系統(tǒng)化,并且與實踐相結(jié)合,通過深入淺出地剖析,使讀者既能學(xué)到知識,又能提高實踐能力。
伴隨著軟件行業(yè)的發(fā)展,測試在整個軟件開發(fā)生命周期中占比越來越高,軟件測試工程師、測試開發(fā)工程師、自動化測試工程師等崗位紛紛涌現(xiàn)。目前,這些崗位人才需求量很大。單就河北師范大學(xué)及河北師范大學(xué)匯華學(xué)院測試方向?qū)W生而言,學(xué)生實習(xí)、就業(yè)備受用人單位認(rèn)可,經(jīng)常出現(xiàn)多家知名企業(yè)爭搶招聘學(xué)生的狀況,企業(yè)的青睞與重視也足以證明軟件測試人才的匱乏及軟件測試課程體系的有效性、正確性。
目前,結(jié)合LoadRunner這一主流性能測試工具進行軟件性能測試技術(shù)實踐方面的書籍中能夠?qū)I(yè)化、系統(tǒng)化、結(jié)合實踐進行深入淺出剖析的書籍鳳毛麟角,由此可見目前軟件測試人才培養(yǎng)的難度。目前,面向高校發(fā)行的軟件測試書籍不僅數(shù)量少,而且重理論輕實踐,與市場結(jié)合不夠緊密,這在某種程度上加大了讀者從業(yè)余到專業(yè)的難度。
本書由工作在一線且具備多年測試及管理工作經(jīng)驗的專業(yè)測試工程師、省級科技特派員、省級教學(xué)名師及省級優(yōu)秀教學(xué)團隊負(fù)責(zé)人撰寫,基于行業(yè)現(xiàn)狀,著眼于高等學(xué)校的需求,經(jīng)過長期軟件測試項目實踐及十多年實際教學(xué)不斷積累,多次討論、精心設(shè)計、修改后,形成了一套成熟可行的軟件測試課程體系,從中提取性能測試技術(shù)相關(guān)精華形成本書。
本書力求達到以下目的:
① 為順應(yīng)高等教育普及化迅速發(fā)展的趨勢,配合高等學(xué)校的教學(xué)改革、金課打造、教材建設(shè),更好地協(xié)助學(xué)校向特色鮮明的高水平應(yīng)用技術(shù)型大學(xué)發(fā)展。
② 協(xié)助學(xué)校建設(shè)更加完善的IT人才培養(yǎng)機制,建立完整的軟件測試課程體系及測試人才培訓(xùn)方案,進一步培育符合當(dāng)前測試企業(yè)需要的性能測試人才。
③ 使學(xué)生更加高效、快捷、有針對性地學(xué)習(xí)性能測試技術(shù),并通過理論與實踐的結(jié)合進一步鍛煉動手實踐能力,為跨入性能測試領(lǐng)域打下堅實基礎(chǔ)。
④ 為企業(yè)測試人員提供性能測試技術(shù)學(xué)習(xí)的有效途徑,通過理論和實踐的深入結(jié)合,能使各位測試人員更加真實、快捷地體驗性能測試的開展。
本書作者之前編寫的《軟件性能測試基于LoadRunner應(yīng)用》被諸多院校采用,受到行業(yè)讀者廣泛關(guān)注。十余年間,為IT行業(yè)輸送了大量軟件測試人才,依托該書培育出的學(xué)生遍布各大IT名企。本書為河北省首批雙萬計劃一流本科專業(yè)建設(shè)點的特色專業(yè)課程配套教材,繼承了《軟件性能測試基于LoadRunner應(yīng)用》中最優(yōu)秀的內(nèi)容和設(shè)計,并結(jié)合教學(xué)實踐持續(xù)改進優(yōu)化,本書共10章,由性能測試基礎(chǔ)、LoadRunner性能測試和JMeter性能測試3部分組成。性能測試基礎(chǔ)主要介紹性能測試相關(guān)的基礎(chǔ)理論,為進一步學(xué)習(xí)LoadRunner、JMeter性能測試工具奠定基礎(chǔ)。LoadRunner性能測試聚焦于主流工具LoadRunner,深入剖析性能測試完整流程,結(jié)合實戰(zhàn)項目與同步訓(xùn)練鞏固知識根基,涵蓋LoadRunner基礎(chǔ)知識、腳本錄制與開發(fā)、場景創(chuàng)建執(zhí)行與監(jiān)控、測試結(jié)果分析、項目實戰(zhàn)、C Vuser腳本開發(fā)等。JMeter性能測試側(cè)重解析主流工具JMeter的應(yīng)用,涵蓋基礎(chǔ)知識、高級應(yīng)用及拓展應(yīng)用等。此外,本書還匯總了常見性能測試面試題目及認(rèn)證考試題目,以便讀者體會性能測試的完整工作過程,真正跨入軟件性能測試領(lǐng)域的大門。
本書內(nèi)容全面、層次清晰、難易適中、注意理論與實踐融合,所采用的工具和項目同企業(yè)實際情況緊密結(jié)合,通過講練結(jié)合,使讀者更好地掌握性能測試常用技術(shù)、熟悉主流的性能測試工具,體驗完整的軟件性能測試工作流程,使讀者在軟件性能測試領(lǐng)域完成由陌生到熟悉再到精通的蛻變,使讀者滿足企業(yè)的需求,靈活應(yīng)對企業(yè)面試和項目開展。
本書旨在為讀者提供豐富的性能測試知識與實用的LoadRunner工具應(yīng)用技能,成為一部承載著信仰與責(zé)任的寶典。在軟件測試領(lǐng)域,尤其是在性能測試工作中,它不僅是技術(shù)的體現(xiàn),更是對軟件質(zhì)量和用戶體驗的承諾。因此,本書在傳授知識與技能的同時,也致力于幫助讀者樹立質(zhì)量至上的理念,并培養(yǎng)追求極致、精益求精的工匠精神。我們相信,只有擁有了這樣的理念和精神,才能在軟件性能測試的道路上不斷前行,為打造出卓越的軟件產(chǎn)品貢獻自己的力量。
本書的撰寫得到多方面的支持、關(guān)心與幫助,在此深表感謝。首先,感謝河北師范大學(xué)、河北師范大學(xué)匯華學(xué)院的各級領(lǐng)導(dǎo),他們在應(yīng)用型人才培養(yǎng)改革上的主張及所付出的心血使我們在教材建設(shè)、實習(xí)實訓(xùn)、學(xué)生就業(yè)等方面取得了一系列的成果,同時他們對本書的精心指導(dǎo)也讓我們受益匪淺。
本書可作為高等學(xué)校、示范性軟件學(xué)院、高職高專院校的計算機相關(guān)課程和軟件工程專業(yè)的教學(xué)用書,也可作為軟件培訓(xùn)機構(gòu)的教程,還可供從事軟件開發(fā)及測試工作的人員和對軟件測試有興趣的讀者學(xué)習(xí)參考。
作者2025年4月10日
第1章軟件性能測試基礎(chǔ)知識1
1.1為什么要進行軟件性能測試1
1.1.1軟件性能測試與軟件功能測試的關(guān)系1
1.1.2軟件性能自動化測試的優(yōu)勢2
1.2軟件性能測試的定義與要點4
1.3軟件性能測試的分類5
1.4軟件性能測試的常用術(shù)語8
1.4.1虛擬用戶8
1.4.2并發(fā)及并發(fā)用戶數(shù)8
1.4.3響應(yīng)時間9
1.4.4每秒事務(wù)數(shù)10
1.4.5吞吐量與吞吐率10
1.4.6點擊率10
1.4.7性能計數(shù)器10
1.4.8資源利用率11
1.5軟件性能測試的流程11
1.6軟件性能需求分析12
1.6.1什么是軟件性能需求13
1.6.2常用的軟件性能需求獲取方法14
1.6.3通過服務(wù)器日志獲取需求15
1.7軟件性能測試用例與場景設(shè)計19
1.7.1軟件性能測試用例與場景設(shè)計原則19
1.7.2軟件性能測試用例與場景設(shè)計思路19
1.7.3SCIS系統(tǒng)實例分享19
1.8軟件性能測試工具23第2章LoadRunner的基礎(chǔ)知識27
2.1LoadRunner概述27
2.2LoadRunner的部署與安裝27
2.2.1LoadRunner的安裝過程28
2.2.2LoadRunner的授權(quán)30
2.3LoadRunner的工作原理與工作流程32
2.3.1LoadRunner的組成32
2.3.2LoadRunner的工作原理33
2.3.3LoadRunner的工作流程34
2.4LoadRunner的基礎(chǔ)使用演示35
2.4.1LoadRunner的自帶程序演示35
2.4.2BugFree的項目案例演示39
2.4.3LoadRunner的入門操作演示44
2.5同步訓(xùn)練49第3章用戶行為腳本錄制與開發(fā)51
3.1VuGen基礎(chǔ)51
3.1.1VuGen簡介51
3.1.2VuGen錄制原理53
3.1.3VuGen錄制的前期準(zhǔn)備54
3.2VuGen腳本錄制57
3.2.1腳本錄制57
3.2.2腳本查看與閱讀59
3.2.3腳本編譯回放及調(diào)試77
3.2.4腳本保存79
3.2.5配置錄制參數(shù)79
3.3VuGen腳本增強88
3.3.1腳本增強的意義88
3.3.2什么是腳本增強88
3.3.3腳本增強的方式90
3.4VuGen相關(guān)設(shè)置129
3.4.1進行運行時設(shè)置129
3.4.2配置常規(guī)選項135
3.5同步訓(xùn)練136第4章用戶活動場景創(chuàng)建執(zhí)行與監(jiān)控139
4.1Controller基礎(chǔ)139
4.1.1Controller簡介140
4.1.2場景類型介紹142
4.2測試場景設(shè)計145
4.2.1Manual Scenario場景類型145
4.2.2GoalOriented Scenario場景類型158
4.2.3配置集合點策略162
4.2.4配置IP欺騙163
4.3測試場景執(zhí)行與監(jiān)控166
4.3.1啟動場景166
4.3.2場景組查看與監(jiān)控167
4.3.3操作按鈕169
4.3.4場景狀態(tài)查看與監(jiān)控170
4.3.5查看聯(lián)機圖171
4.3.6集合點手動釋放172
4.4系統(tǒng)資源監(jiān)控172
4.4.1系統(tǒng)資源監(jiān)控簡介172
4.4.2Windows系統(tǒng)資源監(jiān)控173
4.4.3Linux系統(tǒng)資源監(jiān)控177
4.5同步訓(xùn)練179第5章軟件性能測試結(jié)果分析181
5.1Analysis基礎(chǔ)181
5.1.1Analysis簡介182
5.1.2Analysis啟動與界面182
5.2Analysis分析概要183
5.3Analysis圖186
5.3.1Vusers圖188
5.3.2Error圖189
5.3.3Transactions圖191
5.3.4Web Resources圖196
5.3.5Web Page Diagnostics圖199
5.3.6System Resources圖205
5.4Analysis常用操作及配置206
5.4.1服務(wù)水平協(xié)議配置206
5.4.2事務(wù)分析選項配置206
5.4.3圖的合并209
5.4.4自動關(guān)聯(lián)212
5.4.5數(shù)據(jù)的過濾篩選214
5.4.6場景及Analysis配置查看216
5.4.7場景結(jié)果的比較220
5.5同步訓(xùn)練221第6章Discuz!社區(qū)項目實戰(zhàn)222
6.1Discuz!社區(qū)項目實戰(zhàn)背景222
6.1.1系統(tǒng)介紹222
6.1.2系統(tǒng)搭建222
6.2軟件性能測試的前期準(zhǔn)備225
6.2.1熟悉需求225
6.2.2創(chuàng)建WBS226
6.2.3熟悉軟件性能測試的規(guī)范226
6.3軟件性能測試的計劃制訂227
6.3.1項目概述227
6.3.2術(shù)語及縮略語227
6.3.3參考文檔227
6.3.4測試環(huán)境227
6.3.5測試工具列表228
6.3.6測試對象及范圍228
6.3.7測試需求提取及場景設(shè)計229
6.3.8角色與職責(zé)231
6.3.9測試啟動和結(jié)束準(zhǔn)則231
6.4軟件性能測試的環(huán)境與測試數(shù)據(jù)準(zhǔn)備232
6.4.1軟件性能測試的環(huán)境準(zhǔn)備232
6.4.2測試數(shù)據(jù)創(chuàng)建232
6.5LoadRunner執(zhí)行測試233
6.5.1測試腳本的創(chuàng)建233
6.5.2測試場景的創(chuàng)建與執(zhí)行245
6.5.3測試結(jié)果分析247
6.6軟件性能測試的總結(jié)253
6.7同步訓(xùn)練253第7章C Vuser腳本開發(fā)255
7.1Vuser腳本基礎(chǔ)知識255
7.1.1Vuser腳本語言分類255
7.1.2Vuser函數(shù)分類256
7.1.3C Vuser腳本簡介256
7.2C語言基礎(chǔ)知識256
7.2.1C語言結(jié)構(gòu)256
7.2.2C語言常用語句257
7.3C Vuser函數(shù)介紹260
7.3.1hello world程序261
7.3.2lr參數(shù)的賦值與取值261
7.3.3字符串處理262
7.3.4message函數(shù)265
7.3.5Web操作函數(shù)267
7.3.6cookie函數(shù)272
7.3.7身份驗證函數(shù)273
7.3.8檢查函數(shù)273
7.3.9dll文件的調(diào)用277
7.4C Vuser腳本開發(fā)實例279
7.4.1SMTP服務(wù)器選擇279
7.4.2環(huán)境配置與測試279
7.4.3腳本開發(fā)283
7.5同步訓(xùn)練289第8章JMeter基礎(chǔ)知識290
8.1JMeter概述290
8.1.1JMeter與LoadRunner的相似點290
8.1.2JMeter與LoadRunner的不同點290
8.2JMeter測試環(huán)境搭建291
8.2.1安裝資源下載291
8.2.2安裝JDK292
8.2.3安裝JMeter297
8.3JMeter性能測試腳本錄制298
8.3.1安裝Badboy298
8.3.2使用Badboy錄制JMeter腳本299
8.3.3使用JMeter打開腳本301
8.4JMeter性能測試腳本編寫: HTTP請求302
8.5JMeter性能測試腳本編寫: 結(jié)果驗證310
8.6JMeter性能測試腳本驗證: 斷言319
8.7JMeter性能測試腳本編寫: 信息頭管理器325
8.8同步訓(xùn)練328第9章JMeter高級應(yīng)用329
9.1JMeter腳本增強329
9.1.1JMeter腳本增強概述329
9.1.2正則表達式基礎(chǔ)330
9.2JMeter性能測試: 參數(shù)化332
9.2.1CSV Data Set Config參數(shù)化332
9.2.2CSVRead函數(shù)助手參數(shù)化338
9.3JMeter性能測試: 集合點342
9.4JMeter性能測試: 事務(wù)347
9.5JMeter性能測試: 關(guān)聯(lián)351
9.6同步訓(xùn)練355第10章JMeter拓展應(yīng)用356
10.1JMeter拓展功能概述356
10.2JMeter結(jié)果分析: 聚合報告356
10.3JMeter結(jié)果分析: 圖形結(jié)果359
10.4JMeter性能測試: 變量定義362
10.5HTTP請求協(xié)議拓展365
10.5.1HTTP與HTTPS的比較365
10.5.2HTTP請求報文格式366
10.5.3HTTP請求報文頭屬性367
10.5.4HTTP響應(yīng)報文370
10.5.5HTTP請求方法371
10.5.6URL詳解372
10.6同步訓(xùn)練372參考文獻374附錄A375附錄B377
B.1軟件評測師試題示例1377
B.2軟件評測師試題示例2378
B.3軟件評測師試題示例3379
B.4軟件評測師試題示例4380
B.5軟件評測師試題示例5382