软件测试技术实战 设计、工具及管理 9787115453921,7115453926

配送至
$ $ USD 美元

编辑推荐

本书的特色在于将大量的技术赋予了实际的应用场景,让读者能够更加清晰地把握如何将测试技术应用于具体实践的同时,为测试团队实施相关技术方案带来信心。本书的技术内容和流程方法倾注了作者多年的从业经验,读者可以基于该书的内容为模板,迅速展开合理、规范和有序的测试工作。书中所讲述的测试技术都是作者精心选取的主流技术,体现了作者丰富的行业经验和对新技术发展方向敏锐的洞察力,初级以及zi深的读者均可受益于本书的精彩内容。

·结合案例介绍基于传统和经验的软件测试设计方法
·介绍性能测试、嵌入式测试、大数据测试、云计算测试技术
·介绍Junit4、LoadRunner、Bugzilla、UiAutomator、Selenium&Webdriver、Monkey和星云测试工具的使用
·讲解软件测试与质量文档、软件测试管理的知识,以及软件测试工程师的职业规划

作者简介

顾翔,毕业于北京工业大学,毕业后即从事软件开发,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.5MC/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.19URL栏的测试探索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.2APP软件测试工具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单元测试工具JUnit4如何在Eclipse中使用161
8.1.1JUnit4环境的配置161
8.1.2JUnt4测试用例的运行和调试164
8.1.3对代码的详细介绍166
8.1.4对JUnit4的高级操作167
8.1.5介绍一下断言171
8.1.6案例分析173
8.2本章总结175
8.2.1介绍内容175
8.2.2案例175
第9章性能测试工具176
9.1LoadRunner工具介绍177
9.1.1LoadRunner简介177
9.1.2LoadRunner性能测试工具架构177
9.1.3LoadRunner基本功能使用技巧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.1Bugzilla使用指南216
10.1.1什么是Bugzilla216
10.1.2为什么使用Bugzilla216
10.1.3新建一个Bugzilla账号216
10.1.4产品和结构217
10.1.5Bug报告状态分类和Bug处理意见217
10.1.6指定处理人218
10.1.7超链接218
10.1.8概述218
10.1.9硬件平台和操作系统218
10.1.10版本218
10.1.11Bug报告优先级218
10.1.12Bug状态218
10.1.13报告人219
10.1.14邮件抄送列表219
10.1.15从属关系219
10.1.16附加描述219
10.1.17Bug查找219
10.1.18Bug列表220
10.1.19用户属性设置220
10.2案例220
10.3本章总结225
10.3.1介绍内容225
10.3.2案例226
……
第11章APP软件测试工具227
第3篇软件测试管理
第12章软件测试与质量文档317
第13章软件测试管理
第14章软件测试工程师的职业素质430
参考文献443

文摘

版权页:

插图:

软件测试团队应该趁早介入到软件研发工作中去,这种全程化软件测试的思想已经越来越被各个软件企业所接受。
在软件需求阶段开始,如果有条件,可以让一名测试工程师与需求分析师一起与客户了解用户的需求。当需求分析师完成《用户需求说明书》后,这名软件测试工程师应该作为副手,一起帮助审查,然后还应该把说明书提交客户进行多次确认。当《用户需求说明书》得到最终确认后,需求分析师要把它转化为《需求规格说明书》(SRS)。在《需求规格说明书>评审会议上,软件测试工程师也应该全程参与。软件测试工程师在需求阶段参与需求评审的主要职责有两个:第一、在第一时间内掌握系统的需求;第二,检查需求中是否存在问题。另外在这个阶段的后期,软件测试经理也应该协同项目经理和开发经理制定《软件测试计划》。
软件设计期间,软件测试工程师的主要职责是评审《概要设计说明书》与《详细设计说明书》。主要审核点是:设计是否完全包含用户的需求、设计是否在现行技术上可以实现、设计是否具有可测性和可维护性,以及设计是否具有用户友好性等。同时,软件测试系统设计师或软件技术设计师也应该在这个时期规划软件的测试策略、测试方法和测试环境等软件测试的早期设计。
在软件编码阶段,软件测试工程师主要编写《软件测试用例》。同样《软件测试用例》设计完毕也需要进行评审,评审时应该让相应的软件开发工程师参加,其目的是让软件开发工程师在通过《软件测试用例》评审后,在开发代码中对软件的各种操作,特别是异常的操作进行处理,如找不到数据库服务器,操作过程中突然断网等情况。而不是等测试工程师在测试阶段发现缺陷后再进行修改,也就是说测试用例应该百分之百地向软件开发工程师公开。
下面进入到软件测试实施阶段。在软件测试实施阶段,软件测试工程师的主要工作是整理软件测试数据、搭建测试环境以及书写自动化测试脚本。在条件允许的情况下,软件测试工程师应该邀请开发工程师对这些数据和环境进行审核。
接下来进入软件测试执行阶段。一般来说,单元测试以及集成测试应该由开发工程师在开发完毕后进行实施,或者待开发完毕后集成测试由软件测试工程师与开发工程师共同完成。这个期间要重视代码审核(Code Review)。
开发经理认为开发的产品可以送交软件测试部门进行测试,软件配置工程师在配置版本控制软件上打好Tag,编译并且安装好测试软件。首先需要进行冒烟测试,一般为几个小时到半天。如果冒烟测试通过,正式进入系统测试阶段,否则退回开发部门。
ISBN9787115453921,7115453926
出版社人民邮电出版社
作者顾翔
尺寸16