阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某银行B和某公司C发行联名信用卡,用户使用联名信用卡刷卡可累计积分,积分累计规则与刷卡金额和刷卡日期有关,具体积分规则如表2-1所示。 此外,公司C的会员分为普通会员、超级会员和PASS会员三个级别,超级会员和PASS会员在刷卡时有额外积分奖励,奖励规则如表2-2所示。 }银行B开发了一个程序来计算用户每次刷卡所累积的积分,程序的输入包括会员级别L、刷卡日期D和刷卡金额A,程序的输出为本次积分S。其中,L为单个字母且大小写不敏感,D由程序直接获取系统日期,A为正浮点数最多保留两位小数,S为整数。问题1:(5分)采用等价类划分法对该程序进行测试,等价类表如下表所示,请补充表2-3中空(1)~(5)。 问题2:(9分)根据以上等价类表设计的测试用例如下表所示,请补充表2-4中空(1)~(9)。 问题3:(6分)如果规定了单次刷卡的积分上限为20000(即S取值大于等于0且小于等于20000),则还需要针对S的取值补充一些测试用例。假设采用等价类划分法和边界值分析法来补充用例,请补充表2-5、表2-6中的空(1)~(6)。
问题1:答案:(1):P;(2):12月12日;(3):正浮点数带2位小数;(4):MSP以外的字母;(5):非正浮点数;问题2:答案:(1):1000;(2):500;(3):3、6、8;(4):1月1日 (除特殊日期之外的其它日期);(5):1 (非字母即可);(6):N/A;(7):K (MSP以外的单个字母);(8):1、7、12;(9):500.123(多于两位小数的正浮点数);问题3:答案:(1):S<0;(2):s>20000;(3):S=19999;(4):S=-1;(5):S=20001;(6):S=1; 【解析】 问题1:解析:本小题考查黑盒测试用例设计中的等价类划分法。等价类划分法:把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。划分等价类的6条原则:(1)在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类;(2)在输入条件规定了输入值的集合或者规定了必须如何的条件的情况下,可以确立一个有效等价类和一个无效等价类;(3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类;(4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类;(5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);(6)在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则再将该等价类进一步地划分为更小的等价类;问题2:解析:本小题考查等价类的具体用例取值,按照前面的表对应计算即可。 等价类划分法:把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。划分等价类的6条原则:(1)在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类;(2)在输入条件规定了输入值的集合或者规定了必须如何的条件的情况下,可以确立一个有效等价类和一个无效等价类;(3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类;(4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类;(5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);(6)在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则再将该等价类进一步地划分为更小的等价类;问题3:解析:本小题考查等价类和边界值的具体用例取值。 边界值分析法:对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。边界值设计测试用例,应遵循的原则:(1)如果输入条件规定了值得范围,则应取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据;(2)如果输入条件规定了值得个数,则用最大个数、最小个数、比最小个数少、比最大个数多1的数作为测试数据;(3)根据规格说明的每个输出条件,使用前面的原则(1);(4)根据规格说明的每个输出条件,应用前面的原则(2);(5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例;(6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构边界上的值作为测试用例;(7)分析规格说明,找出其他可能的边界条件;