现代软件测试技术权威指南
图书信息
作者:茹炳晟,陈磊,朱少民编
出版社:电子工业出版社
定价:168.00
ISBN:9787121494994
出版时间:2025-03-01
分类:图书,行业职业,计算机,软硬件技术
商品介绍
目录
第1章现代软件测试的工程理念1
1.1软件的可测试性1
1.1.1可测试性的定义1
1.1.2可测试性引发的问题2
1.1.3可测试性的三个核心观点4
1.1.4可测试性的四个维度5
1.1.5不同级别的可测试性与工程实践8
1.2测试左移和开发者自测13
1.2.1传统瀑布模型下软件测试面临的挑战13
1.2.2测试左移的早期实践14
1.2.3软件测试工程化面临的挑战与机遇16
1.2.4测试左移的进阶实践19
1.2.5测试左移的深度思考21
1.3测试右移的工程实践21
1.3.1生产环境冒烟测试22
1.3.2全链路压力测试22
1.3.3混沌工程24
1.3.4红蓝对抗26
1.3.5A/B测试27
1.3.6灰度发布28
1.3.7线上监控30
1.3.8用户体验分析31
1.4DevSecOps:从安全测试到安全工程34
1.4.1传统软件安全开发体系面临的挑战34
1.4.2新技术对软件安全开发提出的挑战35
1.4.3DevSecOps概念的诞生与内涵36
1.4.4DevSecOps工具37
1.4.5典型DevSecOps流程解读39
1.5DevPerfOps:从性能测试到性能工程41
1.5.1DevPerfOps的由来41
1.5.2全链路压测的局限性41
1.5.3DevPerfOps全流程解读42
第2章软件测试策略46
2.1什么是测试策略46
2.1.1测试策略不等于测试方针47
2.1.2测试策略不等于测试计划48
2.1.3测试策略不等于测试方案48
2.1.4测试策略本质上是一种选择49
2.2常用的测试策略50
2.2.1基于产品质量的测试策略50
2.2.2基于产品特性价值的测试策略52
2.2.3不同产品阶段下的测试策略57
2.2.4基于探索的测试策略――启发式测试策略58
2.2.5自动化持续测试策略60
2.3测试策略的制定方法62
2.3.1四步测试策略制定法63
2.3.2产品质量评估模型65
2.3.3组合缺陷分析技术69
2.4测试风险分析81
2.4.1测试风险识别82
2.4.2测试风险评估85
2.4.3测试风险应对86
2.5不同研发模式下的测试分层88
2.5.1瀑布模式下的测试分层88
2.5.2敏捷模式下的测试分层89
第3章测试分析和测试设计93
3.1测试分析和测试设计概述93
3.1.1好的测试设计的“味道”93
3.1.2当前测试设计的困顿93
3.1.3测试分析和测试设计是两个不同的活动94
3.2测试分析的方法95
3.2.1深入理解质量是做好测试分析的基础95
3.2.2软件产品质量模型96
3.2.2深入理解测试类型103
3.2.3通过质量属性来探索测试方法104
3.2.4通过质量属性确定测试的深度和广度105
3.2.5使用车轮图进行测试分析105
3.3测试设计的方法107
3.3.1基于路径分析的测试设计方法107
3.3.2基于输入-输出表的测试设计方法118
3.3.3基于等价类-边界值的测试设计方法119
3.3.4基于因子表的测试设计方法123
3.3.5几种测试设计方法的比较127
第4章软件测试与系统架构129
4.1典型应用系统架构与测试关键指标129
4.1.1典型应用系统架构129
4.1.2客户端请求的网络通信131
4.1.3与测试相关的系统架构关键指标132
4.2缓存架构及对缓存测试的影响134
4.2.1缓存架构134
4.2.2缓存对测试的影响136
4.3异步消息驱动架构及其对测试的影响137
4.3.1异步消息驱动架构137
4.3.2异步消息驱动架构对测试的影响138
4.4负载均衡架构及灰度发布对测试的影响139
4.4.1负载均衡架构139
4.4.2灰度发布及其对测试的影响141
4.5分布式数据库架构及高可用性测试142
4.5.1分布式数据库架构142
4.5.2分布式数据的高可用性测试144
4.6微服务架构及其对测试的影响145
4.6.1微服务架构146
4.6.2微服务架构对测试的影响147
4.7大数据架构及机器学习对测试的影响148
4.7.1大数据架构148
4.7.2机器学习对测试的影响149
第5章Web测试技术精要151
5.1Web测试技术概述151
5.1.1Web测试技术要点151
5.1.2Web自动化测试技术155
5.2基于编程语言的Web测试框架157
5.2.1Selenium157
5.2.2Airtest164
5.2.3Playwright165
5.3基于编程语言的测试代码的组织169
5.3.1未经组织的测试代码171
5.3.2组织后的测试代码173
5.4Web自动化测试的痛点180
5.5高效执行自动化测试181
5.5.1并行模式181
5.5.2无头模式183
5.5.3模拟登录183
5.6稳定的自动化测试184
5.6.1基于页面或元素状态的等待184
5.6.2重试机制186
5.7视觉验证测试186
5.7.1AppilitoolsEyes187
5.7.2Recheck-Web190
5.8自我修复测试193
5.8.1Healenium193
5.8.2Recheck-Web198
5.9无代码/低代码自动化测试201
第6章移动端测试技术精要204
6.1移动端测试基础技能204
6.1.1通过HTTPDebugProxy深入了解移动端测试204
6.1.2设计测试用例205
6.2移动端测试进阶208
6.2.1UI自动化测试208
6.2.2稳定性测试220
6.3移动端测试的左移和右移224
第7章接口测试技术精要226
7.1接口测试概述226
7.2接口测试关键技术227
7.2.1模拟协议客户端228
7.2.2接口逻辑模拟228
7.2.3数据驱动236
7.2.4测试断言239
7.2.5解耦技术239
7.2.6关键字驱动242
7.2.7测试报告242
7.3自动化接口测试关键技术243
7.4接口测试的新技术244
7.4.1契约测试244
7.4.2流量录制245
7.4.3精准测试246
7.5接口测试平台化246
7.6测试右移下的接口测试249
第8章代码级测试技术精要250
8.1代码级测试技术概述250
8.2静态代码分析技术251
8.2.1静态代码分析概述251
8.2.2静态代码分析的优势253
8.2.3静态代码分析方法的类型254
8.2.4静态代码分析的原理256
8.2.5常见静态代码分析工具258
8.2.6静态代码分析工具面临的挑战261
8.2.7静态代码分析工具的选择262
8.3代码评审技术263
8.3.1代码评审概述263
8.3.2代码评审的价值263
8.3.3代码评审的类型264
8.3.4代码评审的内容265
8.3.5代码评审很好实践266
8.4契约测试技术274
8.4.1契约测试概述274
8.4.2契约测试基本要素277
8.4.3继承与契约280
8.4.4一些说明283
8.5单元测试技术286
8.5.1单元测试概述286
8.5.2设计方法291
8.5.3测试先行300
8.6智能测试技术301
8.6.1智能测试技术概述301
8.6.2智能测试技术阶段划分302
8.6.3智能测试关键技术304
第9章性能测试技术精要312
9.1性能市场现状312
9.2RESAR性能工程概述313
9.2.1RESAR性能工程313
9.2.2性能容量规划326
9.2.3性能工具解析328
9.3性能测试阶段329
9.3.1需求阶段329
9.3.2准备阶段333
9.3.3执行阶段334
9.3.4报告阶段336
9.3.5环比阶段337
9.4性能监控分析逻辑338
9.4.1操作系统监控分析逻辑338
9.4.2开发语言监控分析逻辑353
9.4.3数据库监控分析逻辑366
9.5性能分析案例391
9.5.1场景运行数据391
9.5.2分析系统架构391
9.5.3拆分响应时间392
第10章可靠性测试技术精要420
10.1可靠性测试概述420
10.1.1可靠性测试目的420
10.1.2可靠性测试设计420
10.1.3可靠性测试环境422
10.1.4可靠性测试执行422
10.1.5可靠性测试工具424
10.1.6可靠性评估指标424
10.1.7可靠性测试报告426
10.2可靠性设计验证426
10.2.1可靠性故障管理验证427
10.2.2可靠性冗余设计验证428
10.2.3可靠性容灾设计验证428
10.2.4可靠性过载控制验证430
10.3可靠性负向验证431
10.3.1故障模式431
10.3.2故障预案432
10.3.3混沌工程433
第11章自动化测试框架设计和实现435
11.1自动化测试框架概述435
11.1.1自动化测试框架的定义435
11.1.2自动化测试框架的目标435
11.1.3自动化测试框架和测试库的区别436
11.2自动化测试框架类型437
11.2.1简单测试框架437
11.2.2x-Driven测试框架439
11.2.3混合型测试框架442
11.2.4不同类型测试框架对比443
11.3自动化测试框架的通用实现原理444
11.3.1分层架构模型444
11.3.2gTAA模型446
11.3.3通用型测试框架447
11.4自动化测试框架开发设计指南448
11.4.1测试框架推荐特征448
11.4.2代码编写原则449
11.4.3设计模式的使用455
第12章测试基础设施能力建设462
12.1测试执行环境架构设计基础462
12.1.1测试执行环境概述462
12.1.2测试基础架构的设计464
12.1.3早期的测试基础架构464
12.1.4经典的测试基础架构465
12.2测试执行环境架构设计进阶466
12.2.1基于Docker实现的SeleniumGrid测试基础架构466
12.2.2引入统一测试执行平台的测试基础架构467
12.2.3基于Jenkins集群的测试基础架构469
12.2.4测试负载自适应的测试基础架构470
12.2.5测试基础架构的选择471
12.3实战案例:大型全球化电商网站的测试基础架构设计471
第13章软件测试新实践和新方法477
13.1测试驱动开发477
13.1.1测试驱动开发的基本理念477
13.1.2UTDD、ATDD与BDD479
13.1.3测试驱动开发的误区482
13.2精准测试483
13.2.1精准测试的技术实现484
13.2.2精准测试的前沿探索487
13.3代码注入测试489
13.3.1灰盒测试面临的挑战489
13.3.2OOP的困境及AOP的解决思路490
13.3.3AOP基本概念及其启示493
13.3.4基于AOP的测试实战案例498
13.3.5AOP的局限性512
13.4混沌工程512
13.4.1混沌工程的起源513
13.4.2混沌工程的原则513
13.4.3攻防演练515
13.4.4混沌工程的相关工具515
13.5变异测试518
13.5.1变异测试的基本流程519
13.5.2变异测试的核心概念520
13.5.3变异测试的应用案例522
13.5.4变异测试的工程化实践525
13.6探索式测试527
13.6.1探索式测试的基本理念527
13.6.2探索式测试的思维模型528
13.6.3探索式测试的方法529
13.6.4探索式测试的开展533
13.6.5探索式测试的误区534
13.7微服务测试535
13.7.1云原生和微服务535
13.7.2微服务测试体系建设541
第14章智能化测试技术557
14.1从测试视角看AI557
14.2基于数据的智能化测试561
14.3基于目标的智能化测试564
14.4智能化测试的实践570
第15章AI产品测试技术574
15.1AI产品测试技术概述574
15.1.1AI相关概念574
15.1.2AI产品对测试提出的挑战575
15.2AI产品的功能测试576
15.2.1AI产品功能测试面临的困惑577
15.2.2蜕变测试578
15.2.3AI产品的测试评估579
15.3AI产品的非功能测试583
15.3.1模型相关的性能度量指标583
15.3.2AI产品相关的性能指标586
15.3.3伦理道德验证587
第16章大数据产品测试技术591
16.1大数据基础知识591
16.1.1初识大数据591
16.1.2什么是大数据592
16.1.3主流大数据架构和产品593
16.2大数据产品测试与传统软件测试594
16.2.1大数据产品测试与传统软件测试的联系594
16.2.2大数据产品测试面临的挑战595
16.3测试数据的准备597
16.3.1测试数据的重要性597
16.3.2数据准备方式597
16.4大数据产品的功能性测试602
16.4.1ETL测试602
16.4.2数据质量测试607
16.5大数据产品的非功能性测试610
16.5.1大数据产品非功能性测试面临的挑战611
16.5.2非功能性测试设计612
第17章区块链测试技术618
17.1区块链概述618
17.1.1区块链定义618
17.1.2区块链特征618
17.1.3区块链分类619
17.1.4区块链的应用场景619
17.2区块链测试技术总览620
17.2.1区块链通用架构体系621
17.2.2区块链“四横四纵”测试体系625
17.3DApp测试626
17.3.1DApp概述626
17.3.2专项测试630
17.3.3异常测试640
17.3.4安全测试644
17.3.5稳定性测试648
17.4分布式共识测试651
17.4.1常见共识算法651
17.4.2专项测试654
17.4.3异常测试667
17.4.4安全测试676
17.4.5稳定性测试681
17.5智能合约测试685
17.5.1智能合约685
17.5.2专项测试696
17.5.3异常测试709
17.5.4安全测试715
17.5.5稳定性测试729
17.6P2P网络测试731
17.6.1P2P731
17.6.2专项测试738
17.6.3异常测试745
17.6.4安全测试752
17.6.5稳定性测试760
第18章图形图像相关应用的测试技术实践765
18.1机器视觉产品的测试概述765
18.1.1机器视觉概述765
18.1.2测试机器视觉产品的挑战和策略765
18.2AI技术在画质增强方向的产品767
18.2.1画质客观测试777
18.2.2画质测试的效能提升实践779
18.3AI技术在人脸识别方向的产品780
18.3.1人脸解锁概述780
18.3.2AI技术在人群画像、人群追踪客流技术方向综合应用的产品787
第19章大模型赋能下的测试智能化790
19.1大模型和大语言模型790
19.1.1大语言模型与代码生成791
19.1.2多模态大模型794
19.2大模型时代的智能化测试795
19.2.1软件测试本质探讨796
19.2.2更聪明的猴子798
19.3大模型智能化测试的探索实战799
19.3.1智能探索型测试799
19.3.2测试用例生成803
19.3.3测试结果分析和诊断建议805
19.3.4利用HydraLab搭建智能化测试平台805
第20章XRunner应用案例809
20.1信息系统领域性能保障痛点809
20.1.1业务挑战809
20.1.2技术挑战810
20.1.3工具挑战810
20.2解决思路812
20.2.1技术突破812
20.2.2业务突破814
20.2.3工具突破815
20.3案例815
20.3.1背景简介815
20.3.2压测需求816
20.3.3压测目标816
20.3.4压测方案816
20.3.5压测方法和范围816
20.4实践后的效果对比与总结818
20.4.1压测结果818
20.4.2总结报告820
内容简介
在过去的十几年中,软件测试技术的演进突破了曾经的局限,发生了翻天覆地的变化,在新的领域有了更广泛的应用场景。
本书从现代软件测试技术的视角,深入探讨近年来涌现和快速发展的测试技术,以及在快速变化的技术环境中依然保持高度相关性和实践价值的方法论与技巧。本书内容主要包括现代软件测试的工程理念,测试策略、分析和设计,测试与系统架构的关系,各项测试技术精要,自动化测试框架的设计与实现,AI产品、大数据产品、区块链、图形图像相关测试技术,以及大模型赋能下的测试智能化等。
我们希望这是一本软件测试技术领域的“百科全书”,无论你是希望在专业领域不断精进的技术专家,还是希望打下扎实基础的入门读者,都能从本书中汲取宝贵的经验。
- 中公2017公务员考试用书 数量关系(李永新,人民日报)
- 行政法与行政诉讼法学(程华,徐明江主编)
- 高考舞蹈强化训练(王光辉 编著)
- 医用物理学学习指导(张延芳 编)
- 日本中老年时装(白锡尧编译,浙江人民)
- 思想与文学之间(王晓明著,人民文学)
- 环保违法处罚速查手册(《环保违法处罚速查手册》编写组 编,法制)
- 文化创意产品项目实训教程(黄言涛 著,西安电子科技大学)
