参考答案:
【问题1】:
测试用例1:31~100中任意一个数
测试用例2:101
测试用例3:0
测试用例4:1~10中任意一个数
测试用例5:11~20中任意一个数
测试用例6:21~30中任意一个数
【问题2】:(题干中不要求考虑健壮性,和1~100以外的)
1、10、11、20、21、30、31、100 (5、15、25、35)
【问题3】:
错误推测法、因果图法、判断表法、正交试验法、功能图法、场景法
详细解析:
【问题1】划分等价类的6条原则:
(1)在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类
(2)在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类
(3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类
(4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类
(5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)
(6)在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则再将该等价类进一步地划分为更小的等价类
本题中主要范围限制为1<=C<=100,即可以划分为两个无效和一个有效等价,但由于每一个小的等价类是单独处理的,因此需要再进一步的划分:
测试用例1:31~100中任意一个数
测试用例2:101
测试用例3:0
测试用例4:1~10中任意一个数
测试用例5:11~20中任意一个数
测试用例6:21~30中任意一个数
【问题2】
边界值设计测试用例,应遵循的原则:
1)如果输入条件规定了值得范围,则应取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据
2)如果输入条件规定了值得个数,则用最大个数、最小个数、比最小个数少、比最大个数多1的数作为测试数据
3)根据规格说明的每个输出条件,使用前面的原则1
4)根据规格说明的每个输出条件,应用前面的原则2
5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例
6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构边界上的值作为测试用例
7)分析规格说明,找出其他可能的边界条件
依据边界值设计测试用例的原则,测试用例应选择:
0、1、10、11、20、21、30、31、100、101
由于本题中不需考虑不在1至100之间的数,所以本题的测试用例应选择
1、10、11、20、21、30、31、100(5、15、25、35)
【问题3】
黑盒测试的方法有等价类划分、边界值分析、因果图法、判定表法、正交试验法、功能图法、场景法、错误推测法等
因此本题可选:错误推测法、因果图法、判断表法、正交试验法、功能图法、场景法中的3种