软件测试技术实战 设计、工具及管理(51Testing软件测试网作品系列)
软件测试技术实战 设计、工具及管理(51Testing软件测试网作品系列)
“51Testing软件测试网”作品系列 编辑委员会名单
书评
第1篇 软件测试设计技术
1 软件测试的基本知识
1.1 软件测试的基本理论
1.1.1 软件测试的定义
1.1.2 软件测试术语
1.1.3 软件工程模型
1.1.4 软件测试模型
1.1.5 软件测试方法
1.1.6 软件测试步骤
1.1.7 软件缺陷管理
1.1.8 测试用例
1.1.9 软件测试类型
1.1.10 软件测试曲线
1.1.11 软件的杀虫剂现象
1.2 软件测试的七项基本原则
1.2.1 原则1:软件测试显示存在缺陷
1.2.2 原则2:穷尽软件测试是不可行的
1.2.3 原则3:软件测试尽早介入
1.2.4 原则4:缺陷集群性
1.2.5 原则5:杀虫剂悖论
1.2.6 原则6:软件测试活动依赖于软件测试背景
1.2.7 原则7:不存在缺陷(即有用系统)的谬论
1.3 验证与确认的区别
1.4 本章总结
1.4.1 介绍内容
1.4.2 案例
2 传统的软件测试的设计方法
2.1 运用等价类/边界值设计测试用例
2.1.1 等价类
2.1.2 边界值
2.1.3 基于输出的等价类/边界值划分
2.1.4 测试用例的设计
2.1.5 案例
2.2 运用决策表设计测试用例
2.2.1 四边形类型判断系统
2.2.2 用户登录系统
2.2.3 飞机票定价系统
2.3 运用状态转换图设计测试用例
2.3.1 从状态转换图到状态转换树
2.3.2 从状态转换图到状态转换表
2.3.3 业务流程状态转化法
2.4 运用决策树设计测试用例
2.4.1 文本编辑软件
2.4.2 机票购买系统
2.5 运用正交法设计测试用例
2.5.1 正交法
2.5.2 浏览器组合软件测试
2.6 软件白盒测试
2.6.1 语句覆盖测试
2.6.2 分支覆盖测试
2.6.3 条件覆盖测试
2.6.4 判定/条件覆盖测试
2.6.5 MC/DC(修订的条件/分支软件测试)覆盖测试
2.6.6 路径覆盖测试
2.6.7 控制流测试
2.6.8 单元测试中的基于代码的功能测试
2.6.9 总结
2.7 测试用例设计的若干错误观点
2.7.1 能发现到目前为止没有发现的缺陷的用例是好的用例
2.7.2 测试用例应该详细记录所有的详细操作信息
2.7.3 测试用例设计出来后是不用维护的
2.7.4 测试用例不应该包含实际的数据
2.8 本章总结
2.8.1 介绍内容
2.8.2 案例
3 探索式软件测试设计方法
3.1 探索式软件测试中用到的一些方法
3.1.1 表单输入的测试探索
3.1.2 模糊查询输入框输入数据的测试探索
3.1.3 对文件的探索
3.1.4 登录界面的测试探索
3.1.5 根据机器的声音探索
3.1.6 通过查看Log日志探索
3.1.7 在开头/结尾处进行探索
3.1.8 多次执行同样操作进行探索
3.1.9 通过复制/粘贴进行探索
3.1.10 通过测试结果进行探索
3.1.11 利用反向操作进行探索
3.1.12 利用名词和动词进行探索
3.1.13 运用提问进行探索
3.1.14 函数级别的黑盒测试探索
3.1.15 运用不懂技术和业务的人员进行探索
3.1.16 并发操作的测试探索
3.1.17 页面刷新功能的测试探索
3.1.18 不常用功能的测试探索
3.1.19 URL栏的测试探索
3.1.20 突发事故的测试探索
3.1.21 界面链接的测试探索
3.1.22 需要多步操作来完成一个事务的测试探索
3.1.23 老功能的测试探索
3.1.24 重灾区的测试探索
3.1.25 强迫症测试法的测试探索
3.1.26 升级的测试探索
3.1.27 总结
3.2 基于场景的测试
3.3 本章总结
3.3.1 介绍内容
3.3.2 案例
4 基于风险的软件测试
4.1 基于风险的软件测试方法
4.2 软件测试风险级别确认与调整
4.2.1 确定风险级别
4.2.2 调整风险级别
4.3 本章总结
4.3.1 介绍内容
4.3.2 案例
5 专项软件测试设计
5.1 性能测试
5.1.1 性能测试的定义
5.1.2 由于性能测试没做到位发生的缺陷
5.1.3 性能指标
5.1.4 性能计数器
5.1.5 性能测试类型
5.1.6 性能测试可以发现的问题
5.1.7 性能调优
5.1.8 性能测试角色
5.1.9 性能测试工具
5.1.10 性能测试流程
5.2 嵌入式软件的基本测试方法
5.2.1 嵌入式软件测试流程
5.2.2 单元测试和集成测试
5.2.3 插桩技术
5.2.4 嵌入式软件测试工具
5.3 本章总结
5.3.1 介绍内容
5.3.2 案例
6 云计算、大数据的软件测试方法
6.1 如何对大数据软件产品进行软件测试
6.1.1 前言
6.1.2 新产品的软件测试
6.1.3 老产品的升级测试
6.2 云计算软件测试应注意的问题
6.2.1 云计算中增加了供应商角色,给云计算测试带来复杂性
6.2.2 云计算中使用虚拟技术,给性能测试带来的影响
6.2.3 增加按照使用量收费的软件测试方法
6.2.4 安全性测试
6.2.5 定位问题
6.2.6 法律法规问题
6.2.7 迁移性软件测试
6.2.8 功能测试
6.2.9 自动化测试
6.3 云计算的优缺点
6.3.1 优点
6.3.2 缺点
6.4 文档、环境、数据在云软件测试中的管理
6.4.1 文档管理
6.4.2 云计算软件测试环境管理
6.4.3 云计算软件测试数据管理
6.4.4 变更管理与版本控制
6.5 本章总结
6.5.1 介绍内容
6.5.2 案例
第2篇 软件测试工具
7 软件测试工具总览
7.1 软件测试工具介绍
7.1.1 普通软件测试工具推荐
7.1.2 APP软件测试工具
7.1.3 软件测试工具介绍
7.1.4 软件测试工具的类型
7.2 关于自动化测试工具
7.2.1 自动化测试工具本身也是软件,也要重视工具本身的质量
7.2.2 自动化测试工具要随用户的需求变化而变化
7.2.3 不是所有的功能都可以作自动化测试
7.2.4 探索式软件测试也可由自动化测试来实现
7.2.5 是否需要采用自动化测试,需要考虑测试的效率
7.2.6 自动化测试可以覆盖软件测试中的每个阶段
7.2.7 软件测试自动化是敏捷开发强有力的工具
7.2.8 不要盲目选用现有的自动化测试工具
7.2.9 各种类型的自动化测试工具的比较
7.3 本章总结
介绍内容
8 单元测试工具
8.1 单元测试工具JUnit 4如何在Eclipse中使用
8.1.1 JUnit 4环境的配置
8.1.2 JUnt4测试用例的运行和调试
8.1.3 对代码的详细介绍
8.1.4 对JUnit 4的高级操作
8.1.5 介绍一下断言
8.1.6 案例分析
8.2 本章总结
8.2.1 介绍内容
8.2.2 案例
9 性能测试工具
9.1 LoadRunner工具介绍
9.1.1 LoadRunner简介
9.1.2 LoadRunner性能测试工具架构
9.1.3 LoadRunner基本功能使用技巧
9.1.4 用LoadRunner实现APP压力测试
9.1.5 案例
9.2 本章总结
9.2.1 介绍内容
9.2.2 案例
10 缺陷管理工具
10.1 Bugzilla使用指南
10.1.1 什么是Bugzilla
10.1.2 为什么使用Bugzilla
10.1.3 新建一个Bugzilla账号
10.1.4 产品和结构
10.1.5 Bug报告状态分类和Bug处理意见
10.1.6 指定处理人
10.1.7 超链接
10.1.8 概述
10.1.9 硬件平台和操作系统
10.1.10 版本
10.1.11 Bug报告优先级
10.1.12 Bug状态
10.1.13 报告人
10.1.14 邮件抄送列表
10.1.15 从属关系
10.1.16 附加描述
10.1.17 Bug查找
10.1.18 Bug列表
10.1.19 用户属性设置
10.2 案例
10.3 本章总结
10.3.1 介绍内容
10.3.2 案例
11 APP软件测试工具
11.1 UiAutomator工具介绍
11.1.1 使用UiAutomator工具的优点
11.1.2 下载和配置
11.1.3 开发测试代码
11.1.4 UiAutomator API详解
11.1.5 案例分析
11.2 Selenium和WebDriver工具入门介绍
11.2.1 环境安装
11.2.2 WebDriver对浏览器的支持
11.2.3 操作指南
11.2.4 案例分析
11.3 Monkey工具介绍
11.3.1 Monkey的特征
11.3.2 基本语法
11.3.3 检查安卓设备中有什么包
11.3.4 Monkey的参数列表
11.3.5 利用Monkey进行稳定性测试
11.3.6 Monkey脚本
11.4 精准测试工具——星云测试平台
11.4.1 精准测试理念
11.4.2 星云测试工具客户端下载与配置
11.4.3 项目编译
11.4.4 执行测试
11.5 本章总结
11.5.1 介绍内容
11.5.2 案例
第3篇 软件测试管理
12 软件测试与质量文档
12.1 研发过程管理工作规范
12.2 飞天e-购网软件测试报告
12.3 BBS软件测试报告
12.4 数字电视机顶盒中间件集成测试计划书
12.5 BBS主测试计划
12.6 BBS级别测试计划
12.7 软件缺陷管理流程
12.8 本章总结
13 软件测试管理
13.1 软件测试团队组成结构分析
13.1.1 方案一
13.1.2 方案二
13.2 软件测试过程
13.3 软件测试的独立性
13.4 从微软裁员首裁软件测试工程师谈起
13.5 软件测试的本质
13.5.1 纯软件测试方法介绍
13.5.2 纯软件测试方法在Sprint中的运用
13.5.3 纯软件测试方法与软件质量的关系
13.6 对敏捷开发的一些思考
13.6.1 简介
13.6.2 敏捷开发的优点
13.6.3 敏捷开发的缺点
13.6.4 总结
13.7 精益创业与探索式软件测试
13.8 本章总结
13.8.1 介绍内容
13.8.2 案例
14 软件测试工程师的职业素质
14.1 如何成为一名优秀的软件测试工程师
14.1.1 起码有3年以上的软件开发经验
14.1.2 具有逆向思维的能力
14.1.3 具有敏锐的洞察力和锲而不舍的精神
14.1.4 具有发散性思维的能力
14.1.5 擅于同软件开发工程师沟通
14.1.6 擅于同领导沟通
14.1.7 掌握一些自动化软件测试工具和脚本
14.1.8 擅于学习
14.1.9 提高自己的表达能力
14.1.10 了解业务知识
14.1.11 培养对软件测试的兴趣
14.1.12 追求完美
14.2 如何成为一名优秀的软件质量保证工程师
14.2.1 具有软件开发,软件测试和实施经验
14.2.2 具有一定的统计学基础
14.2.3 强大的沟通能力
14.2.4 专业的管理和质量知识
14.3 软件测试好书推荐
14.3.1 《软件测试的艺术》
14.3.2 《赢在测试2-中国软件测试专家访谈录》
14.3.3 《探索式软件测试》
14.3.4 《探索式测试实践之路》
14.3.5 《探索吧!深入理解探索式软件测试》
14.3.6 《云服务测试 如何高效地进行云计算测试》
14.3.7 《Google软件测试之道》
14.3.8 《软件测试经验与教训》
14.3.9 《学习要像加勒比海盗》
14.4 云计算中发生的事故
14.4.1 Google应用引擎平台宕机
14.4.2 Google Gmail和日历服务中断
14.4.3 Google Voice服务宕机
14.4.4 亚马逊S3服务故障
14.4.5 亚马逊EC2云计算服务遭到僵尸网络攻击
14.4.6 微软爆发BPOS服务中断事件
14.4.7 Amazon主页故障
14.5 ISTQB和CSTQB
ISTQB和CSTQB简介
14.6 本章总结
介绍内容
思维导图
防止博客图床图片失效,防止图片源站外链:
http://www.processon.com/chart_image/5e5b41eee4b0d4dc8776ddf7.png)
思维导图在线编辑链接: