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