《软件测试的艺术》--读书笔记
第一章 一次自评价测试
所谓软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。
自评价测试:我们要求设计一组测试用例(特定的数据集合),适当地测试一个相当简单的程序。为此要为该程序建立一组测试
数据,程序须对数据进行正确处理以证明自身的成功。下面是对程序的描述:
这个程序从一个输入对话框中读取三个整数值。这三个整数值代表了三角形三边的长度。程序显示提示信息,指出该三角形
究竟是不规则三角形、等腰三角形还是等边三角形。
用你的测试用例集回答下列问题,借以对其进行评价。对每个回答“是”的答案,可以得1分:
1.是否有这样的测试用例,代表了一个有效的不规则三角形?
注意:如1,2,3和2,5,10这样的测试用例并不能确保“是”的答案,因为具备这样边长的三角形不存在。(两边和大于第三边)
2.是否有这样的测试用例,代表一个有效的等边三角形?
3.是否有这样的测试用例,代表一个有效的等腰三角形?
注意:如2,2,4的测试用例无效,因为这不是一个有效的三角形。
4.是否至少有三个这样的测试用例,代表有效的等腰三角形,从而可以测试到两等边的所有三种可能情况?
例如:3,3,4;3,4,3;4,3,3
5.是否有这样的测试用例,某边的长度等于0?
6.是否有这样的测试用例,某边的长度为负数?
7.是否有这样的测试用例,三个整数皆大于0,其中两个整数之和等于第三个?
注:也就是说,如果程序判断1,2,3表示一个不规则三角形,它可能就包含一个缺陷
8.是否至少有三个第7类的测试用例,列举了一边等于另外两边之和的全部可能情况?
例如:1,2,3;1,3,2;3,1,2
9.是否有这样的测试用例,三个整数皆大于0,其中两个整数之和小于第三个整数?
例如:1,2,4;12,15,30
10.是否至少有三个第9类的测试用例,列举了一边大于另外两边之和的全部可能情况?
例如:1,2,4;1,4,2;4,1,2
11.是否有这样的测试用例,三边长度皆为0?
例如:0,0,0
12.是否至少有一个这样的测试用例,输入的边长为非整数值?
例如:2.5,3.5,5.5
13.是否至少有一个这样的测试用例,输入的边长个数不对?
例如:仅输入了两个而不是三个整数
14.对于每一个测试用例,除了定义输入值之外,是否定义了程序针对该输入值的预期输出值?
当然,测试用例集即使满足了上述条件,也不能确保能查找出所有可能的错误。但是,
第一章 一次自评价测试
所谓软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。
自评价测试:我们要求设计一组测试用例(特定的数据集合),适当地测试一个相当简单的程序。为此要为该程序建立一组测试
数据,程序须对数据进行正确处理以证明自身的成功。下面是对程序的描述:
这个程序从一个输入对话框中读取三个整数值。这三个整数值代表了三角形三边的长度。程序显示提示信息,指出该三角形
究竟是不规则三角形、等腰三角形还是等边三角形。
用你的测试用例集回答下列问题,借以对其进行评价。对每个回答“是”的答案,可以得1分:
1.是否有这样的测试用例,代表了一个有效的不规则三角形?
注意:如1,2,3和2,5,10这样的测试用例并不能确保“是”的答案,因为具备这样边长的三角形不存在。(两边和大于第三边)
2.是否有这样的测试用例,代表一个有效的等边三角形?
3.是否有这样的测试用例,代表一个有效的等腰三角形?
注意:如2,2,4的测试用例无效,因为这不是一个有效的三角形。
4.是否至少有三个这样的测试用例,代表有效的等腰三角形,从而可以测试到两等边的所有三种可能情况?
例如:3,3,4;3,4,3;4,3,3
5.是否有这样的测试用例,某边的长度等于0?
6.是否有这样的测试用例,某边的长度为负数?
7.是否有这样的测试用例,三个整数皆大于0,其中两个整数之和等于第三个?
注:也就是说,如果程序判断1,2,3表示一个不规则三角形,它可能就包含一个缺陷
8.是否至少有三个第7类的测试用例,列举了一边等于另外两边之和的全部可能情况?
例如:1,2,3;1,3,2;3,1,2
9.是否有这样的测试用例,三个整数皆大于0,其中两个整数之和小于第三个整数?
例如:1,2,4;12,15,30
10.是否至少有三个第9类的测试用例,列举了一边大于另外两边之和的全部可能情况?
例如:1,2,4;1,4,2;4,1,2
11.是否有这样的测试用例,三边长度皆为0?
例如:0,0,0
12.是否至少有一个这样的测试用例,输入的边长为非整数值?
例如:2.5,3.5,5.5
13.是否至少有一个这样的测试用例,输入的边长个数不对?
例如:仅输入了两个而不是三个整数
14.对于每一个测试用例,除了定义输入值之外,是否定义了程序针对该输入值的预期输出值?
当然,测试用例集即使满足了上述条件,也不能确保能查找出所有可能的错误。但是,