summer506hai / Study-Notes

学习记录合辑
0 stars 0 forks source link

读《软件测试的艺术》 #7

Open summer506hai opened 1 year ago

summer506hai commented 1 year ago

第2章 软件测试的心理学和经济学

测试是为发现错误而只想程序的过程

在大多数情况下,未能找出错误的测试被认为是 "不成功的"

软件测试的原则

1.测试用例中一个必需部分是对预期输出或结果的定义

2.一个测试用例必须包括两个部分:

(1)对程序的输入数据的描述
(2)对程序在上述输入数据下对正确输出结果的精确描述

3.程序员应该避免测试自己编写的程序

由于程序员错误的理解了疑难定义或规范,导致程序中存在错误

4.编写软件的组织不应当测试自己编写的程序

5.应当彻底检查每个测试的执行结果

6.测试用例的编写不仅应当根据有效和预期的输入情况,而且也应当根据无效和未预料到的输入情况

检查程序是否 "未做其应该做的" 仅是测试的一半,测试的另一半是检查程序是否 "做了其不应该做的"

7.应避免测试用例用后即弃,除非软件本身就是一个一次性的软件

如果对程序的更改导致某个先前可以执行的部分发生了故障,这个故障往往是不会被发现的。保留测试用例,当程序其他部件发生变动后重新执行,这就是 "回归测试"

8.计划测试工作时不应默许假定不会发现错误

9.程序某部分存在更多错误的可能性,与该部分已发现错误的数量成正比

如果一个程序的某个部分远比其他部分更容易产生错误,那么这种现象告诉我们,为了使测试获得更大的成效,最好对这些容易存在错误的部分进行额外的测试

10.软件测试是一项极富创造性,极具智力挑战性的工作

小结