本書旨在講述如何通過持續(xù)測(cè)試交付一個(gè)功能完善、質(zhì)量完美的系統(tǒng),滿足測(cè)試人員快速交付、快速迭代的需求。本書首先概述了什么是持續(xù)測(cè)試,以及持續(xù)測(cè)試和自動(dòng)化測(cè)試的異同,介紹了如何提升持續(xù)測(cè)試的效率和效果,然后討論了如何通過持續(xù)測(cè)試中的非功能性測(cè)試保障軟件的可靠性、可用性、可移植性、性能效率等質(zhì)量特性,如何通過建立質(zhì)量門禁保障所交付系統(tǒng)的質(zhì)量,并通過自動(dòng)化提升質(zhì)量效能,最后介紹了持續(xù)測(cè)試技術(shù)的發(fā)展,討論了如何通過有效的度量促進(jìn)質(zhì)量的成熟,以及持續(xù)測(cè)試下測(cè)試工程師的自我修養(yǎng)。
本書適合測(cè)試人員閱讀。
結(jié)合代碼和工具,系統(tǒng)講述如何通過持續(xù)測(cè)試交付可靠的系統(tǒng)
·匯聚測(cè)試架構(gòu)師10 年的一線測(cè)試心法;
·打造屬于自己的持續(xù)測(cè)試框架;
·涵蓋以戰(zhàn)代練的持續(xù)測(cè)試場(chǎng)景實(shí)戰(zhàn)。
本書主要內(nèi)容:
·持續(xù)測(cè)試的含義;
·持續(xù)測(cè)試和自動(dòng)化測(cè)試的異同;
·如何提升持續(xù)測(cè)試的效率和效果;
·如何通過持續(xù)測(cè)試中的非功能性測(cè)試保障軟件的質(zhì)量特性;
·如何通過建立質(zhì)量門禁保障所交付系統(tǒng)的質(zhì)量,并通過自動(dòng)化提升質(zhì)量效能;
·如何通過有效的度量促進(jìn)質(zhì)量的成熟。
陳磊,阿里云MVP(Most Valuable Professional,最有價(jià)值專家),華為云MVP(最有價(jià)值專家),中國商業(yè)聯(lián)合會(huì)互聯(lián)網(wǎng)應(yīng)用工作委員會(huì)智庫專家,中關(guān)村智聯(lián)軟件服務(wù)業(yè)質(zhì)量創(chuàng)新聯(lián)盟軟件測(cè)試標(biāo)準(zhǔn)化技術(shù)委員會(huì)委員,Asian Journal of Physical Education & Computer Science in Sports編委會(huì)委員。編寫過《接口測(cè)試方法論》,參與編寫過《京東質(zhì)量團(tuán)隊(duì)轉(zhuǎn)型實(shí)踐:從測(cè)試到測(cè)試開發(fā)的蛻變》《決戰(zhàn)618:探秘京東技術(shù)取勝之道》,在極客時(shí)間開設(shè)過“接口測(cè)試入門課”,在拉勾教育開設(shè)過“軟件測(cè)試第一課”,擔(dān)任過《測(cè)試敏捷化白皮書》和2021年的《研發(fā)效能實(shí)踐指南》副主編。具有多年質(zhì)量工程技術(shù)實(shí)踐經(jīng)驗(yàn),精通研發(fā)效能提升、手工測(cè)試團(tuán)隊(duì)自動(dòng)化測(cè)試轉(zhuǎn)型實(shí)踐、智能化測(cè)試等,公開發(fā)表學(xué)術(shù)論文近30篇,擁有20余項(xiàng)專利,并且是國內(nèi)TiD質(zhì)量競(jìng)爭(zhēng)力大會(huì)、NCTS、MAD、MPD、TICA、DevOpsDays等技術(shù)峰會(huì)的演講嘉賓或技術(shù)委員會(huì)成員。
目 錄
第 1章 持續(xù)測(cè)試概述 1
1.1 概述 1
1.2 測(cè)試的生命周期 3
1.3 測(cè)試用例也是工程實(shí)踐 4
1.3.1 黑盒測(cè)試用例設(shè)計(jì)方法 6
1.3.2 白盒測(cè)試用例設(shè)計(jì)方法 12
1.3.3 測(cè)試用例也要分級(jí) 13
1.3.4 測(cè)試用例的形式 15
1.4 測(cè)試細(xì)分 17
1.4.1 按照開發(fā)階段劃分 18
1.4.2 按照測(cè)試實(shí)施組織劃分 18
1.4.3 按照測(cè)試技術(shù)劃分 19
1.4.4 測(cè)試左移 19
1.4.5 測(cè)試右移 21
1.4.6 測(cè)試左移、測(cè)試、測(cè)試右移的關(guān)系 22
1.5 質(zhì)量模型和測(cè)試 24
1.6 小結(jié) 28
第 2章 自動(dòng)化測(cè)試是持續(xù)測(cè)試的必要條件 29
2.1 分層自動(dòng)化測(cè)試 29
2.2 靜態(tài)測(cè)試 31
2.3 單元測(cè)試 33
2.4 自動(dòng)化測(cè)試的設(shè)計(jì)模式 35
2.4.1 自動(dòng)化測(cè)試的PageObject設(shè)計(jì)模式 36
2.4.2 自動(dòng)化測(cè)試的ScreenPlay設(shè)計(jì)模式 48
2.5 UI自動(dòng)化新思路 49
2.6 接口測(cè)試和接口自動(dòng)化測(cè)試 54
2.6.1 接口測(cè)試 54
2.6.2 接口自動(dòng)化測(cè)試的價(jià)值 56
2.6.3 與接口自動(dòng)化測(cè)試相關(guān)的實(shí)現(xiàn)技術(shù) 57
2.6.4 如何開始接口測(cè)試 59
2.7 測(cè)試驅(qū)動(dòng)開發(fā) 60
2.8 小結(jié) 63
第3章 持續(xù)測(cè)試中的非功能測(cè)試 64
3.1 性能測(cè)試 64
3.1.1 性能測(cè)試工具概述 65
3.1.2 Locust和LoadRunner 68
3.1.3 使用Locust完成性能測(cè)試 72
3.1.4 監(jiān)控工具和結(jié)果分享分析 85
3.1.5 性能測(cè)試實(shí)踐方案 87
3.2 全鏈路壓測(cè) 90
3.2.1 全鏈路壓測(cè)的本質(zhì) 90
3.2.2 全鏈路壓測(cè)是技術(shù)驅(qū)動(dòng)的測(cè)試 92
3.3 兼容性測(cè)試矩陣 95
3.3.1 獲取兼容性測(cè)試因素 95
3.3.2 兼容性矩陣設(shè)計(jì) 96
3.4 混沌工程和故障演練 97
3.4.1 從故障制造到混沌工程 97
3.4.2 故障演練的實(shí)施要點(diǎn) 99
3.5 小結(jié) 101
第4章 質(zhì)量門禁和流水線 102
4.1 質(zhì)量門禁 102
4.1.1 開發(fā)階段的質(zhì)量門禁 103
4.1.2 測(cè)試階段的質(zhì)量門禁 104
4.1.3 上線階段的質(zhì)量門禁 105
4.2 代碼審查門禁設(shè)置 105
4.2.1 代碼評(píng)審方法論 105
4.2.2 代碼評(píng)審的工具支持 108
4.3 SonarQube技術(shù)卡點(diǎn) 109
4.3.1 部署SonarQube 110
4.3.2 在本地開發(fā)環(huán)境中集成SonarQube掃描服務(wù) 111
4.3.3 在Maven項(xiàng)目中集成SonarQube掃描服務(wù) 114
4.3.4 在Jenkins中集成SonarQube 115
4.4 小結(jié) 118
第5章 測(cè)試技術(shù)和持續(xù)測(cè)試 119
5.1 契約測(cè)試 119
5.2 流量錄制技術(shù) 121
5.2.1 Nginx的插件 123
5.2.2 Sandbox 123
5.2.3 TcpCopy 124
5.2.4 GoReplay 125
5.2.5 技術(shù)本質(zhì) 125
5.3 測(cè)試代碼生成 126
5.3.1 基于二進(jìn)制文件的測(cè)試代碼生成 126
5.3.2 基于通用文件的測(cè)試代碼生成 133
5.4 精準(zhǔn)測(cè)試 136
5.5 測(cè)試平臺(tái)化 138
5.6 智能化測(cè)試 140
5.6.1 開源的智能化單元測(cè)試框架 145
5.6.2 開源的智能化UI測(cè)試框架 150
第6章 有效的度量促進(jìn)質(zhì)量的成熟 153
6.1 正確的質(zhì)量度量 153
6.2 有效的質(zhì)量運(yùn)營 160
6.3 小結(jié) 163
第7章 持續(xù)測(cè)試下測(cè)試工程師的自我修養(yǎng) 164
7.1 測(cè)試?yán)碚摶A(chǔ)的必要性 164
7.2 接納并嘗試新技術(shù) 167
附錄A 性能測(cè)試并發(fā)用戶數(shù)估算方法 170
附錄B HTTP代理工具 173
附錄C 關(guān)于HTTP應(yīng)知應(yīng)會(huì)的知識(shí) 178
附錄D EvoSuite的配置和使用 185
附錄E nmon 194
附錄F Postman 200