您好,欢迎来到聚文网。 登录 免费注册
软件测试:一个软件工艺师的方法

软件测试:一个软件工艺师的方法

  • 字数: 270
  • 装帧: 平装
  • 出版社: 机械工业出版社
  • 作者: (美)保罗C.乔根森(Paul C.Jorgensen) 著; 马琳,李海峰 译
  • 出版日期: 2017-11-01
  • 商品条码: 9787111581314
  • 版次: 1
  • 开本: 16开
  • 页数: 324
  • 出版年份: 2017
定价:¥79 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
本书是经典的软件测试教材,也可作为软件测试者、开发者和工程师的参考书。书中对基础知识、方法提供了系统的综合阐述,既涉及基于模型的开发,又介绍了测试驱动的开发,做到了理论与实践的完美结合,反映了软件标准和开发的新进展和变化。
作者简介
保罗C.乔根森,于1965年获得伊利诺伊大学厄巴纳―尚佩恩分校数学硕士学位,1985年获得亚利桑那州立大学计算机科学和软件工程博士学位。现为大峡谷州立大学荣休教授。他有50多年软件产业界和教育界的从业经验。在其职业生涯的前20年中。主要从事工业软件开发和管理工作。1986年以来,他一直在大学为研究生讲授软件工程课程并进行相关研究,先是在亚利桑那州立大学授课,之后任教于大峡谷州立大学,2017年8月退休。
目录
Software Testing: A Craftsman’s Approach, Fourth Edition
出版者的话
译者序
前言
第一部分 数学基础
第1章 测试概述 2
1.1 基本概念 2
1.2 测试用例 3
1.3 利用维恩图来理解软件测试 3
1.4 构造测试用例 4
1.4.1 基于规格说明的测试 5
1.4.2 基于代码的测试 5
1.4.3 两种测试方法的对比 6
1.5 故障的分类 7
1.6 测试的层次 8
1.7 习题 8
1.8 参考文献 8
第2章 程序示例 9
2.1 通用伪代码 9
2.2 三角形问题 10
2.2.1 问题描述 10
2.2.2 三角形问题的讨论 11
2.2.3 三角形问题的经典实现 11
2.2.4 三角形问题的结构化实现 14
2.3 NextDate日期函数 15
2.3.1 问题描述 15
2.3.2 NextDate函数的讨论 16
2.3.3 NextDate函数的实现 16
2.4 佣金问题 18
2.4.1 问题描述 18
2.4.2 佣金问题的讨论 19
2.4.3 佣金问题的实现 19
2.5 SATM系统 20
2.5.1 问题描述 20
2.5.2 SATM系统的讨论 21
2.6 货币兑换计算器 22
2.7 雨刷控制器 22
2.8 车库门遥控开关 22
2.9 习题 23
2.10 参考文献 24
第3章 面向测试人员的离散数学 25
3.1 集合论 25
3.1.1 集合的成员关系 25
3.1.2 集合的定义方法 25
3.1.3 空集 26
3.1.4 集合的维恩图 26
3.1.5 集合运算 27
3.1.6 集合关系 28
3.1.7 集合划分 29
3.1.8 集合恒等 29
3.2 函数 30
3.2.1 定义域与值域 30
3.2.2 函数类型 30
3.2.3 函数复合 31
3.3 关系 32
3.3.1 集合之间的关系 32
3.3.2 单个集合上的关系 33
3.4 命题逻辑 34
3.4.1 逻辑运算符 34
3.4.2 逻辑表达式 35
3.4.3 逻辑等价 35
3.5 概率论 36
3.6 习题 37
3.7 参考文献 37
第4章 面向测试人员的图论 38
4.1 图 38
4.1.1 节点的度 38
4.1.2 关联矩阵 39
4.1.3 邻接矩阵 39
4.1.4 路径 40
4.1.5 连通性 40
4.1.6 压缩图 41
4.1.7 圈数 41
4.2 有向图 41
4.2.1 入度与出度 42
4.2.2 节点类型 42
4.2.3 有向图的邻接矩阵 43
4.2.4 路径与半路径 43
4.2.5 可达矩阵 44
4.2.6 n连通性 44
4.2.7 强分图 44
4.3 软件测试中常用的图 45
4.3.1 程序图 45
4.3.2 有限状态机 46
4.3.3 Petri网 47
4.3.4 事件驱动Petri网 49
4.3.5 状态图 50
4.4 习题 52
4.5 参考文献 52
第二部分 单元测试
第5章 边界值测试 54
5.1 边界值分析 54
5.1.1 边界值分析的拓展 55
5.1.2 边界值分析的局限性 56
5.2 健壮性测试 56
5.3 最坏情况测试 57
5.4 特殊值测试 57
5.5 示例 58
5.5.1 三角形问题的测试用例 58
5.5.2 NextDate函数的测试用例 59
5.5.3 佣金问题的测试用例 60
5.6 随机测试 62
5.7 边界值测试的原则 63
5.8 习题 65
第6章 等价类测试 66
6.1 等价类 66
6.2 传统的等价类测试 66
6.3 改进的等价类测试 67
6.3.1 弱一般等价类测试 68
6.3.2 强一般等价类测试 68
6.3.3 弱健壮等价类测试 68
6.3.4 强健壮等价类测试 69
6.4 三角形问题的等价类测试用例 69
6.5 NextDate函数的等价类测试用例 71
6.6 佣金问题的等价类测试用例 73
6.7 边缘测试 75
6.8 原则与注意事项 75
6.9 习题 76
6.10 参考文献 76
第7章 基于决策表的测试 77
7.1 决策表 77
7.2 决策表使用技巧 77
7.3 三角形问题的测试用例 80
7.4 Next Date函数的测试用例 81
7.4.1 第一轮尝试 81
7.4.2 第二轮尝试 82
7.4.3 第三轮尝试 83
7.5 佣金问题的测试用例 85
7.6 因果关系图 85
7.7 原则与注意事项 86
7.8 习题 87
7.9 参考文献 87
第8章 路径测试 88
8.1 程序图 88
8.2 DD路径 90
8.3 测试覆盖指标 92
8.3.1 基于程序图的覆盖度量方法 92
8.3.2 E. F. Miller的覆盖度量方法 92
8.3.3 复合条件下的闭合路径 95
8.3.4 示例 96
8.3.5 测试覆盖分析器 99
8.4 基路径测试 99
8.4.1 McCabe的基路径方法 100
8.4.2 McCabe基路径方法的考虑 102
8.4.3 McCabe方法的基本复杂度 103
8.5 原则与注意事项 105
8.6 习题 105
8.7 参考文献 106
第9章 数据流测试 107
9.1 定义/使用测试 107
9.1.1 举例 108
9.1.2 stocks的定义使用路径 110
9.1.3 locks的定义使用路径 110
9.1.4 totalLocks的定义使用路径 113
9.1.5 sales的定义使用路径 113
9.1.6 commission的定义使用路径 115
9.1.7 定义使用路径的测试覆盖指标 115
9.1.8 面向对象编码的定义/使用测试 116
9.2 基于程序切片的测试 116
9.2.1 举例 118
9.2.2 风格与技术 122
9.2.3 切片拼接 123
9.3 程序切片工具 124
9.4 习题 125
9.5 参考文献 125
第10章 单元测试回顾 126
10.1 测试方法的摇摆 126
10.2 测试方法摇摆问题探索 128
10.3 用于评估测试方法的指标 131
10.4 重新
摘要
    序言
     译 者 序Software Testing: A Craftsman’s Approach, Fourth Edition人总是会犯错的。在软件的开发过程中,有些错误是显式的,它们可以由编译器发现,而更多的错误却是难以发现甚至难以重现的。如何确保软件产品在实际工作中“不出错”,是我们时刻都要面对的一个非常现实的问题。然而,如何在茫茫代码中找到这些错误?如何评价软件测试的结果?测试后的软件是否还残留有缺陷?残留的缺陷对软件有什么影响?这些问题都缺少一个统一的答案,更多的是依靠个人经验。因此,我们认为,软件开发人员应该是软件测试的行家,软件测试人员也应该是软件开发的高手。将这些个人经验整理成有指导意义的资料并共享,这对于软件测试来说显得尤为重要。
     原著作者Paul C. Jorgensen一直在数学系和计算机系授课,同时还有20多年的工业软件开发和管理经验,这些经历使得他能够很好地理解软件测试。本书就是他融合近年来在软件测试教学工作中的心得体会编写而成的。在第3版的译者序中,我们曾这样形容这本书:“对软件测试理论与技术介绍得层次分明、全面精到;以若干实例为线索展开内容、循序渐进,便于读者掌握;在很多章节的最后,通过深入的对比和讨论,深刻地阐述和总结了在软件测试中普遍存在的实际问题,精辟深刻;此外,原书在语言上还经常不拘一格,多有诙谐灵动之处。”随着第4版的发布,我们看到了作者更为深刻的认识和更为流畅的表达。这一版重新规划了篇章结构,同时根据美国相关标准的要求,扩充了路径测试章节中复杂条件测试和修正的条件判定覆盖率指标等内容,另外,这一版新增了许多紧跟时代、有实用价值的内容。新增的“软件技术评审”章节(第22章)是基于一个软件开发公司20多年来的实际经验撰写的;“软件复杂度”章节(第16章)增加了对面向对象编程和系统层面测试的复杂度的处理;在“测试用例的评估”章节(第21章)中,则增加了对愈发普及的变异测试的介绍,用以同漏洞挖掘和故障注入方法进行对比。
     本书第1~7章和附录由李海峰翻译,第8~23章由马琳翻译,马琳对全书进行了统稿。翻译在某种程度上是再创作的过程,我们在忠实于原文的同时,针对软件测试工作所包含的各种理论与技术的细节进行了深入的整理和推敲。对基础理论和技术概念尽可能采用相关学科的主流说法,对新技术和新名词尽可能使用当前业界流行的说法,以期更标准、更科学和更易于理解地表达原文。对举例时讲述的故事,则力求通俗流畅,以保持原书的语言风格。
     好的作品必然是经过了反复修改才日臻完善的,译著也是一样。由于时间有限,我们无法对所有细节都反复推敲,加上知识水平和实际工作经验有限,不当之处在所难免,恳请读者和同行批评指正。
     译者2017年7月于哈工大

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网