新闻资讯
看你所看,想你所想

大话软件测试

本书来自通过小白与大鸟的趣味情景对话形式,用多个小故事、案黑已笑讲立父势例、漫画来组织讲解软件测试的方方面面,包括测试需求、测试分类、测试计划以及测试管理等。本书表现形式虽为"大话",但内容结构实为严谨。在讲解软件测试的过程中,通过问询式360百科结构,把学习门槛降低,让读者可以更加容易地理解测试的目的、策略、方法以及管理,澄清有关软件测试的常见误解,师弱快养战界展用一种不扭曲、不变形、不晦涩、不忽悠的表达方式表现测试的真谛,以达到不但授之以"鱼",还授之以"渔"的目的,引导读者体会软件测试过程中蕴藏 的大智慧局仅的验司

  • 中文名 大话软件测试
  • 定价 45
  • 出版社 电子工业出版社
  • 作者 欧立奇
  • 出版时间 2014-09-01

内容简介

  本书通过小白与大鸟的趣味情景来自对话形式,用多个小故事、案360百科例、漫画来组织讲解始某才软件测试的方方面面:包括测试需求,测试分类,测试计划以及测试管理等。

  本书表现形式虽为大话,但内全行由层很飞蛋初温模容结构实为严谨;在讲解软件测试吗续展和入搞蛋备怕望的过程中,通过问询式结构,把学放某队务却初乡练习门槛降低,让读者可以更加容易地理解聚根错食燃钱棉新行--测试的目的、策落管乙事限知顺略、方法以及管理,澄清有关软件测试的常见误解。用一种不扭曲、不变形、不晦涩、不忽悠的表达方式表现测试的真谛。以达到不但授之以"鱼",还授之以"渔"的目的。引导读者体会软件测试过程中蕴藏的大智慧。

  本书适合软件测试/黄工长括杨花以粒开发/管理人员,以及其它计算机爱好者阅读。

前言

  本书通篇都是以情景对话的形式,用多个小故事或案例、漫画来组织讲解软件测试。从软件需求设计说起,在软件测试做了妥善分类后,将书的内容分为如下几夫代双吧流大方面:

  在测试需求方面:如何测试需求、如何Review(重读)需求、设计文档;

  在测试分类方面:详解软件质量模型的6大特性27个子特性的各个检查点,并提供经经速意准需验和案例,容易运用到实际项目环境中。让读者能够清楚基井弱希京功曾谈经的得知,软件测试究竟是测什么?

  在测试计划方面:如何写用户故事、测试用例、测试计划。如何进行测试建模,制定人力资源的分配计划。

  在测试管理方面:如何预知风险,如何写日报。如何与DEV(研发),PM(项目经理)进行交流,如何进新四量铁世升乡抓几由行测试项目的管理,如何利用自动化来提高测试的效率等。

  本书表现形式虽须放穿此已为大话,但内容结构实为严谨;在讲解软件测试的过程中,通过问询式结构,把学习门槛降低,让读者可以更加容易地理解--测试的目的、策略、方法以及管理,澄清有关软件测试的常见误解。用一种不扭曲、不变形、不晦涩、不忽悠的表达方式表现测试的真谛。以达到不但授之以"鱼",还将送被位以有管脚士授之以"渔"的目的。引导读者体会软件测试过程中蕴藏的大智慧。

主要特

  本书不同于其他软件测试书籍的主要特点如下:

  细

  软件测试由于工作的特殊性,软件测试人员更要具有认真、数种江干非耐心、细致、敏感等个性元素,涉及的方面比较多,且比较基础,也比较细。以软件安装为例,一个完整的软来自件安装检查点就包括:

  1>安装环境检查;2>中断安装的情况;3>回溯的检查;4>可定制化安装;5>安装特定参数/端口依赖;6>安装路径;7>安装介质;8>安装语言;9>安装Shell;10>安装组件;11>操作系统兼容性;12>操作系统语言包;360百科13>硬件系统兼容性;14>逻辑安装次序;15>安装安全性;16>安装接口;17>安装结果检编训查等等。

  所以本书把这些细小的知识点和检查点做了汇总,让读者有章称设选现视边可循,按图索骥就可以轻松测试。本书使用了四级标题效结示巴明露器理宗轴,每一条的都是一个实际的案例,切切实实的解决读者遇到的实际问题。

  深

  说起测试,人们首先镇下景造差善围粉时五想到的是测试是一种技术,然而事实上,测试是一种哲学,一种思想;思想的背后是一个人眼界和世界观,一个测试也许能从多方面揭示测试者的担介亲接齐身用封庆跳督素质,和看待问题、思考跑划客关条问题的能力。市面上流行的测试书籍在此专封谁攻门宜飞角感翻业性的分类方面做笔宜地论价得不够,正因为如此,本书中追求的是循循善诱,讲深讲透。侧重对于软件测试技术的本质理解,而不仅限于对测试的单纯讲解。

  广

  市面上流行的软件测试书籍仅对软件功能性测试本身比较侧重,而忽略软件测试外延的东西:比如非功能性测试中易用性测试,性能测试,文档测试;而随着用户对易用性、可靠性要求的与日俱增,本书对以上诸多方面都给出了详细分析,并结合大量案例制定测试方案,以满足读丝空员鲜想者需求。

  乐

  苦逼的团队做不出有爱的产品;愉悦编程、快乐测试才能使你的职场之路长亲化增久。所以本书语言幽默诙谐,并夹杂了一些漫画来摆含变古弱收想犯培事实、讲道理;这也为众多严谨的软件测试书籍中添加了一抹亮色。

作者介绍

  欧立奇,国际商业机器有限公司大中华区高级满劳维技汽当国虽原测试工程师。拥有近10年软件测试和软件质量保证的工作经验,从事过各种产品的软件测试。

目录

  封面: 1

  目录: 1

  第一部分:软件需求与设计 11

  第1章:软件需求 11

  1元尔爱而歌争倍别.1【从需求的含混性说到软件测试的目的左选酒】 11

  1.1.1需求的含混性 11

  1带斯告争害否载认液己免.1.2软件测试的目的 13

  1.2【需求的定义与分类】 14

  1.2.1业务需求 14

  1.2.2用户需求 15

  第2章:PRDReview 15

  2.1【PRD分类】 16

  2.2【软件产品定位】 16

  2.2.1产品背景/定位 16

  2.2.2目标潜在客户群 17

  2.2.3用户问题 所手理力酒17

  2.2.4产品特点/特性 19

  2.2.5产品结构图 19

  2.3【软件产品需求】 20

  2.3.1功能性需求 20

  2.3.2非功能性需求 21

  2.3.3文档需求 22

  2.3.4项目优先级的定义 22

  2.4【Review软件产品需求】 22

  2.4.1如何保证软件需求的完整性 22

  2.4.1.1演绎法 23

  2.4.1.2比较法 24

  2.4.1.3分解法 24

  2.4.1.4打标签 25

  2.4.2如何保证软件需求的正确性:明确用户动机 25

  2.4.3如何保证软件需求的正确性:正确的表达方式 26

  2.4.3.1直接沟通 27

  2.4.3.2简洁描述 27

  2.4.3.3减少定性描述 27

  2.4.3.4词语的准确性 27

  2.4.4一致性 28

  2.5【范围约束】 28

  2.5.1用户的期盼超出了实现的能力 28

  2.5.2非技术因素决定的技术选型 28

  2.5.3预期的使用环境 28

  2.5.4ReviewScope 29

  第3章:用户故事 29

  3.1【什么用户故事】 29

  3.2【用户故事特点】 30

  3.2.1体现用户价值 30

  3.2.2不要出现技术术语 30

  3.2.3可测试性 31

  3.3【用户故事分解/细化/合并】 31

  3.3.1按用户角色细化 32

  3.3.2按用户操作细化 33

  3.3.3按用户角色合并 33

  第4章:ReviewFS 33

  4.1【实现的含混性】 33

  4.2【交付目标】 34

  4.3【范围约束】 35

  4.4【假设和依赖】 35

  4.5【功能描述点】 35

  4.6【Review功能描述】 36

  4.6.1质量需求或产品特性描述是否足够准确 36

  4.6.2实现方式可扩展性 36

  4.6.3技术合理性 36

  4.6.4集成和升级风险 37

  4.6.5理解一致性 37

  4.6.6设计一致性 37

  4.7【非功能描述点】 38

  第二部分:软件功能性测试 38

  第5章功能性测试之准确性/合适性 38

  5.1【功能性测试概念】 38

  5.2【功能性测试分类】 39

  5.3【适合性测试】 39

  5.4【准确性测试】 40

  第6章软件功能性测试用户故事 40

  6.1【软件功能性测试故事列表】 40

  6.2【执行者/行为/状态/预期结果/检查点】 42

  6.2.1添加数据[文本框] 43

  6.2.1.1空数据 43

  6.2.1.2合法数据 43

  6.2.1.3添加中断机制 44

  6.2.1.4添加文件/图片 44

  6.2.1.5特殊字符字段 44

  6.2.1.6带空格字段 45

  6.2.1.7带回车键字段 45

  6.2.1.8字段长度 45

  6.2.1.9数字型边界 46

  6.2.1.10数字的约束 46

  6.2.1.11字段类型 46

  6.2.1.12重复添加 47

  6.2.1.13单选按钮(RadioButton) 48

  6.2.1.14复选框(CheckBox) 48

  6.2.1.15列表框控件(ListBox) 48

  6.2.1.16上下控件文本框(up-down)的测试 48

  6.2.1.17日期约束 49

  6.2.2显示数据 49

  6.2.2.1分页显示 49

  6.2.2.2显示数据的一致性 50

  6.2.2.3显示信息归类合理性 51

  6.2.2.4滚动条 51

  6.2.2.5陈旧数据的及时更新 51

  6.2.2.5分类排序 51

  6.2.3删除数据 51

  6.2.3.1删除合法数据 51

  6.2.3.2不允许删除的数据 52

  6.2.3.3删除不存在数据 52

  6.2.3.4删除数据的衍生影响 52

  6.2.4查询数据 52

  6.2.4.1查询条件输入 53

  6.2.4.2查询关键字 53

  6.2.4.3模糊查询与精确查询 53

  6.2.4.4查询结果 54

  6.2.5修改数据 54

  6.2.5.1修改合理数据 54

  6.2.5.2不能修改/锁的情况 54

  6.2.5.3修改多个数据 55

  6.2.5.4修改后的衍生影响 55

  6.2.6激活/冻结 56

  6.2.7导入/导出数据 56

  6.2.7.1导入合理数据 56

  6.2.7.2导入数据中存在不合理数据 56

  6.2.7.2导出数据 56

  6.2.8实例化 57

  6.2.9拷贝 57

  6.2.9.1拷贝数据信息检查 57

  6.2.9.2默认拷贝数据名 57

  6.2.10检查日志 57

  第7章软件互操作性测试 58

  7.1【互操作性测试定义】 59

  7.2【兼容性和互操作性的区别】 59

  7.3【不可互操作的原因】 60

  7.4【互操作性测试分类】 61

  7.4.1软件与硬件平台及外设的互操作性 61

  7.4.1.1安装测试 61

  7.4.1.2部署测试 61

  7.4.1.3硬件监控 62

  7.4.1.4硬件管理 62

  7.4.2操作系统/文件系统的互操作性 62

  7.4.3软件间的互操作性 63

  7.4.4网络/数据库的互操作性 63

  7.4.5驱动程序的互操作性 63

  7.4.6文档的互操作性 64

  第8章安全性测试 64

  8.1【软件安全性测试概念】 64

  8.2【软件安全性测试策略】 65

  8.2.1软件安全漏洞 65

  8.2.2软件安全测试方法分类 65

  8.3【用户认证安全】 66

  8.3.1用户权限问题 66

  8.3.1.1区分系统中不同用户权限 67

  8.3.1.2保证系统中不会出现用户冲突 67

  8.3.1.3系统不会因用户的权限的改变造成混乱 68

  8.3.1.4在线超时 68

  8.3.1.5操作留痕 68

  8.3.2密码验证机制 68

  8.3.3密码保护机制 69

  8.3.3.1密码保护问题 69

  8.3.3.2纵深防御 69

  8.4【系统网络安全性测试】 70

  8.4.1缓冲区溢出 70

  8.4.2加密测试 71

  8.4.3SQL注入 72

  8.5【数据库安全性测试】 74

  8.5.1数据加密性测试 74

  8.5.1数据完整性测试 75

  8.5.3数据独立性测试 76

  第9章全球化测试 76

  9.1【全球化测试分类】 76

  9.1.1G11N 76

  9.1.2I18N和L10N 77

  9.1.3软件的国际化和软件的本地化 77

  9.1.4国际化测试和本地化测试 77

  9.2【日期】 78

  9.2.1时区检查 78

  9.2.2日历格式 78

  9.3【字符格式】 79

  9.3.1失效字符检测 79

  9.3.2大小写测试 80

  9.4【数字格式】 80

  9.4.1数字分隔测试 80

  9.4.2负数 81

  9.4.3货币符号测试 81

  9.4.4邮编/国家代码/电话号码格式测试 81

  9.4.5测量单位测试 81

  9.4.6百分号(%)测试 81

  9.5【输入法编辑器(IME)测试】 81

  9.6【语言敏感信息测试】 82

  第三部分:软件非功能性测试 82

  第10章易用性测试 82

  10.1【易用性测试分类】 82

  10.2【易理解性测试】 83

  10.2.1清晰性 84

  10.2.2一致性 84

  10.3【易学习性测试】 85

  10.3.1直观性 86

  10.3.2可记忆性 86

  10.4【易操作性测试】 86

  10.4.1用户可控性 86

  10.4.1.1步骤引导 87

  10.4.1.2降低思考 87

  10.4.2灵活性 88

  10.4.2.1可定制化 88

  10.4.2.2想你所需 88

  10.4.2.3快捷键使用 89

  10.4.3可扩展性 89

  10.4.4避免错误 90

  10.4.4.1限制操作 90

  10.4.4.2预见错误/先期提示 91

  10.4.4.3提前报错 91

  10.4.4.4问题要一次性说完 91

  10.5【UI测试】 92

  10.5.1标题栏 92

  10.5.2文字 92

  10.5.3控件 92

  10.5.4图形 93

  10.5.5表格 93

  10.5.6提示框 93

  10.5.7导航测试 94

  第11章可靠性测试 94

  11.1【容错性测试】 95

  11.2【可恢复性测试】 95

  11.2.1硬件及有关设备故障可恢复性测试 95

  11.2.2软件系统故障可恢复性测试 96

  11.2.3数据故障可恢复性测试 96

  11.2.4通信故障可恢复性测试 97

  11.3【故障转移测试】 97

  第12章可移植性测试 98

  12.1【可移植性测试定义与分类】 98

  12.2【用户故事列表】 98

  12.2.1执行者 100

  12.3【行为/状态/预期结果/检查点】 100

  12.3.1软件安装 100

  12.3.1.1安装环境检查: 100

  12.3.1.2中断安装的情况 101

  12.3.1.3回溯的检查 101

  12.3.1.4可定制化安装 101

  12.3.1.5安装特定参数/端口依赖 102

  12.3.1.6安装路径 102

  12.3.1.7安装介质 102

  12.3.1.8安装语言 102

  12.3.1.9安装Shell 102

  12.3.1.10安装组件 103

  12.3.1.11操作系统兼容性 103

  12.3.1.12操作系统语言包 103

  12.3.1.13硬件系统兼容性 103

  12.3.1.14逻辑安装次序 103

  12.3.1.15安装安全性 104

  12.3.1.16安装接口 104

  12.3.1.17安装结果检查 104

  12.3.2更新/升级 105

  12.3.2.1升级过程系统暂停/不暂停 105

  12.3.2.2升级后数据检查 105

  12.3.2.3升级后配置信息检查 106

  12.3.2.4中间状态信息检查 106

  12.3.2.5升级回退机制 106

  12.3.2软件卸载 106

  12.3.2.1卸载方式 106

  12.3.2.2非正常情况卸载 107

  第13章性能测试 107

  13.1【功能与性能的区别】 107

  13.2【性能测试指标】 108

  13.2.1响应时间 108

  13.2.2并发用户数 109

  13.2.3吞吐量 109

  13.2.4资源利用率 110

  13.3【获取性能需求】 110

  13.4【性能测试分类】 111

  13.4.1性能参数测试 111

  13.4.2负载测试 111

  13.4.3压力测试 112

  13.5【如何进行性能测试】 113

  13.5.1搭建测试环境和准备测试工具(脚本) 113

  13.5.2测试、记录测试数据 113

  13.6【分析性能瓶颈】 114

  第14章文档测试 116

  14.1【文档测试重要性】 116

  14.2【文档种类】 117

  14.3【文档测试检查点】 117

  14.3.1文档完整性 117

  14.3.2文档正确性 117

  14.3.3文档易用性 118

  第四部分:软件项目流程与风险 118

  第15章软件项目开发流程 118

  15.1【ProjectMilestone(项目里程碑)定义】 119

  15.2【软件项目的主要阶段】 119

  15.2.1信息采集和立项阶段 119

  15.2.2需求分析阶段 120

  15.2.3项目构架与设计阶段 120

  15.2.4开发阶段 121

  15.2.5系统测试阶段 122

  15.2.5.1Acceptancetesting(接受性测试) 122

  15.2.5.2Featuretesting 123

  15.2.5.3Regressiontesting 123

  15.2.5.4Cool-done&Sanitycheck 123

  15.2.5.5Inspection 124

  15.2.6软件发布阶段 124

  15.2.7维护阶段 125

  15.3【研发周期制定】 126

  15.4【Effort(工作量)估计】 127

  15.4.1为什么要估计工作量 127

  15.4.2Effort估计的方法 128

  15.4.2.1项目和工作的分解 128

  15.4.2.2QA的可用时间 128

  15.4.2.3Job时间的估计 129

  15.4.2.4Scheduletable(计划表) 131

  第16章项目风险分析 131

  16.1【Risk(风险)/Issue(问题)Bug(缺陷)的区别】 132

  16.2【Risk(风险)分类】 132

  16.2.1需求风险 132

  16.2.2技术风险 132

  16.2.2.1软件设计阶段风险 133

  16.2.2.2软件实现阶段风险 133

  16.2.2.3软件测试阶段风险 134

  16.2.3管理风险 134

  16.2.3.1计划/流程风险 135

  16.2.3.2人员管理风险 136

  16.2.3.3环境/资源风险 137

  16.3【Risk(风险)分析】 137

  16.3.1风险可能性 137

  16.3.2风险影响 137

  16.3.3风险评估 138

  16.4【Risk(风险)缓解】 138

  16.4.1风险监控 138

  16.4.2风险控制 138

  16.5【常见Risk(风险)处理】 139

  第五部分:测试策略与测试计划 142

  第17章测试策略 143

  17.1【测试策略的定义和分类】 143

  17.2【测试重点/测试优先级分析】 143

  17.3【根据时间/阶段的对应的测试策略】 144

  17.3.1单元测试期间的测试策略 144

  17.3.2Feature(特性)测试期间的测试策略 145

  17.3.3集成测试期间的测试策略 145

  17.3.4回归测试期间的测试策略 146

  17.3.5SanityCheck测试期间的测试策略 147

  17.4【多平台/操作系统/浏览器的测试策略】 147

  17.5【测试开始和结束的标准】 148

  17.6【测试环境策略】 149

  17.6.1测试环境规划策略 150

  17.6.2测试环境复用策略 150

  17.6.3软件环境频繁改变时的策略 151

  17.7【测试人员指定/任务分布的策略】 151

  17.7.1注重个人因素 151

  17.7.2避免出现"灰色地带" 152

  17.8【测试工具的使用策略】 152

  17.9【测试报告/进度策略】 152

  第18章测试计划 153

  18.1【测试计划的定义】 153

  18.2【测试计划的范围】 153

  18.3【测试用例设计方法】 154

  18.3.1等价类 154

  18.3.1.1划分等价类 154

  18.3.1.2划分等价类的标准 155

  18.3.1.3设计等价类测试用例 155

  18.3.2边界值分析 156

  18.3.2.1边界值分析与等价类的区别 156

  18.3.2.2常见的边界值 157

  18.3.3因果图法 158

  18.3.3.1因果图法的原理和约束 158

  18.3.3.2因果图法的设计步骤 159

  18.3.3.3因果图法的设计案例 160

  18.3.4事件流 161

  18.3.4.1事件流组成 161

  18.3.4.2构造场景 161

  18.4【测试用例优先级划分】 163

  第六部分:软件测试管理 164

  第19章如何预防Bug 164

  19.1【Bug和Defect区别】 164

  19.2【预防Bug的意义】 165

  19.3【干净的代码】 166

  19.3.1代码简洁 166

  19.3.2有意义的命名 166

  19.3.3函数的有效组织 167

  19.3.4注释合理 167

  19.4【代码可复用】 167

  19.5【代码Review管理机制】 169

  19.6【做好单元测试】 169

  19.7【代码重构】 170

  19.7.1为什么要做代码重构 170

  19.7.2如何做代码重构 171

  第20章如何Log高质量的Bug 172

  20.1【Bug报告写给谁看】 173

  20.2【Bug模板介绍】 173

  20.2.1如何写Summary(主题) 174

  20.2.2如何写清测试条件 175

  20.2.2可归纳性/可扩展性 176

  20.2.3优先级|严重性|影响程度。 176

  20.2.3.1严重性分类 177

  20.2.3.2严重性衡量标准并不唯一 177

  20.2.3.3优先级 178

  20.2.3.4严重性与优先级的区别 178

  20.2.4如何写Description(Bug描述) 179

  20.2.4.1论证问题 179

  20.2.4.2期待结果 180

  20.2.5重现 180

  20.2.5.1是否可重现 180

  20.2.5.2重现步骤 181

  20.2.5附件 182

  20.3【常见的Bug问题】 182

  20.3.1类似的Bug如何log 182

  20.3.2后期的设计问题如何log 183

  20.3.3小问题该如何log 183

  20.3.4重复的log如何处理 183

  20.4【如何分析RootCause】 184

  20.4.1比较法 184

  20.4.2假设法 185

  20.4.3分解法 186

  20.5【Bug生命周期】 186

  20.5.1Bug生命周期图 186

  20.5.2Bug追踪 187

  20.6【测试报告分析】 188

  第21章其他QA日常工作 189

  21.1【日报】 189

  21.1.1日报的目的 189

  21.1.2日报的书写者 190

  21.1.3日报的内容 190

  21.2【如何开会】 192

  21.2.1QA要开多少会 192

  21.2.2如何高效的开会 192

  后记:QA的自我修养 193

  第1课:QA到底是做什么的? 194

  第2课:质疑和思考 195

  第3课:QA要具备的技能 196

  第4课:QA和DEV的关系 196

  第5课:QA的主要贡献 197

  第6课:自动化测试和常规测试的关系 198

样章

  小白:大鸟啊,我郁闷得很啊。

  大鸟:咋咧?

  小白:我们公司参与了一个大项目。当时市场签下来的时候,项目组是欢天喜地的。项目做了一年多。到了交付的时候,用户却很不满意,当初说好的需求,好多都变了卦。

  用户是上帝,最关键的是如果收不到后面的钱,那就算白干了。公司要求项目组加班加点的修改。我们测试部门也不得不一遍一遍的做着重复劳动,搞得大家是怨声载道的。做市场的和做开发的相互指责,然后,大家又一起骂客户刻薄。公司里面弥漫着灰心丧气的气氛。

  大鸟:你们是怎么和客户谈需求的?

  小白:市场先谈单,估计人家需要做什么。然后,我们这边就派一个技术的人过去了解需求,拿一些对方的表格和笔记回来。好像都差不多。

  大鸟:你们去询问需求,然后做了一个文档。你们头脑里的东西,跟客户要的东西,其实是不一样的。但是,大家都认为这样白纸黑字,基本上是一样的。这里面其实有差异。这种差异,有时影响不大,但有时,是致命的。毕竟文档,不是最终的实物。客户永远认为,他是把需求给你讲清楚了的。如果你做不到,不是他的责任。而且,你要记住一点,用户只有在见到或使用过实物的时候,他才知道他其实要的是什么东西。否则如果研发没搞清需求就闷头做事,迟早项目会变成"包工队的故事"。

  场景漫画:包工队的故事

  甲:说一个包工队接一好活儿,盖一个70多米高的大烟囱!

  乙:还真不错!

  甲:起早贪黑把活干完了,人家来一验收,死活不给我们工钱,还叮当五四打一顿!

  乙:为啥啊,质量不行?

  甲:把图纸拿倒了,人家让挖口井!

转载请注明出处累积网 » 大话软件测试

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com