编辑推荐
本书的特色在于将大量的技术赋予了实际的应用场景,让读者能够更加清晰地把握如何将测试技术应用于具体实践的同时,为测试团队实施相关技术方案带来信心。本书的技术内容和流程方法倾注了作者多年的从业经验,读者可以基于该书的内容为模板,迅速展开合理、规范和有序的测试工作。书中所讲述的测试技术都是作者精心选取的主流技术,体现了作者丰富的行业经验和对新技术发展方向敏锐的洞察力,初级以及zi深的读者均可受益于本书的精彩内容。
·结合案例介绍基于传统和经验的软件测试设计方法
·介绍性能测试、嵌入式测试、大数据测试、云计算测试技术
·介绍Junit4、LoadRunner、Bugzilla、UiAutomator、Selenium&Webdriver;、Monkey和星云测试工具的使用
·讲解软件测试与质量文档、软件测试管理的知识,以及软件测试工程师的职业规划
内容简介
本书是作者总结十几年的软件测试的实践经验写成的,希望通过来自一线的实践知识和技能,帮助读者打开一扇通往软件测试之路的大门,寻找到解决测试问题的技术、技巧和方法,体验到测试工作中“逮”Bug犹如“寻宝”的乐趣。全书分为“设计”“工具”和“管理”3篇,共14章,每章的内容虽有一定的联系,但也可各自独立,读者可以根据自己的需求,按照书的内容顺序阅读,也可以根据自己的兴趣选取相关章节阅读。
本书可供软件测试初学者、测试从业人员阅读,也可作为大专院校计算机软件专业学生的参考书,还可作为培训学校的教材。
作者简介
顾翔,毕业于北京工业大学,毕业后即从事软件开发,2002年开始从事软件测试工作,曾经在各大知名的互联网公司、嵌入式软件公司、通信公司和网络管理软件公司等担任软件测试工程师、软件测试经理等职务,积累了丰富的软件测试知识和实践经验。现专职从事软件开发与测试、大数据及云计算相关的培训工作,是中关村智联软件服务业质量创新联盟成员,被北京软件和信息服务业协会、北京课通天下、上海宇谷培训公司、上海知言网络科技有限公司和中睿信息技术有限公司聘为高级zi深讲师。2014年,接受51测试网的专访:《51Testing专访顾翔—解读开发转测试的趣味人生》,并且在51testing发布了一系列个人专刊,如《测试专刊-顾翔与你一起漫谈测试》和《测试专刊-白云群中话计算》等。
目录
第1篇 软件测试设计技术
第1章 软件测试的基本知识 3
1.1 软件测试的基本理论 4
1.1.1 软件测试的定义 4
1.1.2 软件测试术语 5
1.1.3 软件工程模型 9
1.1.4 软件测试模型 10
1.1.5 软件测试方法 12
1.1.6 软件测试步骤 13
1.1.7 软件缺陷管理 14
1.1.8 测试用例 16
1.1.9 软件测试类型 19
1.1.10 软件测试曲线 28
1.1.11 软件的杀虫剂现象 29
1.2 软件测试的七项基本原则 29
1.2.1 原则1:软件测试显示
存在缺陷 30
1.2.2 原则2:穷尽软件测试
是不可行的 30
1.2.3 原则3:软件测试尽早
介入 30
1.2.4 原则4:缺陷集群性 30
1.2.5 原则5:杀虫剂悖论 31
1.2.6 原则6:软件测试活动
依赖于软件测试背景 31
1.2.7 原则7:不存在缺陷
(即有用系统)的谬论 31
1.3 验证与确认的区别 31
1.4 本章总结 33
1.4.1 介绍内容 33
1.4.2 案例 34
第2章 传统的软件测试的设计方法 36
2.1 运用等价类/边界值设计测
试用例 37
2.1.1 等价类 37
2.1.2 边界值 38
2.1.3 基于输出的等价类/
边界值划分 39
2.1.4 测试用例的设计 39
2.1.5 案例 41
2.2 运用决策表设计测试用例 41
2.2.1 四边形类型判断系统 41
2.2.2 用户登录系统 43
2.2.3 飞机票定价系统 45
2.3 运用状态转换图设计测试用例 48
2.3.1 从状态转换图到状态
转换树 49
2.3.2 从状态转换图到状态
转换表 51
2.3.3 业务流程状态转化法 52
2.4 运用决策树设计测试用例 53
2.4.1 文本编辑软件 53
2.4.2 机票购买系统 54
2.5 运用正交法设计测试用例 55
2.5.1 正交法 56
2.5.2 浏览器组合软件测试 56
2.6 软件白盒测试 58
2.6.1 语句覆盖测试 59
2.6.2 分支覆盖测试 61
2.6.3 条件覆盖测试 63
2.6.4 判定/条件覆盖测试 65
2.6.5 MC/DC(修订的条件/分支
软件测试)覆盖测试 66
2.6.6 路径覆盖测试 67
2.6.7 控制流测试 68
2.6.8 单元测试中的基于代码的
功能测试 69
2.6.9 总结 70
2.7 测试用例设计的若干错误观点 70
2.7.1 能发现到目前为止没有
发现的缺陷的用例是
好的用例 70
2.7.2 测试用例应该详细记录
所有的详细操作信息 70
2.7.3 测试用例设计出来后是
不用维护的 71
2.7.4 测试用例不应该包含
实际的数据 71
2.8 本章总结 71
2.8.1 介绍内容 71
2.8.2 案例 72
第3章 探索式软件测试设计方法 74
3.1 探索式软件测试中用到的
一些方法 75
3.1.1 表单输入的测试探索 75
3.1.2 模糊查询输入框输入
数据的测试探索 77
3.1.3 对文件的探索 78
3.1.4 登录界面的测试探索 79
3.1.5 根据机器的声音探索 79
3.1.6 通过查看Log日志
探索 80
3.1.7 在开头/结尾处进行
探索 80
3.1.8 多次执行同样操作
进行探索 80
3.1.9 通过复制/粘贴进行
探索 81
3.1.10 通过测试结果进行
探索 82
3.1.11 利用反向操作进行
探索 83
3.1.12 利用名词和动词进行
探索 83
3.1.13 运用提问进行探索 84
3.1.14 函数级别的黑盒测试
探索 85
3.1.15 运用不懂技术和业务的
人员进行探索 85
3.1.16 并发操作的测试探索 85
3.1.17 页面刷新功能的测试
探索 87
3.1.18 不常用功能的测试
探索 87
3.1.19 URL栏的测试探索 87
3.1.20 突发事故的测试探索 88
3.1.21 界面链接的测试探索 88
3.1.22 需要多步操作来完成
一个事务的测试探索 89
3.1.23 老功能的测试探索 89
3.1.24 重灾区的测试探索 90
3.1.25 强迫症测试法的测试
探索 90
3.1.26 升级的测试探索 91
3.1.27 总结 91
3.2 基于场景的测试 92
3.3 本章总结 94
3.3.1 介绍内容 94
3.3.2 案例 95
第4章 基于风险的软件测试 97
4.1 基于风险的软件测试方法 98
4.2 软件测试风险级别确认与
调整 101
4.2.1 确定风险级别 101
4.2.2 调整风险级别 103
4.3 本章总结 105
4.3.1 介绍内容 105
4.3.2 案例 105
第5章 专项软件测试设计 106
5.1 性能测试 107
5.1.1 性能测试的定义 107
5.1.2 由于性能测试没做
到位发生的缺陷 107
5.1.3 性能指标 107
5.1.4 性能计数器 110
5.1.5 性能测试类型 118
5.1.6 性能测试可以发现的
问题 119
5.1.7 性能调优 119
5.1.8 性能测试角色 121
5.1.9 性能测试工具 122
5.1.10 性能测试流程 123
5.2 嵌入式软件的基本测试方法 125
5.2.1 嵌入式软件测试
流程 125
5.2.2 单元测试和集成
测试 127
5.2.3 插桩技术 127
5.2.4 嵌入式软件测试
工具 127
5.3 本章总结 129
5.3.1 介绍内容 129
5.3.2 案例 129
第6章 云计算、大数据的软件测试
方法 131
6.1 如何对大数据软件产品进行
软件测试 132
6.1.1 前言 132
6.1.2 新产品的软件测试 132
6.1.3 老产品的升级测试 132
6.2 云计算软件测试应注意的
问题 133
6.2.1 云计算中增加了供应商
角色,给云计算测试带
来复杂性 133
6.2.2 云计算中使用虚拟技术,
给性能测试带来的影响 134
6.2.3 增加按照使用量收费的
软件测试方法 134
6.2.4 安全性测试 135
6.2.5 定位问题 135
6.2.6 法律法规问题 136
6.2.7 迁移性软件测试 136
6.2.8 功能测试 137
6.2.9 自动化测试 138
6.3 云计算的优缺点 138
6.3.1 优点 138
6.3.2 缺点 140
6.4 文档、环境、数据在云软件
测试中的管理 141
6.4.1 文档管理 141
6.4.2 云计算软件测试环境
管理 142
6.4.3 云计算软件测试数据
管理 143
6.4.4 变更管理与版本
控制 143
6.5 本章总结 144
6.5.1 介绍内容 144
6.5.2 案例 144
参考文献 145
第2篇 软件测试工具
第7章 软件测试工具总览 149
7.1 软件测试工具介绍 150
7.1.1 普通软件测试工具推荐 150
7.1.2 APP软件测试工具 150
7.1.3 软件测试工具介绍 151
7.1.4 软件测试工具的类型 153
7.2 关于自动化测试工具 154
7.2.1 自动化测试工具本身
也是软件,也要重视
工具本身的质量 154
7.2.2 自动化测试工具要随用
户的需求变化而变化 155
7.2.3 不是所有的功能都可以
作自动化测试 155
7.2.4 探索式软件测试也可由
自动化测试来实现 155
7.2.5 是否需要采用自动化测试,
需要考虑测试的效率 155
7.2.6 自动化测试可以覆盖软
件测试中的每个阶段 156
7.2.7 软件测试自动化是敏捷
开发强有力的工具 156
7.2.8 不要盲目选用现有的自
动化测试工具 156
7.2.9 各种类型的自动化测试
工具的比较 157
7.3 本章总结 158
第8章 单元测试工具 160
8.1 单元测试工具JUnit 4如何
在Eclipse中使用 161
8.1.1 JUnit 4环境的配置 161
8.1.2 JUnt4测试用例的运行
和调试 164
8.1.3 对代码的详细介绍 166
8.1.4 对JUnit 4的高级操作 167
8.1.5 介绍一下断言 171
8.1.6 案例分析 173
8.2 本章总结 175
8.2.1 介绍内容 175
8.2.2 案例 175
第9章 性能测试工具 176
9.1 LoadRunner工具介绍 177
9.1.1 LoadRunner简介 177
9.1.2 LoadRunner性能测试
工具架构 177
9.1.3 LoadRunner基本功能
使用技巧 178
9.1.4 用LoadRunner实现APP
压力测试 207
9.1.5 案例 209
9.2 本章总结 214
9.2.1 介绍内容 214
9.2.2 案例 214
第10章 缺陷管理工具 215
10.1 Bugzilla使用指南 216
10.1.1 什么是Bugzilla 216
10.1.2 为什么使用Bugzilla 216
10.1.3 新建一个Bugzilla
账号 216
10.1.4 产品和结构 217
10.1.5 Bug报告状态分类和Bug
处理意见 217
10.1.6 指定处理人 218
10.1.7 超链接 218
10.1.8 概述 218
10.1.9 硬件平台和操作系统 218
10.1.10 版本 218
10.1.11 Bug报告优先级 218
10.1.12 Bug状态 218
10.1.13 报告人 219
10.1.14 邮件抄送列表 219
10.1.15 从属关系 219
10.1.16 附加描述 219
10.1.17 Bug查找 219
10.1.18 Bug列表 220
10.1.19 用户属性设置 220
10.2 案例 220
10.3 本章总结 225
10.3.1 介绍内容 225
10.3.2 案例 226
第11章 APP软件测试工具 227
11.1 UiAutomator工具介绍 228
11.1.1 使用UiAutomator
工具的优点 229
11.1.2 下载和配置 229
11.1.3 开发测试代码 232
11.1.4 UiAutomator API
详解 245
11.1.5 案例分析 258
11.2 Selenium和WebDriver工具
入门介绍 264
11.2.1 环境安装 265
11.2.2 WebDriver对浏览器的
支持 268
11.2.3 操作指南 269
11.2.4 案例分析 272
11.3 Monkey工具介绍 293
11.3.1 Monkey的特征 293
11.3.2 基本语法 293
11.3.3 检查安卓设备中有
什么包 293
11.3.4 Monkey的参数列表 294
11.3.5 利用Monkey进行
稳定性测试 297
11.3.6 Monkey脚本 298
11.4 精准测试工具——星云
测试平台 298
11.4.1 精准测试理念 298
11.4.2 星云测试工具客户端
下载与配置 299
11.4.3 项目编译 300
11.4.4 执行测试 305
11.5 本章总结 311
11.5.1 介绍内容 311
11.5.2 案例 312
参考文献 313
第3篇 软件测试管理
第12章 软件测试与质量文档 317
12.1 研发过程管理工作规范 318
12.2 飞天e-购网软件测试报告 360
12.3 BBS软件测试报告 375
12.4 数字电视机顶盒中间件集成
测试计划书 378
12.5 BBS主测试计划 383
12.6 BBS级别测试计划 392
12.7 软件缺陷管理流程 398
12.8 本章总结 409
第13章 软件测试管理 410
13.1 软件测试团队组成结构分析 411
13.1.1 方案一 411
13.1.2 方案二 412
13.2 软件测试过程 413
13.3 软件测试的独立性 417
13.4 从微软裁员首裁软件测试
工程师谈起 419
13.5 软件测试的本质 421
纯软件
测试方法
介绍 421
13.5.2 纯软件测试方法在
Sprint中的运用 422
13.5.3 纯软件测试方法与软件质量的关系 423
13.6 对敏捷开发的一些思考 424
13.6.1 简介 424
13.6.2 敏捷开发的优点 424
13.6.3 敏捷开发的缺点 426
13.6.4 总结 427
13.7 精益创业与探索式软件
测试 427
13.8 本章总结 428
13.8.1 介绍内容 428
13.8.2 案例 429
第14章 软件测试工程师的职业
素质 430
14.1 如何成为一名优秀的软件
测试工程师 431
14.1.1 起码有3年以上的
软件开发经验 431
14.1.2 具有逆向思维的
能力 432
14.1.3 具有敏锐的洞察力和
锲而不舍的精神 432
14.1.4 具有发散性思维的
能力 432
14.1.5 擅于同软件开发工程
师沟通 432
14.1.6 擅于同领导沟通 433
14.1.7 掌握一些自动化软件
测试工具和脚本 433
14.1.8 擅于学习 434
14.1.9 提高自己的表达
能力 434
14.1.10 了解业务知识 434
14.1.11 培养对软件测试的
兴趣 434
14.1.12 追求完美 434
14.2 如何成为一名优秀的软件
质量保证工程师 435
14.2.1 具有软件开发,软件
测试和实施经验 435
14.2.2 具有一定的统计学
基础 435
14.2.3 强大的沟通能力 436
14.2.4 专业的管理和质量
知识 436
14.3 软件测试好书推荐 436
14.3.1 《软件测试的艺术》 436
14.3.2 《赢在测试2-中国软件
测试专家访谈录》 437
14.3.3 《探索式软件测试》 437
14.3.4 《探索式测试实践
之路》
软件测试技术实战 设计、工具及管理 epub pdf mobi txt 电子书 下载 2024
软件测试技术实战 设计、工具及管理 下载 epub mobi pdf txt 电子书 2024