


D,Click to Edit Master Text Styles,SECOND LEVEL,THIRD LEVEL,*,E.Angel and D.Shreiner:Interactive Computer Graphics 6E Addison-Wesley 2012,1,内容,(,1,)判定表测试法,理论,互动练习,(,2,)测试,理论,互动练习,2,判定表测试法,3.,基于判定表的测试,判定表能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏利用判定表能够设计出完整的测试用例集合判定表通常由四个部分组成:,桩,规则,条件桩,条件项,动作桩,动作项,3,判定表测试法,判定表设计步骤:,确定规则的个数,列出所有的条件桩和动作桩,填入条件项,填入动作项,得到初始判定表,简化判定表、合并相似规则(相同动作),4,判定表测试法,某程序规定:,“,对总成绩大于,450,分,且各科成绩均高于,85,分或者是优秀毕业生,应优先录取,其余情况作其他处理,”,请用判定表设计测试用例1,2,3,4,5,6,7,8,条,件,总成绩大于,450,分吗?,Y,Y,Y,Y,N,N,N,N,各科成绩均高于,85,分吗?,Y,Y,N,N,Y,Y,N,N,优秀毕业生吗?,Y,N,Y,N,Y,N,Y,N,动,作,优先录取;,作其他处理,1.,建立判定表,5,判定表测试法,2.,简化判定表,1,2,3,4,条,件,总成绩大于,450,分吗?,Y,Y,Y,N,各科成绩均高于,85,分吗?,Y,N,N,优秀毕业生吗?,Y,N,动,作,优先录取,作其他处理,问题描述:,“,对于功率大于,50,马力的机器,并且维修记录不全或已运行,10,年以上的机器,应给予优先的维修处理,”,请建立决策表。
6,判定表测试法,volunteer?,7,判定表测试法,(,1,)列出所有的条件桩和动作桩,条件桩,C1,:功率大于,50,马力吗?,C2,:维修记录不全吗?,C3,:运行超过,10,年吗?,动作桩,A1,:进行优先处理,A2,:作其他处理,8,判定表测试法,(,2,)确定规则个数,输入条件个数:,3,;,每个条件的取值:,“,是,”,或,“,否,”,;,规则个数:,2*2*2=8,;,功率大于,50,马力吗,维修记录不全吗,运行超过,10,年吗,9,判定表测试法,1,2,3,4,5,6,7,8,条,件,功率大于,50,马力吗?,Y,Y,Y,Y,N,N,N,N,维修记录不全吗?,Y,Y,N,N,Y,Y,N,N,运行超过,10,年吗?,Y,N,Y,N,Y,N,Y,N,动,作,进行优先处理,作其他处理,(,3,)填入条件项;,10,判定表测试法,1,2,3,4,5,6,7,8,条,件,功率大于,50,马力吗?,Y,Y,Y,Y,N,N,N,N,维修记录不全吗?,Y,Y,N,N,Y,Y,N,N,运行超过,10,年吗?,Y,N,Y,N,Y,N,Y,N,动,作,进行优先处理,作其他处理,(,4,)填入动作项;,不完全正确,11,判定表测试法,(,5,)化简;,(1),(2),(3),(4),(5),条,件,功率大于,50,马力吗?,Y,Y,Y,N,N,维修记录不全吗?,Y,N,N,运行超过,10,年吗?,Y,N,Y,N,动,作,进行优先处理,作其他处理,不完全正确,问题描述,输入三个正整数,a,、,b,、,c,,分别作为三角形的三条边,通过程序判断三条边是否能构成三角形?如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形、一般三角形)。
请用基于判定表的方法设计测试用例12,判定表测试法,volunteer?,13,判定表测试法,(,1,)条件桩,C1,:,a,b,c,构成三角形?,C2,:,a=b?,C3,:,a=c,?,C4,:,b=c,?,(,2,)规则数,共有四个条件,每个条件的取值为,“,是,”,或,“,否,”,,因此有,2,4,=16,条规则14,判定表测试法,(,3,)动作桩,A1,:非三角形;,A2,:不等边三角形;,A3,:等腰三角形;,A4,:等边三角形;,A5,:不可能;,15,(,4,)判定表,1,2,3,4,5,6,7,8,9,条,件,a,b,c,构成三角形,N,Y,Y,Y,Y,Y,Y,Y,Y,a=b?,Y,Y,Y,Y,N,N,N,N,a=c,?,Y,Y,N,N,Y,Y,N,N,b=c,?,Y,N,Y,N,Y,N,Y,N,规则条数统计,8,1,1,1,1,1,1,1,1,动,作,非三角形,不等边三角形,等腰三角形,等边三角形,不可能,16,注意:,条件的选择可以大大扩展判定表的规模;,例如:,a,b,c,构成三角形吗?可以扩展为三个条件:,a b+c?,b a+c?,c a+b?,则规则条数变为,2,6,=64,17,条件桩修改后的判定表,18,a=b,a=c,bc,19,因果图测试法,因果图中包含四种关系:,恒等:若,c1,是,1,,则,e1,也是,1,;若,c1,是,0,,则,e1,为,0,。
非:若,c1,是,1,,则,e1,是,0,;若,c1,是,0,,则,e1,是,1,或:若,c1,或,c2,或,c3,是,1,,则,e1,是,1,;若,c1,、,c2,和,c3,都是,0,,则,e1,为,0,或,”,可有任意多个输入与:若,c1,和,c2,都是,1,,则,ei,为,1,;否则,ei,为,0,与,”,也可有任意多个输入20,因果图测试法,输入输出约束图形符号,21,因果图测试法,输入输出约束图形符号,22,因果图测试法,某软件规格说明书要求:第一列字符必须是,A,或,B,,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息,L,,如果第二列字符不是数字,则给出信息,M,下面介绍使用因果图法设计测试用例23,因果图测试法,2.,绘制因果图,1,2,3,11,22,21,23,(,a,)因果图,1,2,3,11,22,21,23,E,(,b,)有约束的因果图,24,因果图测试法,3.,根据因果图所建立的判定表,1,2,3,4,5,6,7,8,条,件,1,1,1,1,1,0,0,0,0,2,1,1,0,0,1,1,0,0,3,1,0,1,0,1,0,1,0,11,1,1,1,1,0,0,动,作,22,/,/,0,0,0,0,1,1,21,/,/,1,0,1,0,0,0,23,/,/,0,1,0,1,0,1,25,因果图测试法,有一个处理单价为,1,元,5,角钱的盒装饮料的自动售货机软件。
若投入,1,元,5,角硬币,按下,“,可乐,”,、,“,雪碧,”,或,“,红茶,”,按钮,相应的饮料就送出来若投入的是两元硬币,在送出饮料的同时退还,5,角硬币volunteer?,26,因果图测试法,原因:投入,1,元,5,角硬币;投入,2,元硬币;按,“,可乐,”,按钮;按,“,雪碧,”,按钮;按,“,红茶,”,按钮中间状态:已投币;已按钮结果:退还,5,角硬币;送出,“,可乐,”,饮料;送出,“,雪碧,”,饮料;送出,“,红茶,”,饮料27,因果图测试法,28,因果图测试法,29,分析中国象棋中走马的实际情况,如果落点在棋盘外,则不移动棋子;,如果落点与起点不构成日字型,则不移动棋子;,如果在落点方向的邻近交叉点有棋子,(,绊马腿,),则不移动棋子;,落点处有己方棋子,则不移动棋子,;,如果不属于,1-4,条,落点处无棋子,则移动棋子;,如果不属于,1-4,条,落点处为对方棋子,(,非老将,),则移动棋子并除去对方棋子;,如果不属于,1-4,条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束volunteer?,30,根据分析明确原因和结果,原因:,落点在棋盘上;,落点与起点构成日字;,落点方向的邻近交叉点无棋子;,落点处为自己方棋子;,落点处无棋子;,落点处为对方棋子,(,非老将,),;,落点处为对方老将,。
结果:,E1,、不移动棋子;,E2,、移动棋子;,E3,、移动棋子,并除去对方棋子;,E4,、移动棋子,并提示战胜对方,结束游戏31,添加中间节点,11,目的是作为导出结果的进一步原因,简化因果图导出的判定表,1,3,4,5,E1,7,6,2,E2,E3,E4,11,V,V,V,V,V,E,32,决策表分解,规则,选项,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,1,1,1,1,1,1,1,0,1,1,0,1,1,1,0,0,1,0,1,1,1,0,1,0,1,0,0,1,1,0,0,0,0,1,1,1,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,1,0,0,1,0,0,0,0,1,0,0,0,0,11,E1,0,1,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,33,规则,选项,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,11,5,6,7,1,1,1,1,1,1,1,0,1,1,0,1,1,1,0,0,1,0,1,1,1,0,1,0,1,0,0,1,1,0,0,0,0,1,1,1,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,1,0,0,1,0,0,0,0,1,0,0,0,0,E2,E3,E4,1,0,0,0,1,0,0,0,1,34,规则,选项,1,2,3,4,5,6,7,8,1,2,3,1,1,1,1,1,0,1,0,1,1,0,0,0,1,1,0,1,0,0,0,1,0,0,0,11,E1,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,决策表分解,35,规则,选项,1,2,3,4,5,6,7,8,11,4,5,6,7,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,0,1,0,1,0,0,1,0,0,1,0,1,0,0,0,1,E1,E2,E3,E4,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,36,END,37,。