本書共10章,由性能測試基礎、LoadRunner性能測試和JMeter性能測試3部分組成。性能測試基礎主要介紹性能測試相關的基礎理論,為進一步學習LoadRunner、JMeter性能測試工具奠定基礎。LoadRunner性能測試聚焦于LoadRunner,深入剖析性能測試完整流程,結合實戰(zhàn)項目與同步訓練鞏固知識根基,涵蓋LoadRunner基礎知識、腳本錄制與開發(fā)、場景創(chuàng)建執(zhí)行與監(jiān)控、測試結果分析、項目實戰(zhàn)、C Vuser腳本開發(fā)等。JMeter性能測試側重解析JMeter的應用,涵蓋基礎知識、高級應用及拓展應用等。此外,本書還匯總了常見性能測試面試題目及國家軟考認證考試題目,以便讀者體會性能測試的完整工作過程,真正跨入軟件性能測試領域的大門。
本書內容全面、層次清晰、難易適中、注重理論與實踐融合,所采用的工具和項目同企業(yè)實際情況緊密結合,通過講練結合,使讀者更好地理解和掌握相應知識,在實際工作中能靈活有效地開展測試工作。
本書可作為高等學校、示范性軟件學院、高職高專院校的計算機相關課程和軟件工程專業(yè)的教學用書,也可作為軟件培訓機構的教程,還可供從事軟件開發(fā)及測試工作的人員和對軟件測試有興趣的讀者學習參考。
本書基本做到專業(yè)化、系統(tǒng)化,并且與實踐相結合,通過深入淺出地剖析,使讀者既能學到知識,又能提高實踐能力。
伴隨著軟件行業(yè)的發(fā)展,測試在整個軟件開發(fā)生命周期中占比越來越高,軟件測試工程師、測試開發(fā)工程師、自動化測試工程師等崗位紛紛涌現(xiàn)。目前,這些崗位人才需求量很大。單就河北師范大學及河北師范大學匯華學院測試方向學生而言,學生實習、就業(yè)備受用人單位認可,經(jīng)常出現(xiàn)多家知名企業(yè)爭搶招聘學生的狀況,企業(yè)的青睞與重視也足以證明軟件測試人才的匱乏及軟件測試課程體系的有效性、正確性。
目前,結合LoadRunner這一主流性能測試工具進行軟件性能測試技術實踐方面的書籍中能夠專業(yè)化、系統(tǒng)化、結合實踐進行深入淺出剖析的書籍鳳毛麟角,由此可見目前軟件測試人才培養(yǎng)的難度。目前,面向高校發(fā)行的軟件測試書籍不僅數(shù)量少,而且重理論輕實踐,與市場結合不夠緊密,這在某種程度上加大了讀者從業(yè)余到專業(yè)的難度。
本書由工作在一線且具備多年測試及管理工作經(jīng)驗的專業(yè)測試工程師、省級科技特派員、省級教學名師及省級優(yōu)秀教學團隊負責人撰寫,基于行業(yè)現(xiàn)狀,著眼于高等學校的需求,經(jīng)過長期軟件測試項目實踐及十多年實際教學不斷積累,多次討論、精心設計、修改后,形成了一套成熟可行的軟件測試課程體系,從中提取性能測試技術相關精華形成本書。
本書力求達到以下目的:
① 為順應高等教育普及化迅速發(fā)展的趨勢,配合高等學校的教學改革、金課打造、教材建設,更好地協(xié)助學校向特色鮮明的高水平應用技術型大學發(fā)展。
② 協(xié)助學校建設更加完善的IT人才培養(yǎng)機制,建立完整的軟件測試課程體系及測試人才培訓方案,進一步培育符合當前測試企業(yè)需要的性能測試人才。
③ 使學生更加高效、快捷、有針對性地學習性能測試技術,并通過理論與實踐的結合進一步鍛煉動手實踐能力,為跨入性能測試領域打下堅實基礎。
④ 為企業(yè)測試人員提供性能測試技術學習的有效途徑,通過理論和實踐的深入結合,能使各位測試人員更加真實、快捷地體驗性能測試的開展。
本書作者之前編寫的《軟件性能測試基于LoadRunner應用》被諸多院校采用,受到行業(yè)讀者廣泛關注。十余年間,為IT行業(yè)輸送了大量軟件測試人才,依托該書培育出的學生遍布各大IT名企。本書為河北省首批雙萬計劃一流本科專業(yè)建設點的特色專業(yè)課程配套教材,繼承了《軟件性能測試基于LoadRunner應用》中最優(yōu)秀的內容和設計,并結合教學實踐持續(xù)改進優(yōu)化,本書共10章,由性能測試基礎、LoadRunner性能測試和JMeter性能測試3部分組成。性能測試基礎主要介紹性能測試相關的基礎理論,為進一步學習LoadRunner、JMeter性能測試工具奠定基礎。LoadRunner性能測試聚焦于主流工具LoadRunner,深入剖析性能測試完整流程,結合實戰(zhàn)項目與同步訓練鞏固知識根基,涵蓋LoadRunner基礎知識、腳本錄制與開發(fā)、場景創(chuàng)建執(zhí)行與監(jiān)控、測試結果分析、項目實戰(zhàn)、C Vuser腳本開發(fā)等。JMeter性能測試側重解析主流工具JMeter的應用,涵蓋基礎知識、高級應用及拓展應用等。此外,本書還匯總了常見性能測試面試題目及認證考試題目,以便讀者體會性能測試的完整工作過程,真正跨入軟件性能測試領域的大門。
本書內容全面、層次清晰、難易適中、注意理論與實踐融合,所采用的工具和項目同企業(yè)實際情況緊密結合,通過講練結合,使讀者更好地掌握性能測試常用技術、熟悉主流的性能測試工具,體驗完整的軟件性能測試工作流程,使讀者在軟件性能測試領域完成由陌生到熟悉再到精通的蛻變,使讀者滿足企業(yè)的需求,靈活應對企業(yè)面試和項目開展。
本書旨在為讀者提供豐富的性能測試知識與實用的LoadRunner工具應用技能,成為一部承載著信仰與責任的寶典。在軟件測試領域,尤其是在性能測試工作中,它不僅是技術的體現(xiàn),更是對軟件質量和用戶體驗的承諾。因此,本書在傳授知識與技能的同時,也致力于幫助讀者樹立質量至上的理念,并培養(yǎng)追求極致、精益求精的工匠精神。我們相信,只有擁有了這樣的理念和精神,才能在軟件性能測試的道路上不斷前行,為打造出卓越的軟件產品貢獻自己的力量。
本書的撰寫得到多方面的支持、關心與幫助,在此深表感謝。首先,感謝河北師范大學、河北師范大學匯華學院的各級領導,他們在應用型人才培養(yǎng)改革上的主張及所付出的心血使我們在教材建設、實習實訓、學生就業(yè)等方面取得了一系列的成果,同時他們對本書的精心指導也讓我們受益匪淺。
本書可作為高等學校、示范性軟件學院、高職高專院校的計算機相關課程和軟件工程專業(yè)的教學用書,也可作為軟件培訓機構的教程,還可供從事軟件開發(fā)及測試工作的人員和對軟件測試有興趣的讀者學習參考。
作者2025年4月10日
第1章軟件性能測試基礎知識1
1.1為什么要進行軟件性能測試1
1.1.1軟件性能測試與軟件功能測試的關系1
1.1.2軟件性能自動化測試的優(yōu)勢2
1.2軟件性能測試的定義與要點4
1.3軟件性能測試的分類5
1.4軟件性能測試的常用術語8
1.4.1虛擬用戶8
1.4.2并發(fā)及并發(fā)用戶數(shù)8
1.4.3響應時間9
1.4.4每秒事務數(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通過服務器日志獲取需求15
1.7軟件性能測試用例與場景設計19
1.7.1軟件性能測試用例與場景設計原則19
1.7.2軟件性能測試用例與場景設計思路19
1.7.3SCIS系統(tǒng)實例分享19
1.8軟件性能測試工具23第2章LoadRunner的基礎知識27
2.1LoadRunner概述27
2.2LoadRunner的部署與安裝27
2.2.1LoadRunner的安裝過程28
2.2.2LoadRunner的授權30
2.3LoadRunner的工作原理與工作流程32
2.3.1LoadRunner的組成32
2.3.2LoadRunner的工作原理33
2.3.3LoadRunner的工作流程34
2.4LoadRunner的基礎使用演示35
2.4.1LoadRunner的自帶程序演示35
2.4.2BugFree的項目案例演示39
2.4.3LoadRunner的入門操作演示44
2.5同步訓練49第3章用戶行為腳本錄制與開發(fā)51
3.1VuGen基礎51
3.1.1VuGen簡介51
3.1.2VuGen錄制原理53
3.1.3VuGen錄制的前期準備54
3.2VuGen腳本錄制57
3.2.1腳本錄制57
3.2.2腳本查看與閱讀59
3.2.3腳本編譯回放及調試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相關設置129
3.4.1進行運行時設置129
3.4.2配置常規(guī)選項135
3.5同步訓練136第4章用戶活動場景創(chuàng)建執(zhí)行與監(jiān)控139
4.1Controller基礎139
4.1.1Controller簡介140
4.1.2場景類型介紹142
4.2測試場景設計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同步訓練179第5章軟件性能測試結果分析181
5.1Analysis基礎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服務水平協(xié)議配置206
5.4.2事務分析選項配置206
5.4.3圖的合并209
5.4.4自動關聯(lián)212
5.4.5數(shù)據(jù)的過濾篩選214
5.4.6場景及Analysis配置查看216
5.4.7場景結果的比較220
5.5同步訓練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軟件性能測試的前期準備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術語及縮略語227
6.3.3參考文檔227
6.3.4測試環(huán)境227
6.3.5測試工具列表228
6.3.6測試對象及范圍228
6.3.7測試需求提取及場景設計229
6.3.8角色與職責231
6.3.9測試啟動和結束準則231
6.4軟件性能測試的環(huán)境與測試數(shù)據(jù)準備232
6.4.1軟件性能測試的環(huá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測試結果分析247
6.6軟件性能測試的總結253
6.7同步訓練253第7章C Vuser腳本開發(fā)255
7.1Vuser腳本基礎知識255
7.1.1Vuser腳本語言分類255
7.1.2Vuser函數(shù)分類256
7.1.3C Vuser腳本簡介256
7.2C語言基礎知識256
7.2.1C語言結構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文件的調用277
7.4C Vuser腳本開發(fā)實例279
7.4.1SMTP服務器選擇279
7.4.2環(huán)境配置與測試279
7.4.3腳本開發(fā)283
7.5同步訓練289第8章JMeter基礎知識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性能測試腳本編寫: 結果驗證310
8.6JMeter性能測試腳本驗證: 斷言319
8.7JMeter性能測試腳本編寫: 信息頭管理器325
8.8同步訓練328第9章JMeter高級應用329
9.1JMeter腳本增強329
9.1.1JMeter腳本增強概述329
9.1.2正則表達式基礎330
9.2JMeter性能測試: 參數(shù)化332
9.2.1CSV Data Set Config參數(shù)化332
9.2.2CSVRead函數(shù)助手參數(shù)化338
9.3JMeter性能測試: 集合點342
9.4JMeter性能測試: 事務347
9.5JMeter性能測試: 關聯(lián)351
9.6同步訓練355第10章JMeter拓展應用356
10.1JMeter拓展功能概述356
10.2JMeter結果分析: 聚合報告356
10.3JMeter結果分析: 圖形結果359
10.4JMeter性能測試: 變量定義362
10.5HTTP請求協(xié)議拓展365
10.5.1HTTP與HTTPS的比較365
10.5.2HTTP請求報文格式366
10.5.3HTTP請求報文頭屬性367
10.5.4HTTP響應報文370
10.5.5HTTP請求方法371
10.5.6URL詳解372
10.6同步訓練372參考文獻374附錄A375附錄B377
B.1軟件評測師試題示例1377
B.2軟件評測師試題示例2378
B.3軟件評測師試題示例3379
B.4軟件評測師試題示例4380
B.5軟件評測師試題示例5382