曹向志老师新书《软件测试项目实战:技术·流程·管理·实践》简介
本书前言
迄今为止,软件测试是人类所能找到的能确保交付软件质量的最好方法。本书是作者12年软件测试行业工作实践的成果,尤其是在金融行业外包项目测试工作的2年时间里以及在软件测试培训行业工作的两年时间里,对我产生了深远的影响。对于我们国内最早一批从事软件测试工作的先行者来说,把自己的工作体验拿出来与测试同行分享那应该算是一件非常热爱软件测试工作的一种表现,而我本人在培训企业工作的经历使我拓展了测试视野,也亲身设计了多门课程(并非在市场公开销售培训书籍),而从事外包项目管理的工作经验,我们感受到了测试技术在实践中的运用也不是一件容易的事情,且项目中很多不是技术本身的事情,当我坐在电脑前面,开始策划编写一本集测试技术、测试方法和测试管理的书籍,曾几何时下定了多少的决心,因为我知道,策划编写一本书是需要付出多少的时间和辛苦,而这些时间你可能用来陪家人和孩子,可能与朋友畅谈,可能在咖啡馆或酒吧享受人生,但是当我开始写和编写的过程中,得到了很多同行的支持,大家也都期待有一本讲述测试项目管理的书籍,这些是我坚持写完这本书的最大动力。 软件测试行业的发展,需要我们每个人的努力,希望同行们加倍努力,研究测试技术、测试方法,让我们国内的软件测试水平达到国际先进水平。因为测试技术本身是与软件应用的领域和行业相关的,软件测试技术跟软件开发一样,必将进行细分,在各行各业从事软件测试的同行,都可能成为该领域的测试专家。 不管如何,我写完了这本书,当你拿到这本书时,不管它是否适合你,或者它的内容质量是否好,你都可以在我的blog(http://www.bt-test.com/,软件测试中文站)发表意见,那将成为我改进的动力。我们也可以交流测试工作经验和心得体会。 虽然这本书经过了多次校对,但是因为毕竟是我在实践中整理的内容,难免在认识上存在误区或片面的地方,这也难免,测试技术本身正在发展之中,可以说是百花齐放,百家争鸣的时代,欢迎同行们提出意见和斧正。 |
图书目录
第一章、 测试实践方法论 1
简介 2
1.1软件测试的发展历程、现状及未来 2
1.2外包测试外包项目分类和发展趋势 3
1.3软件测试方法论 4
1.3.1软件测试目的演变 5
1.3.2坚持软件测试的原则 6
1.3.3不要被多种测试类型分类所迷惑 8
1.3.4两种最常用的软件测试模型 11
1.4可纳入测试规范的测试活动流程 13
1.5对软件测试理解的误区 15
1.6测试岗位对人员基本素质要求 17
1.7检查自己知识的储备够不够 17
1.7.1操作系统知识 17
1.7.2 TCP/IP协议 19
1.7.3DNS域名服务 22
1.7.4DHCP 23
1.7.5HTTP协议简介 25
1.8金融行业软件系统特点和测试特点 30
第二章、 软件质量和缺陷报告 33
简介 34
2.1软件质量 34
2.1.1质量的定义 34
2.1.2测试度量 35
2.2理解国标中的质量模型 36
2.3软件缺陷不再仅仅是小“bug” 39
2.4测试工作离不了的缺陷报告 43
2.4.1测试能力成熟度决定您的缺陷报告要素有多少 44
2.4.2缺陷严重程度5级分类 45
2.4.3缺陷的6种状态 47
2.4.4缺陷报告填写不能没有规范 48
2.5定制您们团队的缺陷跟踪流程 48
2.6选用缺陷跟踪工具提高团队工作效率 59
2.6.1功能全面的Quality Center工具 59
2.6.2小巧精干的Butterfly工具 62
2.7缺陷故障模型 65
2.8典型缺陷分析 67
第三章、文档审查和测试需求分析 70
简介 71
3.1文档审查和评审 71
3.1.1业务需求规格说明书审查 71
3.1.2概要设计文档审查 71
3.1.3安装部署文档审查 72
3.1.4用户手册审查 72
3.1.5在线帮助审查 73
3.1.6项目测试中的评审活动 73
3.2测试活动的基础—测试需求分析 74
3.2.1如何理解测试需求 74
3.2.2测试需求分析 75
3.3使用QC管理测试需求 77
3.3.1定制字段让测试需求表现更充分 78
3.3.2从Excel导入测试需求 79
第四章、测试设计 84
4.1给测试用例下个定义 85
4.2测试用例要素最小集 85
4.3等价类划分 86
4.3.1等价类划分设计方法的基础 86
4.3.2等价类划分设计方法的运用 88
4.4边界值 92
4.4.1边界值设计方法的基础 92
4.4.2边界值设计方法的运用 93
4.5因果图 94
4.5.1因果图设计基础 94
4.5.2因果图设计方法的运用 96
4.6测试用例管理 97
4.6.1QC中测试用例组织和编写 97
4.6.2从Excel导入测试用例 98
4.6.3测试需求和测试用例相互关联 101
4.7测试用例设计 102
4.7.1集成测试用例设计 104
4.7.2功能测试用例设计 105
4.7.3性能测试用例设计 106
4.7.4测试用例说明 108
4.8熟悉项目中运用的“新”知识 109
4.8.1柜面(ACE)介绍 109
4.8.2事务中间件-Tuxedo 112
4.9在测试中采用界面测试规范 113
4.9.1C/S界面设计规范 113
4.9.2B/S界面规范 117
第五章、做好项目测试计划 124
简介 125
5.1测试活动变化也要制定测试计划 125
5.2测试目标和范围 126
5.3测试资源 128
5.4进度计划 128
5.5测试约束条件 129
5.6测试轮次 131
5.7测试策略 131
5.8项目风险 133
5.9测试约定 134
5.10编写性能测试计划关注点 134
5.11系统测试计划模板 136
第六章、单元测试及结果审核 161
简介 162
6.1白盒测试基础 162
6.1.1语句覆盖 163
6.1.2判定覆盖\分支覆盖 164
6.1.3条件覆盖 164
6.1.4判定-条件覆盖 165
6.1.5条件组合测试 165
6.1.6路径测试 166
6.1.7循环测试 166
6.2单元测试 169
6.2.1单元测试步骤 169
6.2.2单元测试内容 170
6.2.3单元测试用例设计 171
6.3测试驱动框架 172
6.3.1JUnit介绍 172
6.3.2JUnit运用案例 174
6.4每日构建 179
6.5单元测试结果审核 182
第七章、产品集成测试 188
简介 189
7.1产品集成测试关注点 189
7.2产品集成测试 190
7.3集成测试计划 192
7.4集成测试设计 193
7.5集成测试执行 195
7.6集成测试总结分析 196
第八章、项目功能测试 198
简介 199
8.1执行前的工作都做完了吗 199
8.2最重要的确认—测试计划和用例评审 199
8.3独立的测试执行环境 200
8.4测试数据准备好了吗 200
8.5参数、流程等配置也不可或缺 201
8.6把握功能测试入口条件的冒烟测试 201
8.7项目经理的烦心事—工作分工和跟踪 202
8.8 管理工具也需要规则—QC中测试执行要求 203
8.9使用PL/SQL Developer获取对比的数据 208
8.9.1编写存储过程 211
8.10测试过程中的数据采集和分析 213
8.10.1数据采集和度量 214
8.10.2多角度展示缺陷统计数据 215
8.10.3测试用例执行统计和需求覆盖统计 217
8.10.4如何给客户做测试有效性分析 218
第九章、项目性能测试 220
简介 221
9.1把握性能测试中概念 221
9.2测试执行准备工作也重要 223
9.3判断设备选型性能评估 224
9.3.1用户业务状况分析 225
9.3.2系统服务器处理能力估算原则 225
9.3.3数据库服务器处理能力估算结果 227
9.3.4应用服务器处理能力估算结果 227
9.3.5主机内存容量估算 227
9.3.6 I/O资源 228
9.3.7存储设备硬件配置估算 228
9.4为测试整合测试工具 231
9.5资源监控和数据采集 232
9.5.1Unix/Linux监控指标 232
9.5.2Oracle 监控指标 235
9.5.3Informix监控 240
9.5.4Weblogic监控指标 245
9.5.5 Apache监控 250
9.5.6Tuxedo监控 253
9.6启用IP欺骗 254
9.7性能测试过程 257
9.7.1轻松创建虚拟用户 258
9.7.2创建真实的负载 259
9.7.3实时监控场景 260
9.7.4分析测试结果 260
9.8构造测试基础数据 261
9.9 LoadRunner和QC完美结合 264
9.10某信息化系统性能测试案例 266
9.10.1分析性能需求 266
9.10.2测试场景设计与开发 269
9.10.3性能测试建模 270
9.10.4构造测试基础数据 271
9.10.5测试环境 272
9.10.6测试策略 273
9.10.7测试场景设计 275
9.10.8测试脚本录制和修改 276
9.10.9参数关联和参数化 287
9.10.10测试结果分析和调优 288
9.11常见性能故障模型 292
9.12性能测试中需要注意的一些问题 296
第十章、用户验收测试和测试报告评审 299
简介 300
10.1用户验收测试 300
10.2测试报告 301
10.3测试报告评审 302
第十一章、项目测试也要自动化 303
简介 304
11.1自动化测试面面观 304
11.2千万别误解自动化测试 306
11.3自动化测试不可缺少的工具 307
11.4功能自动化测试工具-QuickTest Professional 309
11.4.1脚本录制方式 311
11.4.2QTP各种参数设置 311
11.4.3测试结果分析 318
11.5QTP对象识别 319
11.6QC和QTP构建自动化测试框架 321
11.6.1BPT介绍 321
11.6.2工具连接 322
11.6.3BPT使用经验 327
11.7自动化测试流程 330
11.8自动化测试脚本编写规范 331
第十二章、测试项目管理 339
简介 340
12.1项目工作量评估模型 340
12.1.1开发比例法 341
12.1.2外包项目经验类比法 342
12.1.3WBS估算法 344
12.1.4Delphi法 348
12.2测试范围控制 349
12.3项目控制 350
12.3.1项目经理对项目控制 350
12.3.2管理层对项目的控制 352
12.4测试团队工作质量保障 353
12.4.1同行评审 353
12.4.2QA审计 354
12.5测试团队人员管理 358
12.5.1组织架构 358
12.5.2测试团队中各岗位职责 358
12.5.3组建适合您需要的测试团队 361
12.5.4绩效考核 362
12.6不可小视的风险管理 364
12.6.1项目风险 365
12.6.2组织风险 368
12.6.3技术风险 370
12.6.4风险分析和风险跟踪 372
12.7您40%的时间是在沟通 375
12.7.1 书面沟通 375
12.7.2 会议沟通 379
12.7.3 口头和IM沟通 379
12.7.4沟通中注意事项 379
12.8用数据度量项目 380
12.8.1时间和开销度量 380
12.8.2缺陷度量 381
12.8.3测试用例度量 383
12.9似乎不重要的配置管理 383
附件一:功能测试报告模板 388
G.1目的 390
G.2输入文档 390
G.3测试实际进度 390
G.4测试版本 391
G.5测试环境 391
G.6系统测试所完成的测试类型 392
G.7测试结果分析 392
G.7.1测试用例执行分析 392
G.7.2测试需求覆盖分析 393
G.7.3安全性测试和分析 393
G.7.4缺陷分布分析 394
G.7.5重点/典型缺陷分析 395
G.7.6遗留缺陷 395
G.7.7测试过程分析 395
G.7.8测试有效性分析 396
G.8量化分析 396
G.8.1缺陷数据 396
G.8.2偏差原因分析 397
G.8.3对策或调整措施 397
G.9测试结论及产品质量分析 397
G.10缺陷清单 398
附件二:性能测试报告模板 399
G.1测试范围 401
G.1.1性能需求指标 401
G.1.2典型交易 401
G.1.3指标收集 402
G.2测试环境 402
G.2.1测试环境部署架构图 402
G.2.2测试环境软硬件配置 402
G.3测试方案 404
G.3.1模拟数据 404
G.3.2网络带宽 404
G.3.3测试约定 405
G.4测试结果 405
G.5测试中间结果 405
G.5.1单业务基准测试结果 405
G.5.2单业务场景测试结果 406
G.5.3混合业务场景测试结果 407
G.5.4大数据量下单业务场景测试结果 407
G.5.5大数据量下混合业务场景测试结果 408
G.5.6大数据量下稳定性测试结果 409
G5.7清算性能测试结果 410
G.6调优过程和结果分析 411
G.6.1第一轮测试 411
G.6.2第二轮测试 411
G.7性能测试缺陷 411
G.7.1缺陷列表 411
G.7.2遗留缺陷分析 411
G.8系统评价 412
附件三:测试总结报告模板 413
G.1目的 415
G.2输入文档 415
G.3测试实际进度 416
G.4测试结果分析 416
G.4.1测试需求覆盖情况 416
G.4.2用例执行情况分析 417
G.4.3缺陷分析统计 417
G.4.4系统性能指标分析 418
G.5系统遗留缺陷 419
G.6过程问题回顾 419
G.7测试结论及产品质量分析 419
G.8缺陷清单 420