颠覆完美软件:软件测试必须知道的几件事

颠覆完美软件:软件测试必须知道的几件事
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: (杰拉尔德·温伯格) ,
2015-07
版次: 1
ISBN: 9787121258619
定价: 49.00
装帧: 平装
开本: 16开
纸张: 轻型纸
页数: 176页
字数: 195千字
正文语种: 简体中文
90人买过
  • 本书是从事软件行业五十余年的Gerald M. Weinberg针对软件测试所写的新作。他在软件项目的管理、设计、开发和测试方面都具有极其丰富的经验,对于与软件开发有关人员的心理尤其有深入的研究。在本书中,他重点讨论了与软件测试有关的各种心理问题及其表现与应对方法。作者先阐述软件测试之所以如此困难的原因——人的思维不是完美的,而软件测试的目的就是发现对改善软件产品和软件开发过程有益的信息,故软件测试是一个信息获取的过程。接着,作者利用丰富的经历和大量的实例,展现了在软件测试中可能会出现的各种与人的心理有关的现象、误区、欺诈,以及容易犯下的常见错误等等。
    宋锐:计算机专业本科毕业,就职于湖南省长沙市国防科技大学ATR实验室。 目  录


    1      进行测试的原因 1
    1.1  人类不是完美的思考者 2
    1.2  我们要做出有关软件的决定 2
    1.2.1  日记条目1 2
    1.2.2  日记条目2 3
    1.2.3  日记条目3 3
    1.2.4  日记条目4 3
    1.2.5  日记条目5 4
    1.2.6  日记条目6 4
    1.3  决定可能是有风险的 5
    1.4  测试可以提供降低风险的信息 6
    1.5  小结 8
    1.6  常见错误 8
    2      测试法做的事 10
    2.1  信息未必有助于降低风险 11
    2.2  也许我们不会使用那些花钱得到的信息 12
    2.3  决定是感性的而不是理性的 13
    2.4  不良的测试也许比不测试更糟 14
    2.5  产品可能尚未准备好接受测试 14
    2.6  小结 15
    2.7  常见错误 15
    3      不对所有可能性进行测试的原因 18
    3.1  可能进行测试的数目是限的 19
    3.2  测试最多只是采样 20
    3.3  信息的成本可能超过知的成本 21
    3.4  也许我们可以用较少的测试获取更多的信息 22
    3.5  测试自助餐 22
    3.6  小结 23
    3.7  常见错误 23
    4      测试和除错的区别 25
    4.1  测试会随着机构的成长发生变化 28
    4.2  以时间限制试探法作为管理法则,但根据需要进行调整 30
    4.3  小结 31
    4.4  常见缺陷 31
    5      元测试 33
    5.1  我们有说明书,但是找不到了 34
    5.2  我们的错误太多了,导致缺陷数据库法高效运转 35
    5.3  我们没找到任何缺陷,实际上我们并没有真正地找 35
    5.4  我们修改记录让缺陷看起来没那么严重 36
    5.5  这不是我的组件中的问题,所以我不记录 36
    5.6  我不知道在测试错误的应用程序 37
    5.7  我们不测试最差的组件,因为花的时间太长 37
    5.8  我们已经发现了这么多缺陷,不会再多了 38
    5.9  我们的测试证明程序是正确的 38
    5.10  我们运行了很多测试用例,根本就看不过来 38
    5.11  如果我们的软件在有三名用户时工作良好,显然它在有一百
    名用户时也不会有问题 39
    5.12  我们不希望测试人员知道我们将忽略他们提供的信息 39
    5.13  我没有报告缺陷,所以开发人员不会对我发脾气 40
    5.14  我们不需要测试它,因为开发人员非常有  水平 40
    5.15  接着说元信息 41
    5.16  小结 41
    5.17  常见错误 41
    6      信息免疫 44
    6.1  我们在生存规则受到威胁时会感到害怕 45
    6.2  我们压抑法接受的事物 46
    6.3  我们让不可接受的事物合理化 47
    6.4  我们将自己的负面品质投射给其他人 48
    6.5  我们转移指责从而免除自己的责任 49
    6.6  我们对自己的不足进行过度补偿 51
    6.7  我们在觉得失去控制时开始强迫自己 51
    6.8  小结 52
    6.9  常见错误 52
    7      如何应对防卫反应 54
    7.1  确定恐惧 55
    7.2  使用危机思维 55
    7.3  实践,实践,再实践 56
    7.4  对自己进行测试 57
    7.5  小结 58
    7.6  常见错误 58
    8      良好测试的要素 59
    8.1  永远法确切地知道 59
    8.2  只能根据事实来评估良好性 61
    8.3  你可能希望故意插入一些缺陷 62
    8.4  对良好性的估算总是统计性的 62
    8.5  可以对非差性进行估算 63
    8.6  小结 64
    8.7  常见错误 64
    9      有关测试的主要误区 66
    9.1  指责误区 66
    9.2  穷举测试误区 67
    9.3 “测试产生质量”误区 68
    9.4  分解误区 69
    9.5  合成误区 70
    9.6 “所有测试都相同”误区 71
    9.7 “随便哪个笨蛋都可以测试”误区 72
    9.8  小结 73
    9.9  常见错误 73


    10      测试不仅仅是敲击键盘 75
    10.1  毫目的地敲击键盘是不是测试 76
    10.2  白手套测试 77
    10.3  狗食测试 78
    10.4  对测试人员也要进行测试 80
    10.5  可能在没有意识到的情况下进行测试 80
    10.6  演示不是测试 81
    10.7  小结 82
    10.8  常见错误 82
    11      信息摄取 84
    11.1  使用萨提亚交互模型来解析沟通 84
    11.1.1  摄取(Intake) 85
    11.1.2  确定含义(Meaning) 85
    11.1.3  确定重要性(Significance) 86
    11.1.4  做出反应(Response) 86
    11.2  人们听取信息时是有选择性的 87
    11.3  数据来源会影响到摄取 87
    11.4  时机也会导致差异 88
    11.5  人们会出现信息过载 88
    11.6  减少测试的数量也许可以传递更多的信息 89
    11.7  寻找测试之外的信息摄取 90
    11.8  不要混淆理解和摄取 90
    11.9  使用数据质疑来过滤理解 91
    11.10  小结 91
    11.11  常见错误 91
    12      确定含义 93
    12.1  案例1:四个缺陷,五种含义 94
    12.2  案例2:四个缺陷,七种含义 95
    12.3  案例3:四个缺陷,自行确定含义 96
    12.4  进行解释之前先弄清期望的是什么 96
    12.5  不知道期望时的做法 98
    12.6  使用已经获得的信息 98
    12.7  使用间接信息 99
    12.8  使用未获得的信息 99
    12.9  同样的话可能具有不同的含义 100
    12.10 “相同”可能并不一样 101
    12.11  某些时候不精确会更好 101
    12.12  小结 102
    12.13  常见错误 102
    13      确定重要性 104
    13.1  不同人会给同样的信息赋予不同的重要性 105
    13.2  公共的重要性也许和个人的不一样 106
    13.3  重要性依赖于上下文环境 107
    13.4  不能总是根据金钱来确定重要性 108
    13.5  不要采用过细的尺度 110
    13.6  首先解决重要问题 110
    13.7  听从自己的情绪反应 111
    13.8  小结 112
    13.9  常见错误 113

    14      做出反应 115
    14.1  是运气不好还是管理不善 115
    14.2  项目最后会赶进度的原因 116
    14.3  接近项目结束时应如何反应 117
    14.4  对测试所需时间的估算与现实差距很大的 原因 118
    14.4.1  好天气估算 119
    14.4.2  不切实际的过程模型 119
    14.4.3  低质的过程数据 119
    14.4.4  没有过程数据 121
    14.5  确定是否已经错过了可以有所改变的时刻 122
    14.6  小结 122
    14.7  常见错误 122
    15      避免软件测试变得越发困难 124
    15.1  情况变得更糟的原因 124
    15.2  让系统尽可能小 126
    15.3  让“系统”模型是可扩展的 126
    15.4  增量构建有清晰接口的分立组件 127
    15.5  减少进入产品的缺陷数目 127
    15.6  小结 128
    15.7  常见错误 128
    16      不使用机器进行测试 130
    16.1  用机器进行测试总是不够的 130
    16.2  首先对最差的部分进行评审可以让人了解缺陷的严重性 135
    16.3  事实并不总是能令人信服的 136
    16.4  测试人员是颇有价值的评审者 136
    16.5  小结 137
    16.6  常见错误 137
    17      测试欺诈 138
    17.1  我们会卖给你一个神奇的工具 138
    17.2  我们的演示是欺诈 139
    17.3  这么多的证明信表明它一定很好 141
    17.4  我们可以通过定价来欺诈 141
    17.5  我们的工具会读心术 142
    17.6  我们保证你不用做任何事 144
    17.7  我们一起密谋 144
    17.8  避免欺诈的方法 145
    17.9  小结 145
    17.10  常见错误 145
    18      忘却型欺诈 146
    18.1  推迟文档化造成的后果 146
    18.2  不明确的测试报告就像流沙一样 147
    18.3  伪造的测试报告阻止了改进 147
    18.4  在别的地方进行报复 148
    18.5  早期的答案可能产生误导 149
    18.6 “量”不是“质”的同义词 149
    18.7  不要将非测试活动当做测试 150
    18.8  太整洁了,不可能是真的 151
    18.9  电子表格中的垃圾还是垃圾 152
    18.10  小结 152
    18.11  常见错误 152

    尾    声 153

    尾    注 155

    其他阅读材料 159
  • 内容简介:
    本书是从事软件行业五十余年的Gerald M. Weinberg针对软件测试所写的新作。他在软件项目的管理、设计、开发和测试方面都具有极其丰富的经验,对于与软件开发有关人员的心理尤其有深入的研究。在本书中,他重点讨论了与软件测试有关的各种心理问题及其表现与应对方法。作者先阐述软件测试之所以如此困难的原因——人的思维不是完美的,而软件测试的目的就是发现对改善软件产品和软件开发过程有益的信息,故软件测试是一个信息获取的过程。接着,作者利用丰富的经历和大量的实例,展现了在软件测试中可能会出现的各种与人的心理有关的现象、误区、欺诈,以及容易犯下的常见错误等等。
  • 作者简介:
    宋锐:计算机专业本科毕业,就职于湖南省长沙市国防科技大学ATR实验室。
  • 目录:
    目  录


    1      进行测试的原因 1
    1.1  人类不是完美的思考者 2
    1.2  我们要做出有关软件的决定 2
    1.2.1  日记条目1 2
    1.2.2  日记条目2 3
    1.2.3  日记条目3 3
    1.2.4  日记条目4 3
    1.2.5  日记条目5 4
    1.2.6  日记条目6 4
    1.3  决定可能是有风险的 5
    1.4  测试可以提供降低风险的信息 6
    1.5  小结 8
    1.6  常见错误 8
    2      测试法做的事 10
    2.1  信息未必有助于降低风险 11
    2.2  也许我们不会使用那些花钱得到的信息 12
    2.3  决定是感性的而不是理性的 13
    2.4  不良的测试也许比不测试更糟 14
    2.5  产品可能尚未准备好接受测试 14
    2.6  小结 15
    2.7  常见错误 15
    3      不对所有可能性进行测试的原因 18
    3.1  可能进行测试的数目是限的 19
    3.2  测试最多只是采样 20
    3.3  信息的成本可能超过知的成本 21
    3.4  也许我们可以用较少的测试获取更多的信息 22
    3.5  测试自助餐 22
    3.6  小结 23
    3.7  常见错误 23
    4      测试和除错的区别 25
    4.1  测试会随着机构的成长发生变化 28
    4.2  以时间限制试探法作为管理法则,但根据需要进行调整 30
    4.3  小结 31
    4.4  常见缺陷 31
    5      元测试 33
    5.1  我们有说明书,但是找不到了 34
    5.2  我们的错误太多了,导致缺陷数据库法高效运转 35
    5.3  我们没找到任何缺陷,实际上我们并没有真正地找 35
    5.4  我们修改记录让缺陷看起来没那么严重 36
    5.5  这不是我的组件中的问题,所以我不记录 36
    5.6  我不知道在测试错误的应用程序 37
    5.7  我们不测试最差的组件,因为花的时间太长 37
    5.8  我们已经发现了这么多缺陷,不会再多了 38
    5.9  我们的测试证明程序是正确的 38
    5.10  我们运行了很多测试用例,根本就看不过来 38
    5.11  如果我们的软件在有三名用户时工作良好,显然它在有一百
    名用户时也不会有问题 39
    5.12  我们不希望测试人员知道我们将忽略他们提供的信息 39
    5.13  我没有报告缺陷,所以开发人员不会对我发脾气 40
    5.14  我们不需要测试它,因为开发人员非常有  水平 40
    5.15  接着说元信息 41
    5.16  小结 41
    5.17  常见错误 41
    6      信息免疫 44
    6.1  我们在生存规则受到威胁时会感到害怕 45
    6.2  我们压抑法接受的事物 46
    6.3  我们让不可接受的事物合理化 47
    6.4  我们将自己的负面品质投射给其他人 48
    6.5  我们转移指责从而免除自己的责任 49
    6.6  我们对自己的不足进行过度补偿 51
    6.7  我们在觉得失去控制时开始强迫自己 51
    6.8  小结 52
    6.9  常见错误 52
    7      如何应对防卫反应 54
    7.1  确定恐惧 55
    7.2  使用危机思维 55
    7.3  实践,实践,再实践 56
    7.4  对自己进行测试 57
    7.5  小结 58
    7.6  常见错误 58
    8      良好测试的要素 59
    8.1  永远法确切地知道 59
    8.2  只能根据事实来评估良好性 61
    8.3  你可能希望故意插入一些缺陷 62
    8.4  对良好性的估算总是统计性的 62
    8.5  可以对非差性进行估算 63
    8.6  小结 64
    8.7  常见错误 64
    9      有关测试的主要误区 66
    9.1  指责误区 66
    9.2  穷举测试误区 67
    9.3 “测试产生质量”误区 68
    9.4  分解误区 69
    9.5  合成误区 70
    9.6 “所有测试都相同”误区 71
    9.7 “随便哪个笨蛋都可以测试”误区 72
    9.8  小结 73
    9.9  常见错误 73


    10      测试不仅仅是敲击键盘 75
    10.1  毫目的地敲击键盘是不是测试 76
    10.2  白手套测试 77
    10.3  狗食测试 78
    10.4  对测试人员也要进行测试 80
    10.5  可能在没有意识到的情况下进行测试 80
    10.6  演示不是测试 81
    10.7  小结 82
    10.8  常见错误 82
    11      信息摄取 84
    11.1  使用萨提亚交互模型来解析沟通 84
    11.1.1  摄取(Intake) 85
    11.1.2  确定含义(Meaning) 85
    11.1.3  确定重要性(Significance) 86
    11.1.4  做出反应(Response) 86
    11.2  人们听取信息时是有选择性的 87
    11.3  数据来源会影响到摄取 87
    11.4  时机也会导致差异 88
    11.5  人们会出现信息过载 88
    11.6  减少测试的数量也许可以传递更多的信息 89
    11.7  寻找测试之外的信息摄取 90
    11.8  不要混淆理解和摄取 90
    11.9  使用数据质疑来过滤理解 91
    11.10  小结 91
    11.11  常见错误 91
    12      确定含义 93
    12.1  案例1:四个缺陷,五种含义 94
    12.2  案例2:四个缺陷,七种含义 95
    12.3  案例3:四个缺陷,自行确定含义 96
    12.4  进行解释之前先弄清期望的是什么 96
    12.5  不知道期望时的做法 98
    12.6  使用已经获得的信息 98
    12.7  使用间接信息 99
    12.8  使用未获得的信息 99
    12.9  同样的话可能具有不同的含义 100
    12.10 “相同”可能并不一样 101
    12.11  某些时候不精确会更好 101
    12.12  小结 102
    12.13  常见错误 102
    13      确定重要性 104
    13.1  不同人会给同样的信息赋予不同的重要性 105
    13.2  公共的重要性也许和个人的不一样 106
    13.3  重要性依赖于上下文环境 107
    13.4  不能总是根据金钱来确定重要性 108
    13.5  不要采用过细的尺度 110
    13.6  首先解决重要问题 110
    13.7  听从自己的情绪反应 111
    13.8  小结 112
    13.9  常见错误 113

    14      做出反应 115
    14.1  是运气不好还是管理不善 115
    14.2  项目最后会赶进度的原因 116
    14.3  接近项目结束时应如何反应 117
    14.4  对测试所需时间的估算与现实差距很大的 原因 118
    14.4.1  好天气估算 119
    14.4.2  不切实际的过程模型 119
    14.4.3  低质的过程数据 119
    14.4.4  没有过程数据 121
    14.5  确定是否已经错过了可以有所改变的时刻 122
    14.6  小结 122
    14.7  常见错误 122
    15      避免软件测试变得越发困难 124
    15.1  情况变得更糟的原因 124
    15.2  让系统尽可能小 126
    15.3  让“系统”模型是可扩展的 126
    15.4  增量构建有清晰接口的分立组件 127
    15.5  减少进入产品的缺陷数目 127
    15.6  小结 128
    15.7  常见错误 128
    16      不使用机器进行测试 130
    16.1  用机器进行测试总是不够的 130
    16.2  首先对最差的部分进行评审可以让人了解缺陷的严重性 135
    16.3  事实并不总是能令人信服的 136
    16.4  测试人员是颇有价值的评审者 136
    16.5  小结 137
    16.6  常见错误 137
    17      测试欺诈 138
    17.1  我们会卖给你一个神奇的工具 138
    17.2  我们的演示是欺诈 139
    17.3  这么多的证明信表明它一定很好 141
    17.4  我们可以通过定价来欺诈 141
    17.5  我们的工具会读心术 142
    17.6  我们保证你不用做任何事 144
    17.7  我们一起密谋 144
    17.8  避免欺诈的方法 145
    17.9  小结 145
    17.10  常见错误 145
    18      忘却型欺诈 146
    18.1  推迟文档化造成的后果 146
    18.2  不明确的测试报告就像流沙一样 147
    18.3  伪造的测试报告阻止了改进 147
    18.4  在别的地方进行报复 148
    18.5  早期的答案可能产生误导 149
    18.6 “量”不是“质”的同义词 149
    18.7  不要将非测试活动当做测试 150
    18.8  太整洁了,不可能是真的 151
    18.9  电子表格中的垃圾还是垃圾 152
    18.10  小结 152
    18.11  常见错误 152

    尾    声 153

    尾    注 155

    其他阅读材料 159
查看详情
系列丛书 / 更多
颠覆完美软件:软件测试必须知道的几件事
成为技术领导者:掌握全面解决问题的方法
Gerald M. Weinberg(杰拉尔德·温伯格) 著;余晟 译
颠覆完美软件:软件测试必须知道的几件事
程序开发心理学
Gerald M. Weinberg(杰拉尔德·温伯格) 著;邓俊辉 译
相关图书 / 更多
颠覆完美软件:软件测试必须知道的几件事
颠覆性创新:国家视角
张光宇
颠覆完美软件:软件测试必须知道的几件事
颠覆且回归的圣陶教育——王天民教育思想与实践
张立秋
颠覆完美软件:软件测试必须知道的几件事
颠覆性技术创新研究——能源领域
中国科学院颠覆性技术创新研究组
颠覆完美软件:软件测试必须知道的几件事
颠覆:马斯克的商业逻辑和创新法则
[美]杰西 卡·伊斯托 编著
颠覆完美软件:软件测试必须知道的几件事
颠覆与创新:新媒体生态及其治理
张小强
颠覆完美软件:软件测试必须知道的几件事
颠覆与重构:所有生意都可以重新再做一遍
胡华成
颠覆完美软件:软件测试必须知道的几件事
颠覆教育的人:蒙台梭利传
[美]丽塔·克莱默 著;王雯 译;中青文 出品
颠覆完美软件:软件测试必须知道的几件事
颠覆经典版图画捉迷藏(全4册)
美国童光萃集出版社
颠覆完美软件:软件测试必须知道的几件事
颠覆: AI时代的企业管理方式大变革
[西]乔迪·卡纳尔斯【西】弗朗兹·休坎普
颠覆完美软件:软件测试必须知道的几件事
颠覆性技术创新生态路径研究
中国社会科学院数量经济与技术经济研究所项目组 编著
颠覆完美软件:软件测试必须知道的几件事
颠覆:迎接第二次量子革命
郭光灿
颠覆完美软件:软件测试必须知道的几件事
颠覆人心的设计
[日]尾泽曹飞 编著;李芳芷 译
您可能感兴趣 / 更多
颠覆完美软件:软件测试必须知道的几件事
浅层地热系统 设计、建造、运行和监测
German Geological Society e.V. German Geotechnical Society e.V
颠覆完美软件:软件测试必须知道的几件事
云端基因组学(影印版)
GeraldineA.VanderAuwera;BrianD.O’Connor
颠覆完美软件:软件测试必须知道的几件事
链接结构:关于嵌入完全图的直线中链接单形的组合结构(英文)
Gerth 著;[德]迈克·格斯(Maik
颠覆完美软件:软件测试必须知道的几件事
常微分方程与动力系统(影印版)
Gerald Teschl
颠覆完美软件:软件测试必须知道的几件事
量子力学中的数学方法:Schr?dinger算子的应用(影印版)
Gerald Teschl
颠覆完美软件:软件测试必须知道的几件事
Plewig-Kligman痤疮与玫瑰痤疮(第4版)
Gerd Plewig • Bodo Melnik • WenChieh Chen 著;丛 林 廖 勇 田艳丽 译
颠覆完美软件:软件测试必须知道的几件事
作业设计300妙招
Gerry、Czerniawski、Warren、Kidd 著
颠覆完美软件:软件测试必须知道的几件事
Apache Spark流处理(影印版)
Gerard Maas;Francois Garillot
颠覆完美软件:软件测试必须知道的几件事
Fourier分析及其应用(影印版)
Gerald B. Folland
颠覆完美软件:软件测试必须知道的几件事
离岸结构物的老化和寿命延长:结构完整性管理的挑战
Gerhard Ersdal,;John V. Sharp;Alexander Stacey
颠覆完美软件:软件测试必须知道的几件事
配电网规划
Gerard 著;[澳]Farhad、Shahnia、Ail、Arefi、国网经济技术研究院有限公司 译
颠覆完美软件:软件测试必须知道的几件事
TheGhostoftheChatteringBones(TheBoxcarChildrenMysteries#102)英文原版
Gertrude Chandler Warner 著