《软件测试的艺术》笔记 第一章

我们要求设计一组测试用例(特定的数据集合),适当地测试一个相当简单的程序。为此要为该程序建立一组测试数据,程序须对数据进行正确处理以证明自身的成功。下面是对程序的描述:
这个程序从一个输入对话框中读取三个整数值。这三个整数值代表了三角形三边的长度。程序显示提示信息,指出该三角形究竟是不规则三角形、等腰三角形还是等边三角形。 
注意,所谓不规则三角形是指三角形中任意两条边不相等,等腰三角形是指有
两条边相等,而等边三角形则是指三条边相等。另外,等腰三角形等边的对角也相
等(即任意三角形等边的对角也相等),等边三角形的所有内角都相等。
用你的测试用例集回答下列问题,借以对其进行评价。对每个回答“是”的答
案,可以得l分:
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,其中两个整数之和等于第三
个?(也就是说,如果程序判断l,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至问题13代表了该程序不同版本中已经实际出现的错误,对该
程序进行的充分测试至少应该能够暴露这些错误。
开始关注自己的得分之前,请考虑以下情况:以我们的经验来看,高水平的专
业程序员平均得分仅7.8(满分14)。如果读者的得分更高,那么祝贺你。如果没有
那么高,我们将尽力帮助你。

你可能感兴趣的:(软件测试)