这是一本国内极少针对软件测试工程师讲述全链路软件开发过程的图书,由资深测试工程师领衔团队全力创作。
写之前做过大量的调查研究,写过程当中进行再三的翻盘反复,写出了作者长年在金融IT软件当中的测试经验与洞见。
把项目管理、项目需求管理、代码质量控制、自动化部署、软件测试、安全测试与安全管理、自动化测试基础、自动化测试框架、性能测试、性能分析、监控平台与故障排查、灾难恢复与容灾测试等大量内容全方位地展现出来。
有大量原创图表助力读者理解,有基础工具的使用方法和流程引初学者入门。
建议所有从事软件测试的工作人员入手一本,放在手中随时查阅!
《质量全面管控 从项目管理到容灾测试》专门为有志于软件测试的工程师打开软件测试的大门,笔者结合案例讲解测试实践技术,主要内容有:项目管理、项目需求管理、代码质量控制、自动化部署、软件测试、安全测试与安全管理、自动化测试基础、自动化测试框架、性能测试、性能分析、监控平台与故障排查、灾难恢复与容灾测试等。《质量全面管控——从项目管理到容灾测试》使用了大量的原创图表,提供了基础工具的使用方法和流程。
《质量全面管控 从项目管理到容灾测试》图文并茂,通俗易懂,提供的大量实例可以使读者边学习边实践,深入理解书中的内容,并将所学到的知识应用于实际项目中,对于初中级软件测试工程师来说是不可多得的工具书。
葛长芝,2001年毕业于东北师范大学,从事软件测试16年,先后就职于益海嘉里集团,任职测试经理,快钱支付公司任职测试架构师,现在就职于K12在线教育公司掌门1对1,任职测经理。具有丰富的软件开发和软件测试经验,设计开发自动化测试框架,精通性能测试、容量规划和容灾测试。对于软件测试始终保持极大的兴趣,对于测试前置和全链路测试,有非常独到的见解。
本书作者凭借多年的测试实战经验,通过此书深入浅出地剖析出了测试在整个项目中如何至大化发挥作用。对测试新手而言,本书是一本非常值得阅读的系统性图书。
——张翼 掌门一对一创始人
作为一个测试新手,正确、全面地了解测试,并进一步在项目整个周期中合理介入并发挥价值是很重要的,本书就是这样一本源于实战、贯穿体系的优秀读物。
——陈霁 厦门云层天咨软件技术有限公司创始人
目前测试工程师需要熟练掌握更多的测试技能,如性能测试、安全测试和自动化测试等,才能成为一名合格的全栈测试工程师。本书作者从实际项目场景出发,结合当下测试工程师所需的测试技能要求,把多年的一线工作经验融入其中,用清晰的语言带领读者快速步入软件测试技术的前沿。
——朴春龙 上海博为峰软件技术股份有限公司副总经理
第1 章 项目管理 1
1.1 项目管理概述 2
1.2 软件项目管理 5
1.3 项目质量管理. 10
1.4 项目管理流程. 11
1.4.1 项目启动. 11
1.4.2 项目计划. 13
1.4.3 软件需求阶段 14
1.4.4 变更管理. 16
1.4.5 设计阶段. 18
1.4.6 构建阶段. 19
1.4.7 测试阶段. 21
1.4.8 部署与试运行 23
1.4.9 项目总结. 25
1.5 项目管理十诫. 26
1.6 项目管理工具对比. 28
1.6.1 Microsoft Project 28
1.6.2 Redmine 29
1.6.3 Feng Office 30
第1 章 项目管理 1
1.1 项目管理概述 2
1.2 软件项目管理 5
1.3 项目质量管理. 10
1.4 项目管理流程. 11
1.4.1 项目启动. 11
1.4.2 项目计划. 13
1.4.3 软件需求阶段 14
1.4.4 变更管理. 16
1.4.5 设计阶段. 18
1.4.6 构建阶段. 19
1.4.7 测试阶段. 21
1.4.8 部署与试运行 23
1.4.9 项目总结. 25
1.5 项目管理十诫. 26
1.6 项目管理工具对比. 28
1.6.1 Microsoft Project 28
1.6.2 Redmine 29
1.6.3 Feng Office 30
2.5.3 《软件需求规格说明书》. 72
2.6 测试需求 73
2.7 需求管理工具. 74
2.7.1 Rational RequisitePro 75
2.7.2 TelelogicDoors 76
2.8 Plandora 实战 76
2.8.1 搭建Plandora 77
2.8.2 管理员配置 78
2.8.3 前端用户. 82
2.8.4 需求变更实例 88
2.9 要点回顾 92
第3 章 代码质量控制 93
3.1 静态代码分析. 94
3.2 代码文档规范. 94
3.2.1 命名规范. 95
3.2.2 编码规范. 96
3.2.3 注释规范. 97
3.2.4 异常处理规范 102
3.2.5 单元测试规范 103
3.2.6 文件解析规范 103
3.3 Sonar 简介 106
3.3.1 Sonar 体系架构. 107
3.3.2 Sonar 代码规则. 108
3.4 Sonar 服务端. 110
3.4.1 环境要求 110
3.4.2 Sonar 服务器搭建 110
3.4.3 Sonar 配置 112
3.4.4 Sonar 插件 114
3.5 Sonar 客户端. 116
3.5.1 Sonar-Runner 客户端. 116
3.5.2 Maven 插件方式 117
3.5.3 Ant 插件方式. 118
3.5.4 Eclipse 插件方式 119
3.6 最佳实践 121
3.6.1 项目配置 122
3.6.2 持续审查 123
3.6.3 结果分析 125
3.6.4 集成曲线图. 128
3.7 要点回顾 129
第4 章 自动化部署 130
4.1 引入自动化部署. 131
4.1.1 复杂的手工部署 131
4.1.2 自动化部署方式 132
4.1.3 持续集成思想 133
4.2 自动化部署的特点 134
4.2.1 环境一致性. 134
4.2.2 部署系统化. 134
4.2.3 配置集中化. 135
4.3 版本控制 137
4.3.1 Git 简介. 137
4.3.2 Git 部署. 138
4.3.3 Git 客户端使用. 141
4.3.4 Git 相关操作 144
4.3.5 代码管理 147
4.4 JDeploy 平台. 151
4.4.1 认识JDeploy 151
4.4.2 JDeploy 部署配置 151
4.4.3 一键部署项目 152
4.5 要点回顾 155
第5 章 软件测试. 156
5.1 软件测试 156
5.1.1 软件测试发展史 157
5.1.2 软件测试的未来 160
5.1.3 测试部门组织架构 161
5.1.4 软件测试的基本类型. 163
5.2 测试模型 164
5.2.1 瀑布模型 164
5.2.2 敏捷模型 165
5.2.3 敏捷测试与传统测试的区别. 166
5.3 系统测试流程 167
5.4 根据需求原型设计测试用例 171
5.4.1 需求原型规范样式 171
5.4.2 设计测试用例 173
5.5 缺陷描述 175
5.5.1 缺陷属性 175
5.5.2 缺陷描述示例 176
5.6 测试的策略. 178
5.7 测试过程的经验总结. 179
5.8 质量保证 180
5.9 要点回顾 181
第6 章 安全测试与安全管理 182
6.1 安全测试 182
6.1.1 安全测试概述 183
6.1.2 安全测试的基本过程. 184
6.1.3 安全测试与安全运维. 186
6.1.4 安全测试工具 186
6.1.5 安全测试用例 187
6.2 开发安全规范 189
6.2.1 跨站脚本安全规范 189
6.2.2 SQL 注入安全规范. 191
6.2.3 页面组件和敏感数据的安全规范 193
6.2.4 Java 安全规范 196
6.2.5 应用集成安全规范 197
6.3 代码安全审核工具Checkmarx. 197
6.3.1 SQL 注入 198
6.3.2 反射型跨站脚本攻击. 199
6.3.3 储存型XSS. 201
6.3.4 HTTP 响应头分裂(Http_ Response_Splitting) 201
6.4 安全漏洞 202
6.4.1 信息收集 202
6.4.2 口令入侵 204
6.4.3 心脏滴血漏洞 207
6.5 OSSIM 安全管理平台 209
6.5.1 OSSIM 架构 210
6.5.2 安装与部署. 211
6.5.3 OSSIM 控制台. 211
6.5.4 Web 界面配置 212
6.5.5 OSSIM 使用实战. 214
6.6 要点回顾 219
第7 章 自动化测试基础 220
7.1 自动化基础. 221
7.1.1 自动化测试流程 222
7.1.2 自动化测试特点 225
7.1.3 自动化测试工具 226
7.1.4 标记语言介绍 228
7.2 Web 自动化测试. 233
7.2.1 元素定位 234
7.2.2 Selenium IDE 238
7.2.3 Selenium 使用 241
7.3 接口自动化测试. 247
7.3.1 接口测试类型 248
7.3.2 接口测试工具 249
7.3.3 Mock 测试 250
7.3.4 HTTP 协议测试 254
7.4 TestNG 框架 258
7.4.1 TestNG 配置 258
7.4.2 TestNG 注解 260
7.4.3 测试套件 260
7.4.4 数据驱动 265
7.4.5 执行测试结果 267
7.4.6 测试集成 268
7.5 要点回顾 270
第8 章 自动化测试框架 271
8.1 框架分析 272
8.1.1 框架设计目标 272
8.1.2 业务流程层次分析 272
8.1.3 业务流程测试自动化. 273
8.1.4 手工用例自动化 274
8.2 框架设计 274
8.2.1 框架设计思想 274
8.2.2 框架物理架构 276
8.2.3 框架逻辑架构 277
8.2.4 框架工作流程 278
8.3 框架开发 278
8.3.1 创建测试用例 279
8.3.2 创建测试数据 280
8.3.3 创建测试项目 281
8.3.4 开发框架运行类 285
8.3.5 开发公共接口 288
8.3.6 添加日志报告 292
8.4 脚本开发 292
8.4.1 编写测试脚本 292
8.4.2 调试运行脚本 293
8.4.3 上传脚本 294
8.5 持续集成 296
8.5.1 Jenkins 服务器搭建. 296
8.5.2 Jenkins 相关插件 298
8.5.3 部署测试执行机 299
8.5.4 分布式测试. 300
8.5.5 配置测试任务 303
8.5.6 查看运行结果 310
8.6 要点回顾 312
第9 章 性能测试. 313
9.1 性能测试基础 313
9.1.1 性能术语 314
9.1.2 需求分析与策略 317
9.2 测试利器之LoadRunner. 321
9.2.1 LoadRunner 安装贴士 321
9.2.2 脚本与优化. 322
9.2.3 设置场景 339
9.2.4 运行场景 340
9.2.5 收集和分析结果 341
9.3 测试利器之JMeter 343
9.3.1 JMeter 介绍. 343
9.3.2 JMeter 脚本与优化. 344
9.3.3 收集监控数据 353
9.3.4 运行测试 353
9.3.5 JMeter 使用小结 354
9.4 性能测试框架搭建 355
9.4.1 JMeter 配置监听器. 355
9.4.2 InfluxDB 数据库配置 356
9.4.3 InfluxDB Graphite Listener 配置. 357
9.4.4 查看InfluxDB 结果 357
9.4.5 Grafana 配置 358
9.5 性能测试实战 359
9.5.1 明确测试需求 359
9.5.2 选取测试方法和策略. 361
9.5.3 准备测试脚本 362
9.5.4 执行与分析测试结果. 362
9.5.5 提出调优建议 364
9.5.6 交付测试报告 364
9.6 性能调优 364
9.6.1 CPU 使用率过高 364
9.6.2 I/O 使用率过高. 365
9.6.3 进程数调整. 367
9.6.4 线程不安全. 367
9.6.5 数据库连接数过少 368
9.6.6 数据导入慢. 369
9.7 要点回顾 369
第10 章 性能分析. 371
10.1 系统硬件资源监控 372
10.1.1 nmon 工具. 373
10.1.2 Linux 系统监控命令 378
10.2 JVM 监控与分析 386
10.2.1 JVM 基础 386
10.2.2 JVM 垃圾回收 388
10.2.3 常见JVM 命令 390
10.2.4 堆分析工具MAT 402
10.2.5 JConsole 403
10.2.6 JProfiler 406
10.3 数据库性能分析 415
10.3.1 软解析和硬解析. 415
10.3.2 SQL 执行计划分析 417
10.3.3 数据库连接数监控 418
10.3.4 Oracle 数据库性能诊断报告AWR. 419
10.4 要点回顾 427
第11 章 监控平台与故障排查 428
11.1 监控系统 428
11.1.1 日志监控平台. 429
11.1.2 硬件和应用监控平台 429
11.2 Zabbix 简介 430
11.2.1 系统架构 430
11.2.2 配置Zabbix 432
11.2.3 常见的配置问题. 436
11.2.4 监控主机 438
11.3 美化界面Grafana 441
11.3.1 部署Grafana. 441
11.3.2 使用Grafana. 442
11.4 服务器故障排查 447
11.4.1 清楚故障的前因后果 447
11.4.2 搜寻蛛丝马迹. 447
11.4.3 列出当前运行的进程 449
11.4.4 监听网络服务. 451
11.4.5 查看硬件状态. 451
11.4.6 列出挂载点和文件系统. 457
11.4.7 过滤内核和中断信息 459
11.4.8 定时任务 460
11.4.9 分析系统日志. 461
11.5 要点回顾 461
第12 章 灾难恢复与容灾测试 462
12.1 灾难恢复 463
12.1.1 灾难恢复的规范. 463
12.1.2 灾难恢复能力等级 466
12.1.3 灾难恢复的关键指标 468
12.2 容灾测试 471
12.2.1 容灾的起源 471
12.2.2 容灾的定义 472
12.2.3 容灾的区别 474
12.3 详解容灾测试 475
12.3.1 容灾测试的目标. 475
12.3.2 职责的划分 476
12.3.3 容灾测试的流程. 477
12.4 容灾测试实战 478
12.4.1 容灾测试计划. 479
12.4.2 容灾用例与Bug. 480
12.4.3 容灾线上演习. 484
12.4.4 容灾长期规划. 485
参考文献. 486
本书主要内容
写作本书的目的是为软件测试人员提供指导方向,笔者结合案例讲解测试实践技术,非常适合初中级测试人员阅读。本书内容从项目管理、需求管理开始,到各类测试方法的讲解。读者可以按顺序阅读,也可以选择其中的某几章来阅读。本书共有 12章,每章的主要内容如下:
第 1章:项目管理,主要介绍软件开发过程中的项目管理,包含项目管理的流程、输入输出项及相关工具,不论你是项目管理人员,还是研发人员,都需要了解项目,并通过这些项目管理工具来有效地管理项目。
第 2章:项目需求管理,主要介绍软件需求的定义和流程、软件质量与需求的关系、在编写软件需求过程中应该注意的问题、如何发现软件需求中的问题,以及如何处理需求变更。
第 3章:代码质量控制,主要介绍如何有效地保证代码质量,通过构建 SonarQube发现代码质量问题,对不规范的代码提出建议并规范。
第 4章:自动化部署,主要介绍部署配置中心和一键部署系统、使用 JDeploy自动化部署代码、采用 Jenkins进行持续构建来完成自动化部署任务,从而使部署系统简单化和标准化。
第 5章:软件测试,主要介绍功能测试,包含功能测试流程、根据需求原型设计测试用例、发现缺陷并描述这些缺陷,以及功能测试中常见的误区和经验。
第 6章:安全测试与安全管理,主要介绍安全测试的流程、如何发现漏洞和这些漏洞对系统进行的攻击、对攻击进行的防御措施,以及安全管理过程中的开发安全规范和安全管理平台 OSSIM。
第 7章:自动化测试基础,主要介绍自动化测试技术,包含 Web自动化测试、接
口自动化测试和 MOCK测试,以及开源自动化测试工具 Selenium和 TestNG等。
第 8章:自动化测试框架,主要介绍自动化测试框架的基础和实践。
第 9章:性能测试,主要介绍性能测试的基础和测试流程,包括 JMeter和 LoadRunner
的使用、设计性能测试方案和进行性能调优。
第 10章:性能分析,主要介绍对 JVM和系统资源进行监控,并分析测试结果。
第 11章:监控平台与故障排查,主要介绍 Zabbix和 Grafana,以及如何排查服务器故障。
第 12章:灾难恢复与容灾测试,主要介绍容灾的概念,包含容灾的方法、手段、目标、策略和远期规划,以及容灾测试的误区。
本书适合的读者
本书图文并茂,通俗易懂,书中提供了大量的实例,读者可以边学习边实践,深入理解书中的内容,并将所学到的知识应用于实际项目中。
对测试感兴趣的读者,可以从本书中找到各种测试类型的介绍,包括功能测试、安全测试、自动化测试、性能测试和容灾测试。对于项目管理、需求管理和监控感兴趣的读者,也可以从本书中获益。
致谢
真诚感谢笔者团队成员的参与,群策群力、互相帮助终于完成此书,发自内心地希望读者可以从中得到启发,并且能把一些实战经验应用于具体的项目中。感谢家人,写作占用了大量的时间和精力,无暇顾及家庭,所以那句老话永远是正确的,军功章有我的一半也有你的一半。
由于作者水平有限,书中不足及错误之处在所难免,敬请专家和读者批评指正。
葛长芝 2016年 12月
最近迷上了工程管理方面的书,尤其是那些能把复杂概念拆解得清晰明了,又兼具实操性的。偶然间翻到了这本书,书名听起来就很有分量,让我对接下来的阅读充满了期待。从我的阅读体验来说,这本书在“项目周期中的风险识别与规避”这个环节做得尤为出色。它并没有停留在理论层面,而是通过一系列详实的案例,将风险发生的可能性、潜在的冲击程度以及相应的应对策略进行了非常细致的剖析。例如,在项目启动阶段,作者就强调了对技术栈选择、第三方依赖以及团队成员经验等方面的细致评估,并给出了一套系统化的风险清单模板,这点对我启发很大。接着,在项目执行过程中,书中详细阐述了如何通过敏捷迭代、持续集成等方式来及时发现和纠正潜在的问题,而不是等到项目后期才进行大规模的返工。我特别喜欢其中关于“沟通链条优化”的章节,作者提到了很多实用的沟通技巧,比如如何有效地举行项目例会,如何撰写清晰的项目周报,以及如何处理跨部门协作时的信息不对称问题。这些看似琐碎的细节,却往往是项目成功的关键。而且,书中对于“成本控制”的讲解也十分到位,它不仅仅是简单的预算制定,更包含了对资源分配、变更管理以及效率提升等多个维度上的考量。我个人觉得,作者在将理论与实践相结合方面做得非常到位,让原本枯燥的工程管理变得生动有趣,而且指导性极强,确实能够帮助读者在实际工作中少走弯路。
评分作为一名长期在项目一线工作的开发者,我深知质量的重要性,但往往又被项目进度和成本压力所裹. 吸引我购买这本书的,是它“全流程质量保障”的承诺。读过之后,我发现书中对“需求评审与用例设计”这一环节的重视程度,是我之前很多项目中忽略的。作者强调了在项目初期,要通过严谨的需求评审,明确用户痛点和核心价值,并在此基础上设计出覆盖所有关键场景的测试用例。书中提供了一套结构化的需求分析方法,包括利益相关者访谈、场景分析以及优先级排序,这些都极大地帮助我理解了如何从源头上减少需求变更带来的风险。另外,关于“代码审查与静态分析”的部分,作者不仅仅停留在“形式上”的代码检查,而是深入分析了如何通过代码审查来发现潜在的逻辑漏洞、安全隐患以及性能问题。书中列举了非常多常见的代码缺陷模式,并提供了相应的防范建议,这点对于提升团队的整体代码质量非常有指导意义。我还注意到,书中对“用户体验测试”的讲解也相当充分,它不仅仅是功能的正确性验证,更是从用户的视角出发,关注界面的易用性、操作的流畅度以及整体满意度。这本书让我意识到,质量的管控并非孤立的环节,而是贯穿于项目生命周期的每一个阶段,需要系统化的方法和工具来支撑。
评分近来我对如何构建一个能够应对各种突发状况的系统产生了浓厚的兴趣,于是乎我就入手了这本书。读完之后,我认为书中对“性能优化与容量规划”的深入探讨,是我受益最深的部分。作者并没有把性能优化看作是项目后期锦上添花的工作,而是强调了其在项目规划阶段就应被纳入考量。书中提供了一套循序渐进的性能分析方法,从确定关键性能指标(KPIs),到进行基准测试,再到识别性能瓶颈,每一步都进行了细致的阐述。我特别喜欢关于“数据库性能调优”的章节,作者详细讲解了如何通过索引优化、查询重写以及缓存策略来提升数据库的响应速度,这些技巧对于我日常的开发工作非常有指导意义。此外,书中对“分布式系统下的性能挑战”的分析也非常到位,它不仅指出了分布式系统带来的复杂性,还提供了相应的解决方案,比如如何进行服务拆分、如何实现负载均衡以及如何处理分布式事务。我还注意到,作者在书中对“弹性伸缩与资源管理”这一块的内容也进行了详细的介绍,它让我们了解到如何根据业务负载的变化,动态地调整系统资源,从而在保证服务可用性的同时,有效控制成本。总而言之,这本书为我提供了一个关于如何构建高性能、高可用系统的全面视角。
评分我一直对如何保证产品在复杂环境下依然稳定运行这个问题非常感兴趣,所以看到这本书的题目时,就立刻被吸引住了。读完之后,我最大的感受是,作者对于“故障预测与应急预案构建”这一块的理解非常深刻。书中提供了一套非常完善的体系,从数据采集、异常模式识别,到故障发生后的快速响应和恢复流程,都进行了详细的讲解。我印象特别深刻的是关于“灰度发布”和“回滚策略”的部分,作者用非常生动的比喻解释了这些复杂的概念,并提供了多种实操性的方案,比如如何设计自动化监控告警,以及如何建立多级故障响应机制。书中还深入探讨了“知识管理在容灾中的作用”,强调了将故障复盘经验沉淀下来,形成标准化的SOP(标准作业程序),这对于提高团队的应急处理能力非常有帮助。而且,作者并没有回避技术细节,而是用一种非常易于理解的方式,将一些底层原理,比如网络延迟、服务器负载、数据库连接池等,与容灾策略巧妙地联系起来。我特别喜欢书中关于“压力测试方法论”的阐述,它不仅仅是简单的并发测试,更是包含了对不同场景下的性能瓶颈分析,以及如何通过模拟真实用户行为来发现潜在问题。这本书让我对如何构建一个健壮、可恢复的系统有了全新的认识,对于提升我个人的技术视野和实战能力非常有帮助。
评分这本书的封面设计简洁大气,书名也直击要害,让我觉得它可能是一本能够真正解决实际问题的实操指南。当我翻开阅读后,尤其被“团队协作与沟通效率提升”这部分内容深深吸引。作者提出了一个观点,认为很多项目失败的根源在于团队内部的沟通不畅和协作失调,而这本书恰恰提供了解决方案。书中详细阐述了如何构建一个高效的项目沟通机制,包括定期的项目会议、清晰的角色分工、以及有效的反馈渠道。作者还分享了一些非常实用的工具和技术,比如使用项目管理软件来跟踪任务进度、使用在线协作平台来共享文档和信息,以及如何通过定期的团队建设活动来增强团队凝聚力。我尤其欣赏书中关于“冲突管理”的章节,它不仅仅是简单地指出冲突的存在,更是提供了多种化解冲突的策略,比如积极倾听、寻求共同点以及公平决策。这些方法让我意识到,良好的团队协作不仅仅是工作的顺利进行,更是能够有效化解内部矛盾,激发团队潜能。书中还提到了“知识共享与经验沉淀”的重要性,作者通过多个案例说明了如何通过建立内部知识库、组织技术分享会等方式,将团队的宝贵经验传承下去,这对于新成员的成长和团队整体能力的提升都至关重要。
评分东西很不错,价格也便宜
评分刚到还没看,包装的很好。
评分入手,正在研读中。
评分给公司买的,挺不错的,大家都挺喜欢,一如既往的支持京东
评分购买很方便,碰到活动时,价格非常实惠。包装完好,送货速度很快。
评分入手,正在研读中。
评分东西不错,值得下次继续购买,你值得拥有。
评分趁着活动,赶紧入手!最喜欢买书了
评分东西很不错,价格也便宜
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有