您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > T4测试用例设计_因果图与决策表
ITEducation&Training主讲:王春秀SoftwareTestingFoundation第三部分:测试设计技术ITEducation&Trainingwangchunxiu@nsu.edu.cn21.黑盒测试技术常用的黑盒测试技术有:1.1等价类划分法1.2边界值分析法1.3状态转移测试1.4因果图和决策表1.5用例测试1.6其他黑盒技术ITEducation&Trainingwangchunxiu@nsu.edu.cn3思考以下问题•一图书销售系统,其中一加工为“优惠处理”,条件是:顾客的营业额大于1000元,同时必须信誉好,或者虽然信誉不好,但是20年以上的老主顾。•要求使用所学的方法设计测试用例,怎么做?ITEducation&Trainingwangchunxiu@nsu.edu.cn4因果图/决策表法1.因果图2.决策表ITEducation&Trainingwangchunxiu@nsu.edu.cn51.因果图法把输入条件视为“因”,把输出条件视为“果”,将黑盒看成是从因到果的网络图,采用逻辑图的形式来表达功能说明书中输入条件的各种组合与输出的关系。根据这种关系可选择高效的测试用例。方法的依据:需求规格说明中的因果关系ITEducation&Trainingwangchunxiu@nsu.edu.cn6因果图方法举例某程序要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下对文件进行修改。但第一列字符不正确,则给出信息L;若第二列字符不是一个数字,则给出信息M。分析原因1——第一列字符是A2——第一列字符是B3——第二列字符是一个数字结果21——修改文件22——给出信息L23——给出信息MITEducation&Trainingwangchunxiu@nsu.edu.cn7因果图21232223111∨∧E原因1——第一列字符是A2——第一列字符是B3——第二列字符是一个数字结果21——修改文件22——给出信息L23——给出信息M1或者21或者2,不可能既是A又是B既不是A又不是B,给出信息L11与3不是3给出信息MITEducation&Trainingwangchunxiu@nsu.edu.cn8将因果图转换为判定表并得出测试用例12345678条件(原因)①11110000②11001100③10101010111100动作(结果)000011101000010101测试用例A3A8ABA?B5B4BNB!C2X6SDP$23212211ITEducation&Trainingwangchunxiu@nsu.edu.cn9决策表测试•在所有的黑盒测试方法中,基于决策表的测试是最严格的、最具有逻辑性的测试方法。•决策表一直被用来表示和分析复杂的逻辑关系,描述不同条件集合下采取行动的若干组合情况。ITEducation&Trainingwangchunxiu@nsu.edu.cn10决策表(DecisionTable)决策表是一种二维的表格,通常由四部分组成。条件框—条件定义。操作框—操作的定义。条件条目—各条件的取值及组合。操作条目—在各条件取值组合下所执行的操作。特点:可处理较复杂的组合条件,但不易理解,不易输入计算机。条件框条件条目操作框操作条目ITEducation&Trainingwangchunxiu@nsu.edu.cn11决策表法的步骤1.列出影响结果的所有条件,每种条件构成条件框的一行2.列出所有可能采取的动作,每种动作构成操作框的一行3.将每种条件的各种可能取值填入决策表的条件条目,用“Y”或“N”表示,决策表的列数是各种条件取值的组合4.在操作条目中对各列条件组合所采取的动作划“X”5.简化决策表ITEducation&Trainingwangchunxiu@nsu.edu.cn12Asimpleexample如果天冷,加外套;如下雨,带伞;1.列出所有可能的条件天冷下雨2.列出所有可能的动作带外套带雨伞3.列出所有可能条件的取值组合YYNNYNYN4.列出各条件组合所采取的动作XXXXITEducation&Trainingwangchunxiu@nsu.edu.cn13判断表(DecisionTable)例1:一图书销售系统,其中一加工为“优惠处理”,条件是:顾客的营业额大于1000元,同时必须信誉好,或者虽然信誉不好,但是20年以上的老主顾。123456781000元YYYYNNNN信誉好YYNNYYNN20年YNYNYNYN优惠XXX正常XXXXXY-满足条件N-不满足条件X-选中判定的结论条件框条件条目操作框操作条目ITEducation&Trainingwangchunxiu@nsu.edu.cn14123456781000元YYYYNNNN信誉好YYNNYYNN20年YNYNYNYN优惠XXX正常XXXXX说明不管20年的条件满足与否,都执行优惠12341000元YYYN信誉好YNN20年YN优惠XX正常XX优化后的决策表ITEducation&Trainingwangchunxiu@nsu.edu.cn15根据决策表设计测试用例12341000元YYYN信誉好YNN20年YN优惠XX正常XX测试用例1200,好,-1200,不好,25年1200,不好,12年900,不好,12ITEducation&Trainingwangchunxiu@nsu.edu.cn16例2:ATM•用银行卡在ATM取款的流程如图所示•要求:完成银行卡取款决策表,并设计测试用例Start插入银行卡银行卡有效?询问密码密码正确错误次数3?询问取款金额卡中有钱可用出币YYYNNN吞卡拒绝卡YNEndITEducation&Trainingwangchunxiu@nsu.edu.cn17第一步:列出所有可能的条件银行卡有效PIN正确3次错误PIN有钱可用ITEducation&Trainingwangchunxiu@nsu.edu.cn18第二步:列出所有可能的动作银行卡有效PIN正确3次错误PIN有钱可用拒绝卡询问新PIN吞卡询问新金额出币ITEducation&Trainingwangchunxiu@nsu.edu.cn19第三步:列出所有条件组合12345678910111213141516银行卡有效NNNNYYYYNNNYYYNYPIN正确NNNYNYNNYYNYYNYY3次错误PINNNYNNNYNYNYYNYYY有钱可用NYNNNNNYNYYNYYYY拒绝卡询问新PIN吞卡询问新金额出币××不可能ITEducation&Trainingwangchunxiu@nsu.edu.cn20第四步:列出条件组合的动作12345678910111213141516银行卡有效NNNNYYYYNNNYYYNYPIN正确NNNYNYNNYYNYYNYY3次错误PINNNYNNNYNYNYYNYYY有钱可用NYNNNNNYNYYNYYYY拒绝卡XXXXXXXX询问新PINXX吞卡XX询问新金额X出币X××ITEducation&Trainingwangchunxiu@nsu.edu.cn21第五步:简化12345银行卡有效NYYYYPIN正确-NNYY3次错误PIN-NYNN有钱可用---NY拒绝卡X询问新PINX吞卡X询问新金额X出币XITEducation&Trainingwangchunxiu@nsu.edu.cn22课后练习:用决策表法为QQ登录界面设计测试用例1.申请一个QQ账号(如已有,该步省略);2.列出所有可能的条件3.列出所有可能的动作4.列出所有可能条件的取值组合5.标出各条件组合所采取的动作6.完成决策表;7.根据决策表设计测试用例8.在实验报告中给出完成的决策表及设计的测试用例。ITEducation&Trainingwangchunxiu@nsu.edu.cn23下课前完成并提交ITEducation&Trainingwangchunxiu@nsu.edu.cn24软件测试经典案例:NextDate函数ITEducation&Trainingwangchunxiu@nsu.edu.cn25关于Date的一些知识•闰年/非闰年•大月/小月/平月•闰年–年份能被4整除–能够被100整除且同时能够被4整除•大月/小月/平月–大月:每月31天,有1、3、5、7、8、10、12–小月:每月30天,有4、6、9、11–平月:平年有28天,闰年有29天,有2月ITEducation&Trainingwangchunxiu@nsu.edu.cn26关于月份的英文月份英文月份英文1January7July2February8August3March9September4April10October5May11November6June12DecemberITEducation&Trainingwangchunxiu@nsu.edu.cn27NextDate函数举例:输入期望输出分析2009.4.62009.4.72009.4.302009.5.12009.5.302009.5.312009.5.312009.6.12008.12.312009.1.12008.2.282008.2.292009.2.282009.3.1……日期加1月份加1,日期复位日期加1年加1,月复位,日复位日期加1月份加1,日期复位思考:同样是30日,为何处理方式不一样?思考:同样是31日,为何处理方式不一样?思考:同样是28日,为何处理方式不一样?月份加1,日期复位ITEducation&Trainingwangchunxiu@nsu.edu.cn28发现了什么?变量之间在输入定义域中存在逻辑依赖关系。对这种情况,使用决策表方法可以较好地处理。ITEducation&Trainingwangchunxiu@nsu.edu.cn29•使用决策表设计测试用例时,可以把条件解释为输入,把动作解释为输出ITEducation&Trainingwangchunxiu@nsu.edu.cn30分析NextDate中的输入•日(D)•月(M)•年(Y)M1:{month:month有30天}M2:{month:month有31天,12月除外}M3:{month:month是12月}M4:{month:month是2月}D1:{1≤day≤27}D2:{day=28}D3:{day=29}D4:{day=30}D5:{day=31}Y1:{year:year是闰年}Y2:{year:year不是闰年}注意:这里的每个输入条件不是简单的满足或不满足,而是可以取不同的值,当取值不同时,所采取的动作也不同。因此,必须对各种不同取值分别考虑。ITEducation&Trainingwangchunxiu@nsu.edu.cn31通过前面的例子发现为了产生给定日期的下一个日期,NextDate函数的操作有5种:–日期加1–月份加1–日期复位–月份复位–年份加1ITEducation&Trainingwangchunxiu@nsu.edu.cn32第一步规则选项C1:month在c2:day在C3:year在ITEducation&Trainingwangchunxiu@nsu.edu.cn33第二步规则选项C1:month在c2:day在C3:year在A1:不可能A2:day+1A3:day复位A4:month+1A5:month复位A6:year+1ITEducation&Trainingwangchunxiu@nsu.edu.cn34第三步规则选项1234567891011C1:month在M1M1M1M1M1M2M2M2M2M2M3c2:day在D1D2D3D4D5D1D2D3D4D5D1C3:year在-----------A1:不可能A2:day+1A3:day复位A4:month+1A5:month复位A6:year+1ITEducation&Trainingwangchunx
本文标题:T4测试用例设计_因果图与决策表
链接地址:https://www.777doc.com/doc-610318 .html