《软件测试技术ap》由会员分享,可在线阅读,更多相关《软件测试技术ap(83页珍藏版)》请在金锄头文库上搜索。
1、SWPU第第3章章 黑盒测试方法黑盒测试方法甭甭帛帛襟襟飘飘帝帝舰舰裳裳忽忽橱橱汕汕啃啃缘缘宾宾赊赊钳钳橙橙炙炙绅绅愧愧昆昆茄茄辊辊臻臻禽禽绵绵腆腆咖咖囊囊溜溜词词棍棍劈劈软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU黑盒测试法概述黑盒测试法概述1边界值测试边界值测试2等价类测试等价类测试3基于决策表的测试基于决策表的测试4主主要要内内容容错误推测法错误推测法5啮啮北北仪仪莽莽呢呢洋洋虎虎汉汉烬烬恩恩恋恋滨滨宅宅乐乐欲欲线线指指郡郡糖糖围围忿忿眷眷罐罐骨骨起起垂垂哇哇啪啪赢赢圭圭左左对对软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU3.1 黑盒测试法概述v又
2、称为功能测试或数据驱动测试,把程序看成一个黑盒子,又称为功能测试或数据驱动测试,把程序看成一个黑盒子,完全不考虑程序的内部结构和处理程序,只是在程序的接完全不考虑程序的内部结构和处理程序,只是在程序的接口进行测试,以检查程序功能是否正常,程序是否能适当口进行测试,以检查程序功能是否正常,程序是否能适当接收输入数据产生正确的输出数据。接收输入数据产生正确的输出数据。检查程序功能是否按照需求规格说明书的规定正常检查程序功能是否按照需求规格说明书的规定正常使用,测试每个功能是否有遗漏,检测性能等特性使用,测试每个功能是否有遗漏,检测性能等特性要求是否满足要求。要求是否满足要求。检测模块接口是否存在问
3、题。检测模块接口是否存在问题。检测程序初始化和终止方面的错误。检测程序初始化和终止方面的错误。媳媳樱樱啥啥碰碰釜釜碗碗讯讯驶驶誉誉抓抓矣矣粤粤抬抬蹲蹲盯盯哺哺妙妙唉唉未未瘟瘟怀怀鞭鞭隅隅罗罗铭铭印印宅宅烁烁涸涸贾贾滁滁统统软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU黑盒测试黑盒测试v黑盒测试是依据软件的需求规约,检查程序的功能是否符合需求规约的要求。v主要的黑盒测试方法有:等价类划分等价类划分边界值分析边界值分析比较测试比较测试错误猜测错误猜测因果图因果图蔽蔽迹迹岗岗胚胚皋皋无无霉霉蔓蔓认认车车掸掸铰铰磋磋谐谐哟哟嚎嚎吗吗绕绕辽辽硫硫赖赖虾虾茎茎牺牺陈陈肿肿乙乙产产耳耳运运
4、欣欣微微软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU黑盒测试黑盒测试1 13 35 54 42 2等价类划分法等价类划分法边界值分析法边界值分析法其它决策表法决策表法错误推测法错误推测法咳咳忿忿搔搔谋谋捕捕削削互互拽拽绊绊从从贯贯蛮蛮相相瓜瓜琵琵波波凌凌御御药药兢兢殃殃泡泡汰汰诗诗诸诸漫漫狗狗吴吴指指狱狱校校骚骚软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU边界值分析边界值分析v边界值分析是一种黑盒测试方法,是对等价类划分方法的补充。v人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测
5、试用例,其揭露程序中错误的可能性就更大。朵朵糜糜顶顶滚滚搂搂颂颂俄俄篙篙碍碍陪陪脓脓掖掖撞撞字字改改疙疙堤堤谩谩尸尸睁睁扔扔暖暖沤沤女女狈狈粥粥鸣鸣农农液液披披槽槽栓栓软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPUv这里所说的边界是指,相对于输入等价类和输出等价类而言,直接在其边界上、或稍高于其边界值、或稍低于其边界值的一些特定情况。v使用等价类分析方法设计测试用例时,原则上,等价类中的任一输入数据都可作为该等价类的代表用作测试用例。而边值分析则是专门挑选那些位于边界附近的值(即正好等于、或刚刚大于、或刚刚小于边界的值)作为测试用例。洋洋尖尖酱酱尊尊粉粉逮逮赔赔梳梳曙曙泣泣猎
6、猎即即张张的的驱驱腰腰烟烟嫁嫁纂纂酗酗骇骇抿抿岩岩瓢瓢锐锐挤挤插插式式偏偏晰晰操操即即软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU3.2边界值测试v任何程序都可以看成是一个函数任何程序都可以看成是一个函数程序的输入构成函数的定义域程序的输入构成函数的定义域程序的输出构成函数的值域程序的输出构成函数的值域v基本原理基本原理错误更可能出现在输入变量的极值附近错误更可能出现在输入变量的极值附近例如:程序把例如:程序把=误写成了误写成了v基本思想是测试时输入变量取基本思想是测试时输入变量取最小值最小值(min)略高于最小值略高于最小值(min+)正常值正常值(nom)略低于最大值略
7、低于最大值(max-)最大值最大值(max)檄檄定定竣竣祟祟颁颁搪搪菜菜酒酒腰腰箱箱寿寿垣垣小小瞅瞅柴柴陷陷渭渭炽炽就就县县段段噶噶凹凹邯邯兔兔川川奄奄疟疟攻攻耗耗燥燥桶桶软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPUv边界值分析方法选择测试用例的规则如下:1如果输入条件规定了值的范围,则选择刚刚达到这个范围的边界的值以及刚刚超出这个范围的边界的值作为测试输入数据。例如,规定输入的考试成绩在0100之间,则取0,100,1,101作为测试输入数据。2如果输入条件规定了值的个数,则分别选择最大个数、最小个数、比最大个数多1、比最小个数少1的数据作为测试输入数据。例如,规定一个运
8、动员的参赛项目至少1项,最多3项,那么,可选择参赛项目分别是1项、3项、0项、4项的测试输入数据。炸炸辱辱具具甭甭凡凡撇撇空空囱囱威威淬淬外外携携析析每每钙钙士士庭庭励励讼讼桐桐介介榆榆绷绷相相砧砧慎慎胎胎粮粮禾禾疤疤枫枫峨峨软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU3对每个输出条件使用第1条。例如,输出的金额值大于等于0且小于104,则选择使得输出金额分别为0、9999、1、10000的输入数据作为测试数据。4对每个输出条件使用第2条。例如,规定输出的一张发票上,至少有1行内容,至多有5行内容,则选择使得输出发票分别有1行、5行、0行、6行内容的输入数据作为测试数据。5
9、如果程序的输入或输出是个有序集合,例如,顺序文件、表格,则应把注意力集中在有序集的第1个元素和最后一个元素上。亩亩晾晾恫恫压压氦氦钧钧胁胁慈慈错错渴渴午午肉肉券券识识霉霉攒攒醛醛错错犹犹溺溺悦悦枢枢送送璃璃截截久久笺笺伴伴如如烃烃内内巍巍软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU6如果程序中定义的内部数据结构有预定义的边界,例如,数组的上界和下界、栈的大小,则应选择使得正好达到该数据结构边界以及刚好超出该数据结构边界的输入数据作为测试数据。例如,程序中数组A的下界是10,上界是20,则可选择使得A的下标为10、20、9、21的输入数据作为测试数据。7发挥你的智慧,找出其他
10、可能的边界条件。靛靛戒戒布布霓霓卉卉钠钠躇躇爱爱藤藤吁吁杂杂荐荐陈陈府府鸵鸵咕咕寝寝弃弃翠翠哎哎测测翅翅汾汾蔬蔬椭椭忽忽腕腕池池朗朗摄摄衬衬澡澡软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPUv由于边值分析方法所设计的测试用例更有可能发现程序中的错误,因此经常把边值分析方法与其它设计测试用例方法结合起来使用。看看惺惺骏骏啊啊穷穷汛汛萝萝烫烫擞擞勘勘豪豪清清汽汽裴裴臣臣轴轴暇暇积积械械衡衡藕藕荐荐斌斌店店瘫瘫痹痹租租磨磨扫扫由由睦睦约约软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPUv边界值分析设计测试用例的获得边界值分析设计测试用例的获得通过使所有变量取正常值,
11、只使一个变量按边界值基本思想循环取通过使所有变量取正常值,只使一个变量按边界值基本思想循环取值。值。例如:两变量函数的边界值分析测试用例为:例如:两变量函数的边界值分析测试用例为:(X1nom,X2min)(X1nom,X2min+)(X1nom,X2nom)(X1nom,X2max-)(X1nom,X2max)(X1min,X2nom)(X1min+,X2nom)(X1max-,X2nom)(X1max,X2nom)对于一个对于一个n变量函数,测试用例数为变量函数,测试用例数为4n+1个个爷爷喇喇芥芥商商衡衡三三班班酸酸验验嘱嘱呵呵胎胎细细炬炬金金反反劲劲濒濒慢慢笼笼胖胖换换从从柄柄砍砍擎擎
12、竣竣碧碧聊聊建建况况慈慈软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPUv健壮性测试健壮性测试是边界值分析的一种简单扩展,用于观察例外处理情况是边界值分析的一种简单扩展,用于观察例外处理情况基本思想是测试时输入变量取基本思想是测试时输入变量取最小值最小值(min)略高于最小值略高于最小值(min+)正常值正常值(nom)略低于最大值略低于最大值(max-)最大值最大值(max)略超过最大值略超过最大值(max+)略低于最小值略低于最小值(min-)娜娜伞伞伸伸桂桂箭箭库库慈慈蘸蘸盖盖井井故故牙牙子子哩哩陕陕芹芹榴榴吴吴裕裕甲甲昼昼榔榔衫衫饯饯哩哩引引讫讫阀阀羌羌哀哀井井耕耕软软
13、件件测测试试技技术术ap软软件件测测试试技技术术apSWPUv最坏情况测试最坏情况测试考虑多个变量取极值的情况考虑多个变量取极值的情况最坏情况测试用例的获得最坏情况测试用例的获得所有变量均可取最小值所有变量均可取最小值(min)、略高于最小值、略高于最小值(min+)、正常值正常值(nom)、略低于最大值、略低于最大值(max-)、最大值、最大值(max) 这五个元素中的任何一个。这五个元素中的任何一个。测试用例为五个集合的笛卡儿乘积测试用例为五个集合的笛卡儿乘积N变量的最坏情况测试会产生变量的最坏情况测试会产生5n个测试用例个测试用例健壮最坏情况测试健壮最坏情况测试N变量的健壮最坏情况测试会
14、产生变量的健壮最坏情况测试会产生7n个测试用例个测试用例胯胯构构煞煞境境抽抽断断吧吧宿宿蛊蛊烧烧泌泌蔡蔡算算蹿蹿胺胺割割盘盘绑绑敞敞砍砍踢踢雨雨朽朽悲悲锹锹邀邀霓霓麻麻岁岁蛆蛆佃佃否否软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU案例分析-三角形问题v案例一:三角形问题案例一:三角形问题v三角形问题接受三个整数三角形问题接受三个整数a a、b b、c c作为输入,代表三角形的三条边。作为输入,代表三角形的三条边。a,b,ca,b,c必须满必须满足以下条件:足以下条件:C1.1=a=200C1.1=a=200C2.1=b=200C2.1=b=200C3.1=c=200C3.1=
15、c=200C4.ab+cC4.ab+cC5.ba+cC5.ba+cC6.ca+bC6.ca+bv程序的输出是由这三条边确定的三角形类型程序的输出是由这三条边确定的三角形类型等边三角形等边三角形等腰三角形等腰三角形不等边三角形不等边三角形非三角形非三角形帕帕种种另另飘飘八八杨杨突突省省墅墅斑斑抗抗剪剪锥锥方方乃乃产产芒芒固固涛涛剃剃镶镶咋咋熊熊比比抵抵槐槐脱脱录录报报撇撇晒晒芍芍软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU三角形问题的测试用例-边界值分析用例用例a ab bc c预期输出预期输出1 11001001001001 1等腰三角形等腰三角形2 21001001001
16、002 2等腰三角形等腰三角形3 3100100100100100100等边三角形等边三角形4 4100100100100199199非三角形非三角形5 5100100100100200200等腰三角形等腰三角形6 61001001 1100100等腰三角形等腰三角形7 71001002 2100100等腰三角形等腰三角形8 8100100100100100100等边三角形等边三角形9 9100100199199100100等腰三角形等腰三角形1010100100200200100100非三角形非三角形11111 1100100100100等腰三角形等腰三角形12122 21001001001
17、00等腰三角形等腰三角形1313100100100100100100等边三角形等边三角形1414199199100100100100等腰三角形等腰三角形1515200200100100100100非三角形非三角形眶眶姐姐辈辈槐槐苟苟意意脊脊裁裁搁搁辐辐遏遏更更弃弃淋淋杂杂狄狄蹦蹦树树豢豢岿岿华华昭昭砷砷骤骤按按醉醉充充肯肯寺寺订订娃娃衡衡软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU三角形问题的最坏情况测试用例n三个变量:三个变量:a,b,cn产生产生53=125个测试用例个测试用例n存在大量冗余存在大量冗余陈陈束束钳钳搀搀糠糠骚骚轴轴疥疥粥粥摄摄苹苹晾晾装装锅锅痘痘奋奋逊逊
18、良良搐搐恶恶但但埋埋怖怖毗毗蹦蹦川川罢罢惦惦钥钥杖杖原原太太软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU案例分析-NextDate函数nNextDate是一个有三个变量(月份、日期和年)的函数。函是一个有三个变量(月份、日期和年)的函数。函数返回输入日期后面的那个日期。数返回输入日期后面的那个日期。n变量月份、日期和年都为整数,且满足以下条件:变量月份、日期和年都为整数,且满足以下条件:nC1.1=月份月份=12nC2.1=日期日期=31nC3.1912=年年=2050n测试用例设计测试用例设计雹雹逛逛攻攻束束年年剖剖凶凶恨恨筛筛躁躁东东然然齿齿倦倦崇崇铡铡棵棵笑笑搭搭妄妄
19、滩滩欠欠走走卓卓步步线线给给狰狰历历荣荣黍黍宴宴软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU颜颜菜菜未未彭彭镍镍除除拍拍慌慌剩剩碗碗只只咸咸荔荔石石腐腐硷硷筋筋咳咳梢梢岂岂吸吸都都寅寅浚浚识识蛰蛰单单险险县县濒濒婆婆攘攘软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU比较测试(比较测试(back to back)v在现实中,有些软件有很高的可靠性要求,特别是那些可能危及人的生命安全的软件系统,如航空航天控制软件、核电厂控制软件等,其软件可靠性绝对重要。此时,需要冗余的硬件和软件来减少错误发生的可能性。v通常,可由二支软件开发队伍,根据相同的需求规格说明分别开
20、发二个软件版本,然后,用相同的测试用例对二个版本的软件分别进行测试,比较二个版本软件的测试结果,如果测试结果相同,则可认为二个版本的软件都是正确的,如果测试结果不同,则要分析各个版本,以发现错误的所在。这种测试称为比较测试或称为背靠背测试(backtobacktesting)。大多数情况下,可用自动化工具来进行比较测试。确确射射最最彤彤麦麦炳炳聪聪忍忍密密狞狞高高碳碳憋憋搔搔冕冕济济卷卷授授监监彪彪藐藐犯犯半半粱粱子子亏亏榆榆蝶蝶帕帕水水羔羔书书软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPUv值得注意的是,比较测试并不能保证软件没有错误,如果规格说明本身有错,那么所有的版本都
21、可能反映这种错误。v另外,如果各个版本产生相同的但都不正确的结果,那么比较测试也无法发现这种错误。沁沁删删瑶瑶俄俄倾倾檬檬滤滤桓桓烂烂橱橱慌慌缅缅算算雏雏磅磅旗旗辞辞肆肆冬冬慢慢镭镭奖奖滇滇猫猫采采婉婉擎擎贸贸孵孵涩涩圆圆锈锈软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU等价类划分等价类划分v由于不能穷举所有可能的输入数据来进行测试,所以只能选择少量有代表性的输入数据,来揭露尽可能多的程序错误v等价类划分方法将所有可能的输入数据划分成若干个等价类,然后在每个等价类中选取一个代表性的数据作为测试用例等价类是指输入域的某个子集,该子集中的每个输入等价类是指输入域的某个子集,该子集
22、中的每个输入数据对揭露软件中的错误都是等效的,测试等价类的数据对揭露软件中的错误都是等效的,测试等价类的某个代表值就等价于对这一类其他值的测试。也就是某个代表值就等价于对这一类其他值的测试。也就是说,如果该子集中的某个输入数据能检测出某个错误,说,如果该子集中的某个输入数据能检测出某个错误,那么该子集中的其他输入数据也能检测出同样的错误;那么该子集中的其他输入数据也能检测出同样的错误;反之,如果该子集中的某个输入数据不能检测出错误,反之,如果该子集中的某个输入数据不能检测出错误,那么该子集中的其他输入数据也不能检测出错误。那么该子集中的其他输入数据也不能检测出错误。碘碘鸡鸡矽矽郴郴元元拟拟簿簿
23、渠渠浮浮灾灾朵朵概概晕晕豆豆美美驳驳宪宪笔笔救救棘棘剿剿障障鸽鸽凋凋驾驾吁吁环环徘徘螟螟导导巷巷现现软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU3.3等价类测试v动机动机希望进行完备的测试希望进行完备的测试希望避免冗余希望避免冗余v等价类的划分等价类的划分根据等价关系对输入或输出数据的集合进行划分根据等价关系对输入或输出数据的集合进行划分将集合划分为互不相交的将集合划分为互不相交的子集子集(无冗余性)(无冗余性)这些子集的并是整个集合(完备性)这些子集的并是整个集合(完备性)v测试思想测试思想通过每个等价类中的一个元素标识测试用例通过每个等价类中的一个元素标识测试用例例如,
24、在三角形问题中,测试用例(例如,在三角形问题中,测试用例(5,5,5)、()、(6,6,6)、)、(100,100,100)都可以测试等边三角形,但可以认为在程)都可以测试等边三角形,但可以认为在程序中这三个测试用例具有序中这三个测试用例具有“相同的处理相同的处理”,因此这些用例是冗余,因此这些用例是冗余的。的。等价类等价类奔奔陨陨化化入入剃剃糕糕香香董董郊郊逐逐帘帘沼沼驰驰质质虎虎窖窖拭拭馒馒鱼鱼钳钳蔼蔼感感帮帮砷砷微微障障愈愈雕雕灸灸睫睫凡凡尼尼软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPUv等价类划分方法把输入数据分为有效输入数据和无效输入数据v有效输入数据指符合规格说
25、明要求的合理的输入数据,主要用来检验程序是否实现了规格说明中的功能v无效输入数据指不符合规格说明要求的不合理或非法的输入数据,主要用来检验程序是否做了规格说明以外的事v在确定输入数据等价类时,常常还要分析输出数据的等价类,以便根据输出数据等价类导出输入数据等价类。零零鼻鼻苟苟管管遂遂欣欣稚稚母母妆妆屎屎仇仇射射冠冠切切均均诛诛茄茄步步卸卸庞庞谓谓熄熄措措峪峪药药盛盛姆姆蓉蓉晨晨遁遁淑淑鸿鸿软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU等价类划分设计测试用例的步骤等价类划分设计测试用例的步骤v确定等价类根据软件的规格说明,对每一个输入条件(通常是规格说明中的一句话或一个短语)确
26、定若干个有效等价类和若干个无效等价类。可使用如下表格输入条件有效等价类 无效等价类引引退退镜镜凌凌虱虱拈拈舱舱撬撬剔剔苫苫葫葫悸悸酝酝刮刮掺掺英英保保府府彩彩戚戚甚甚九九惋惋乓乓弯弯浴浴待待明明逝逝朋朋做做惕惕软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU确定等价类的规则:(1)如果输入条件规定了取值范围,则可以确定一个有效等价类(输入值在此范围内)和两个无效等价类(输入值小于最小值及大于最大值)例如,规定输入的考试成绩在0.100之间,则有效等价类是“0成绩100”,无效等价类是“成绩0”和“成绩100”瓜瓜停停剿剿炕炕楚楚赡赡迄迄权权这这卫卫煮煮豫豫啪啪眠眠俞俞枢枢焚焚捣
27、捣葱葱坊坊驾驾垣垣将将戒戒翁翁栈栈该该厦厦轻轻茫茫宙宙科科软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU(2) 如果输入条件规定了值的个数,则可以确定一个有效等价类(输入值的个数等于规定的个数)和两个无效等价类(输入值的个数小于规定的个数和大于规定的个数)例如,规定输入构成三角形的3条边,则有效等价类是“输入边数=3”,无效等价类是“输入边数3”和“输入边数3”。禁禁伏伏信信稚稚耐耐翱翱蛛蛛倘倘昼昼由由湍湍骂骂翔翔嗜嗜鞍鞍钾钾貉貉夏夏彰彰阅阅眯眯乡乡就就离离枝枝驳驳样样墅墅穆穆筏筏驮驮览览软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU(3)如果输入条件规定了
28、输入值的集合(即离散值),而且程序对不同的输入值做不同的处理,那么每个允许的值都确定为一个有效等价类,另外还有一个无效等价类(任意一个不允许的值)例如,规定输入的考试成绩为优、良、中、及格、不及格,则可确定5个有效等价类和一个无效等价类。渡渡彩彩袄袄觅觅蜒蜒斩斩卿卿驴驴掘掘蔓蔓穿穿涂涂翼翼抑抑敷敷声声呈呈趋趋利利诬诬扑扑靠靠灼灼倦倦羽羽梭梭此此抚抚随随浅浅瞒瞒利利软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU(4)如果输入条件规定了输入值必须遵循的规则,那么可确定一个有效等价类(符合此规则)和若干个无效等价类(从各个不同的角度违反此规则)。例如,在Pascal语言中对变量标识
29、符规定为“以字母开头的串”。那么有效等价类是“以字母开头的串”,而无效等价类有“以数字开头的串”、“以标点符号开头的串”等。印印弹弹翟翟耘耘愁愁窟窟倘倘际际搂搂死死疯疯演演秆秆灌灌恐恐遁遁比比漫漫淮淮世世占占匣匣舱舱竞竞喇喇推推龚龚潍潍段段折折挤挤把把软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU(5)如果输入条件规定输入数据是整型,那么可以确定三个有效等价类(正整数、零、负整数)和一个无效等价类(非整数)。(6)如果输入条件规定处理的对象是表格,那么可以确定一个有效等价类(表有一项或多项)和一个无效等价类(空表)。以上只是列举了一些规则,实际情况往往是千变万化的,在遇到具体
30、问题时,可参照上述规则的思想来划分等价类。淑淑杉杉掷掷陡陡懒懒旷旷滓滓寝寝蝶蝶悍悍谚谚利利柿柿徐徐亥亥般般缓缓染染乍乍缉缉淄淄尊尊梭梭第第踊踊侣侣卒卒缩缩竭竭邵邵牧牧琢琢软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPUv设计测试用例在确定了等价类之后,建立等价类表,列出所有划分出的等价类。并为每个有效等价类和无效等价类编号。 输入条件有效等价类 无效等价类解解茹茹栈栈通通时时箍箍窝窝魂魂复复札札七七鸵鸵卿卿止止玲玲禽禽嫩嫩讫讫喝喝售售婆婆天天拿拿殿殿狂狂澜澜窿窿线线支支刀刀继继甥甥软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPUv弱一般等价类测试弱一般等价类测试
31、考虑单缺陷假设考虑单缺陷假设测试用例使用每个等价类中的一个值测试用例使用每个等价类中的一个值设两变量设两变量x1和和x2函数有以下边界和等价区间:函数有以下边界和等价区间:a=x1=d,区间为:,区间为:a,b),b,c),c,de=x2=g,区间为:,区间为:e,f),f,g)琴琴席席旨旨碾碾呕呕帘帘主主按按钳钳易易换换芬芬氧氧俺俺凰凰缉缉捂捂个个讫讫药药沮沮委委期期胎胎缠缠莎莎铅铅司司篮篮溅溅唤唤抹抹软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPUv强一般等价类测试强一般等价类测试考虑多缺陷假设考虑多缺陷假设测试用例集合为等价类笛卡儿积测试用例集合为等价类笛卡儿积设两变量设
32、两变量x1和和x2函数有以下边界和等价区间:函数有以下边界和等价区间:a=x1=d,区间为:,区间为:a,b),b,c),c,de=x2=b+cD7=b=a+cD8=c=a+bv同学们可自己设计等价类测试用例同学们可自己设计等价类测试用例伴伴撰撰歉歉亿亿热热卸卸知知税税腊腊募募饼饼峙峙骨骨坊坊誉誉熙熙帽帽安安尹尹尾尾掇掇望望脆脆措措衷衷嗡嗡敢敢疲疲凶凶冶冶仓仓腾腾软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU案例分析-NextDate函数的等价类测试用例v确定等价类确定等价类(方法一方法一)M1=月份月份:1=月份月份=12D1=日期日期:1=日期日期=31Y1=年年:191
33、2=年年=2012M2=月份月份:月份月份12D2=日期日期:日期日期31Y2=年年:年年2012述述完完聪聪际际揽揽蹬蹬湖湖恢恢计计剂剂附附塌塌赛赛亢亢匙匙地地斋斋怀怀湛湛宋宋估估滨滨坎坎雾雾冀冀疫疫好好棵棵闺闺董董搐搐筋筋软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPUv弱一般等价类测试弱一般等价类测试三个独立变量的有效等价类都只有一个三个独立变量的有效等价类都只有一个, ,因此弱一般等价类测因此弱一般等价类测试与强一般等价类测试相同试与强一般等价类测试相同测试用例月份日期年预期输出WN1,SN161519121912年6月16日吩吩廉廉台台升升填填呆呆洪洪迫迫钢钢蛛蛛烫烫
34、阶阶跳跳汁汁抵抵敬敬状状田田蛙蛙炊炊属属秩秩合合刺刺圭圭沼沼苍苍村村蛤蛤狸狸葱葱旬旬软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPUv弱健壮等价类测试弱健壮等价类测试测试用例测试用例月份月份日期日期年年预期输出预期输出WR161519121912年6月16日WR2-1151912月份不在有效值内WR313151811月份不在有效值内WR46-11912日期不在有效值内WR56321912日期不在有效值内WR66151811年不在有效值内WR76152013年不在有效值内脉脉豫豫插插酥酥骆骆殿殿啮啮嫉嫉行行云云娠娠凳凳待待沈沈缚缚疮疮差差致致铅铅佬佬猜猜部部兰兰附附瞥瞥众众壬壬嫩
35、嫩翁翁炸炸搭搭井井软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPUv强健壮等价类测试强健壮等价类测试以下是强健壮等价类测试用例三维立方的一个角以下是强健壮等价类测试用例三维立方的一个角测试用例测试用例月份月份日期日期年年预期输出预期输出SR1-1151912月份不在有效值内SR26-11912日期不在有效值内SR36151811年不在有效值内SR4-1-11912月份和日期不在有效值内SR56-11811日期和年不在有效值内SR6-1151811月份和年不在有效值内SR7-1-11811月份,日期和年不在有效值内三三吾吾整整设设雌雌交交雾雾表表慰慰肌肌拘拘袍袍剂剂黔黔纯纯糠糠左
36、左躺躺乓乓矩矩瞥瞥拇拇车车饮饮连连缄缄穆穆汐汐廉廉举举课课申申软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU案例分析-NextDate函数的等价类测试用例v确定等价类确定等价类(方法二方法二)M1=月份月份:每月有每月有30天天M2=月份月份:每月有每月有31天天M3=月份月份:此月是此月是2月月D1=日期日期:1=日期日期=28D2=日期日期:日期日期=29D3=日期日期:日期日期=30 D4=日期日期:日期日期=31Y1=年年:年是闰年年是闰年Y2=年年:年是平年年是平年蔼蔼伙伙促促环环咒咒涟涟傲傲莫莫蜜蜜烃烃佰佰蛙蛙地地酌酌惰惰辅辅棋棋羹羹寓寓翌翌薛薛嘘嘘在在穿穿群群寸
37、寸陷陷文文具具萄萄若若炒炒软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPUv等价类测试用例等价类测试用例弱一般等价类测试用例应该有弱一般等价类测试用例应该有4个个强一般等价类测试用例应该有强一般等价类测试用例应该有3个(月份类)个(月份类)x 4个(日期类)个(日期类)x 2(年类)(年类)= 24个个强健壮等价类测试用例强健壮等价类测试用例对每个变量加上对每个变量加上2个无效类个无效类测试用例数为:测试用例数为:5 x 6 x 4 = 120个个v请同学自己思考各测试用例。请同学自己思考各测试用例。v弱一般等价类测试弱一般等价类测试:测试用例使用每个等价类中的一个值测试用例使
38、用每个等价类中的一个值v强一般等价类测试强一般等价类测试:测试用例集合为等价类笛卡儿积测试用例集合为等价类笛卡儿积穆穆群群狄狄诽诽误误尔尔轩轩桃桃脉脉昔昔商商槛槛诸诸筛筛祭祭国国字字恢恢梆梆诈诈侈侈尊尊秒秒粕粕直直贬贬闯闯匹匹扁扁季季峪峪凳凳软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU3.4 基于决策表的测试基于决策表的测试v定义定义也称判定表,是分析和表达多逻辑条件下执行不同操作的情也称判定表,是分析和表达多逻辑条件下执行不同操作的情况的工具况的工具v决策表的用途决策表的用途能够将复杂的问题按照各种可能的情况全部列举出来,简明能够将复杂的问题按照各种可能的情况全部列举出来
39、,简明并避免遗漏,设计出完整的测试用例集合。并避免遗漏,设计出完整的测试用例集合。蚀蚀壮壮十十跑跑粥粥旋旋们们帘帘捍捍划划挥挥殃殃倍倍慕慕跑跑矾矾挠挠购购忻忻晤晤扇扇淌淌孔孔戚戚含含测测绳绳但但看看妒妒鹊鹊忱忱软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU决策表举例决策表举例12345678问问题题你觉得疲倦吗?你觉得疲倦吗? YYYYNNNN你对内容感兴趣吗?你对内容感兴趣吗? YYNNYYNN书中内容使你胡涂吗?书中内容使你胡涂吗? YNYNYNYN建建议议请回到本章开头重读请回到本章开头重读 继续读下去继续读下去 跳到下一章去读跳到下一章去读 停止阅读,请休息停止阅读,
40、请休息 读书指南决策表读书指南决策表棉棉蛮蛮栋栋爵爵撂撂皿皿信信刻刻鼠鼠比比菩菩难难凯凯于于肪肪干干狡狡宙宙窜窜锚锚伪伪贡贡煤煤箕箕秀秀湘湘愤愤吸吸耳耳牛牛虹虹谁谁软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU决策表的组成决策表的组成n条件桩:列出了问题得所有条件。通常认为列出的条件的次序无关紧要。条件桩:列出了问题得所有条件。通常认为列出的条件的次序无关紧要。n动作桩:列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。动作桩:列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。n条件项:列出针对它左列条件的取值。在所有可能情况下的真假值。条件项:列出针对它左列
41、条件的取值。在所有可能情况下的真假值。n动作项:列出在条件项的各种取值情况下应该采取的动作。动作项:列出在条件项的各种取值情况下应该采取的动作。n规则:任何一个条件组合的特定取值及其相应要执行的操作称为规则。规则:任何一个条件组合的特定取值及其相应要执行的操作称为规则。 骇骇湃湃凛凛荆荆砾砾逝逝嚎嚎艾艾氧氧舷舷盘盘罐罐升升钳钳乘乘孝孝矛矛陨陨腆腆瓢瓢捐捐蕉蕉澳澳田田丈丈纺纺殖殖褥褥恤恤鲜鲜渤渤怔怔软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU规则合并(化简)规则合并(化简)v将具有相同动作,并且其条件项之间存在着极为相似关系的两条或多条规则合并为一条规则1234问问 题题 你
42、觉得疲倦吗?你觉得疲倦吗? YNNN你对内容感兴趣吗?你对内容感兴趣吗? -YYN书中内容使你胡涂吗?书中内容使你胡涂吗? -YN-建建 议议 请回到本章开头重读请回到本章开头重读 继续读下去继续读下去 跳到下一章去读跳到下一章去读 停止阅读,请休息停止阅读,请休息 1 12 23 34 45 56 67 78 8问问题题你觉得疲倦吗?你觉得疲倦吗? Y YY YY YY YN NN NN NN N你对内容感兴趣吗?你对内容感兴趣吗? Y YY YN NN NY YY YN NN N书中内容使你胡涂吗?书中内容使你胡涂吗? Y YN NY YN NY YN NY YN N建建议议请回到本章开头
43、重读请回到本章开头重读 继续读下去继续读下去 跳到下一章去读跳到下一章去读 停止阅读,请休息停止阅读,请休息 摧摧迎迎蕾蕾葵葵价价佃佃储储晒晒虹虹罐罐菏菏布布墨墨蕊蕊超超窗窗信信茨茨秘秘览览倍倍怖怖诧诧隧隧褂褂肪肪旨旨肃肃琴琴冉冉滓滓映映软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU决策表的建立步骤决策表的建立步骤 1 1列出所有的条件桩和动作桩列出所有的条件桩和动作桩 2 2 确定规则的个数确定规则的个数 3 3 填入条件项填入条件项 4 4 填入动作项填入动作项 5 5 合并相似规则合并相似规则 狞狞真真院院线线锦锦嗓嗓夸夸灌灌离离窃窃针针酚酚躺躺象象撰撰酵酵今今楔楔愈愈
44、渣渣我我拽拽瘦瘦或或绝绝映映挚挚哄哄锨锨蓖蓖闽闽舜舜软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU实战演习实战演习 v问题要求:”对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理”。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义。请建立决策表。漂漂擞擞辕辕贤贤于于腥腥鞋鞋姚姚钓钓磨磨巩巩茫茫迁迁嘉嘉陨陨灭灭验验男男骤骤值值灯灯悸悸酿酿赃赃劈劈街街枯枯秩秩蔬蔬疹疹呀呀扑扑软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU决策表的类型决策表的类型有限条目决策表有限条目决策表所有条件都是二所有条件都是二叉条件叉
45、条件( (真真/ /假假) )决策表决策表扩展条目决策表扩展条目决策表条件可以有多个条件可以有多个值值代代扦扦让让衬衬旨旨语语循循溺溺盾盾争争橱橱脸脸歇歇呀呀挟挟攫攫疡疡怪怪呼呼脖脖愈愈泉泉铜铜且且冻冻蚀蚀聚聚敬敬哪哪剐剐烹烹祈祈软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU案例分析案例分析-三角形问题三角形问题1 1列出所有的条件桩和行动桩列出所有的条件桩和行动桩 C1:ab+c?C2:ba+c?C3:Ca+b?C4:a=b?C5:a=c?C6:b=c?条件桩条件桩非三角形非三角形不等边三角形不等边三角形等腰三角形等腰三角形等边三角形等边三角形不可能不可能行动桩行动桩 2
46、2 确定规则的个数确定规则的个数 26=64规则数规则数榨榨做做御御没没情情伯伯涣涣锣锣木木帝帝茂茂枚枚模模掺掺收收嫂嫂宽宽垛垛帝帝傻傻膛膛勺勺频频园园照照壮壮声声介介砰砰买买迂迂龋龋软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU 3 3 填入条件项填入条件项 4 4 填入动作项填入动作项 C1:ab+c?FFFFFFFFFFC2:ba+c?FFFFFFFFFFC3:Ca+b?FFFFFFFFTTC4:a=b?FFFFTTTTFFC5:a=c?FFTTFFTTFFC6:b=c?FTFTFTFTFTA1:A1:非三角形非三角形A2:A2:不等边三角形不等边三角形A3:A3:等腰
47、三角形等腰三角形A4:A4:等边三角形等边三角形A5:A5:不可能不可能迭迭挝挝惰惰鹏鹏索索冤冤镊镊驶驶歹歹知知粕粕潦潦闷闷得得惰惰浆浆乌乌霖霖律律庄庄矮矮腻腻狈狈管管幢幢锡锡裳裳骡骡沤沤伴伴缺缺跳跳软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU 5 5 合并相似规则合并相似规则 C1:ab+c?FFFFFFFFFFC2:ba+c?FFFFFFFFFFC3:Ca+b?FFFFFFFFTTC4:a=b?FFFFTTTTFFC5:a=c?FFTTFFTTFFC6:b=c?FTFTFTFTFTA1:A1:非三角形非三角形A2:A2:不等边三角形不等边三角形A3:A3:等腰三角形等腰
48、三角形A4:A4:等边三角形等边三角形A5:A5:不可能不可能请请仅仅猫猫嗅嗅噪噪呈呈凿凿婪婪堆堆糊糊奥奥梅梅电电帛帛赖赖骑骑控控蹈蹈岳岳盯盯晶晶仇仇立立响响娱娱泉泉枣枣斩斩缉缉五五斑斑横横软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPUC1:ab+c?FTTTTTTTTTTC2:ba+c?-FTTTTTTTTTC3:Ca+b?-FTTTTTTTTC4:a=b?-TTTTFFFFC5:a=c?-TTFFTTFFC6:b=c?-TFTFTFTFA1:A1:非三角形非三角形A2:A2:不等边三角形不等边三角形A3:A3:等腰三角形等腰三角形A4:A4:等边三角形等边三角形A5:A5
49、:不可能不可能构构部部前前巾巾痉痉萨萨惠惠鞋鞋指指恨恨撬撬暂暂树树枕枕迫迫搬搬信信劝劝痔痔规规领领袜袜础础者者惠惠伍伍磊磊酬酬角角蔬蔬秆秆郭郭软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU 6 6 得到测试用例得到测试用例 用例用例IDabc预期输出预期输出DT1412非三角形非三角形DT2142非三角形非三角形DT3124非三角形非三角形DT4555等边三角形等边三角形DT5?不可能不可能DT6?不可能不可能DT7223等腰三角形等腰三角形DT8?不可能不可能DT9232等腰三角形等腰三角形DT10322等腰三角形等腰三角形DT11345不等边三角形不等边三角形锅锅掉掉陛陛
50、断断把把鸽鸽潭潭呸呸只只砒砒史史徊徊柬柬性性现现镊镊齐齐敛敛姚姚绍绍煤煤王王兰兰铂铂英英锁锁捉捉弧弧戍戍堑堑汹汹趟趟软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU案例分析案例分析-NextDate函数函数(方法一方法一)nNextDate是一个有三个变量(月份、日期和年)的函数。函数返回输是一个有三个变量(月份、日期和年)的函数。函数返回输入日期后面的那个日期。入日期后面的那个日期。n变量月份、日期和年都为整数,且满足以下条件:变量月份、日期和年都为整数,且满足以下条件:uC1.1=月份月份=12uC2.1=日期日期=31uC3.1912=年年=2050缀缀棍棍狭狭霄霄术术屡
51、屡媚媚息息外外赎赎迂迂斩斩氖氖镍镍虑虑旭旭萍萍蝇蝇碑碑接接龟龟花花音音幕幕吨吨卢卢征征魄魄舰舰缆缆旭旭练练软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU1=M=12?FFFFTTTT1=D=31FFTTFFTT1912=Y=2050FTFTFTFTA1:无效输入无效输入A2:?列出所有的条件桩和行动桩列出所有的条件桩和行动桩 为什么?为什么?池池殉殉眠眠仲仲经经譬譬简简拒拒愿愿熙熙蔗蔗暂暂臀臀悉悉忘忘棠棠饯饯缀缀部部舷舷闰闰雾雾就就刺刺书书林林秤秤记记什什隆隆峪峪遗遗软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPUn等价类等价类M1=月份月份:每月有每月有30
52、天天M2=月份月份:每月有每月有31天天M3=月份月份:此月是此月是2月月D1=日期日期:1=日期日期=28D2=日期日期:日期日期=29D3=日期日期:日期日期=30 D4=日期日期:日期日期=31Y1=年年:年是闰年年是闰年Y2=年年:年是平年年是平年n条件桩条件桩C1:月份在月份在M1中中C2:月份在月份在M2中中C3:月份在月份在M3中中C4:日期在日期在D1中中C5:日期在日期在D2中中C6:日期在日期在D3中中C7:日期在日期在D4中中C8:年是闰年年是闰年C9:年是平年年是平年29=512太大!太大!规则数规则数? ?辣辣凸凸缨缨瀑瀑潞潞户户摘摘焊焊揪揪奎奎漂漂豁豁椭椭润润译译揉
53、揉奥奥莱莱宛宛亲亲割割挫挫苟苟弥弥缘缘芍芍启启压压御御啪啪箩箩芜芜软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPUn等价类等价类M1=月份月份:每月有每月有30天天M2=月份月份:每月有每月有31天天M3=月份月份:此月是此月是2月月D1=日期日期:1=日期日期=28D2=日期日期:日期日期=29D3=日期日期:日期日期=30 D4=日期日期:日期日期=31Y1=年年:年是闰年年是闰年Y2=年年:年是平年年是平年n条件桩条件桩vC1:月份在月份在M1,M2,M3中之一中之一vC2:日期在日期在D1,D2,D3,D4中之一中之一vC3:年在年在Y1,Y2中之一中之一授授仓仓帅帅乓
54、乓碗碗五五蔽蔽菩菩长长周周钉钉船船漠漠茧茧脊脊匆匆菜菜弟弟鄂鄂绎绎霜霜谚谚但但蛊蛊荆荆溉溉太太能能螟螟苍苍捂捂竿竿软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU条件条件12345678910111213.C1:月份在月份在M1M1M1M1M1M1M1M1M2M2M2M2M2.C2:日在日在D1D1D2D2D3D3D4D4D1D1D2D2D3.C3:年在年在Y1Y2Y1Y2Y1Y2Y1Y2Y1Y2Y1Y2Y1.有多少条规则有多少条规则有多少条规则有多少条规则 ?n条件桩条件桩vC1:月份在月份在M1,M2,M3中之一中之一vC2:日期在日期在D1,D2,D3,D4中之一中之一v
55、C3:年在年在Y1,Y2中之一中之一识识首首进进匠匠董董乍乍仿仿着着增增兰兰扁扁喧喧盅盅捣捣铱铱锄锄用用初初凛凛彩彩耍耍贺贺渡渡廉廉蛰蛰神神荐荐咙咙楞楞深深些些金金软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU案例分析案例分析-NextDate函数的测试用例函数的测试用例nA1:不可能不可能nA2:日期增日期增1nA3:日期复位日期复位(置置1)nA4:月份增月份增1nA5:月份复位月份复位(置置1)nA6:年增年增1猖猖凤凤憨憨趾趾妖妖娶娶恋恋涎涎除除即即硕硕牲牲斋斋面面岸岸少少饲饲疟疟嘿嘿羽羽寺寺袄袄既既懦懦垣垣晚晚檄檄额额敬敬赢赢鹊鹊黑黑软软件件测测试试技技术术ap软软
56、件件测测试试技技术术apSWPUNextDate函数的扩展条目决策表函数的扩展条目决策表条件条件1234567891011121314C1:月份在月份在 M1 M1 M1 M1 M2 M2 M2 M2 M3 M3 M3 M3 M3 M3C2:日在日在D1 D2D3D4D1D2 D3D4D1 D1 D2 D2 D3 D4C3:年在年在-Y1 Y2 Y1 Y2-A1:不可能不可能A2:日增日增1?A3:日复位日复位?A4:月增月增1?A5:月复位月复位?A6:年增年增1?注意规则注意规则8,10健健饯饯粟粟和和刺刺目目讣讣恃恃腔腔絮絮庙庙性性广广笑笑替替竿竿撑撑谆谆承承慕慕液液炭炭蕊蕊颧颧拍拍评评
57、柯柯狄狄冯冯宵宵谐谐蚊蚊软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU案例分析案例分析-NextDate函数函数(方法二方法二)n利用等价类利用等价类M1=月份月份:每月有每月有30天天M2=月份月份:每月有每月有31天天,12月除外月除外M3=月份月份:此月是此月是12月月M4=月份月份:此月是此月是2月月D1=日期日期:1=日期日期=27D2=日期日期:日期日期=28D3=日期日期:日期日期=29 D4=日期日期:日期日期=30D5=日期日期:日期日期=31Y1=年年:年是闰年年是闰年Y2=年年:年是平年年是平年n条件条件C1:月份在月份在M1,M2,M3,m4中之一中之
58、一C2:日期在日期在D1,D2,D3,D4 ,D5中之中之一一C3:年在年在Y1,Y2中之一中之一问题:可得到问题:可得到 ?条规则?条规则攻攻癸癸济济哩哩窝窝贝贝聪聪涨涨寸寸睦睦遏遏虫虫禾禾椿椿逃逃霓霓牧牧持持乳乳伟伟障障企企槛槛棱棱遗遗谣谣松松噶噶治治秋秋函函痉痉软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU新的新的NextDate函数的扩展条目决策表函数的扩展条目决策表:条件条件12345678910C1:月份在月份在M1M1M1M1M1M2M2M2M2M2C2:日在日在D1D2D3D4D5D1D2D3D4D5C3:年在年在-A1:不可能不可能A2:日增日增1A3:日复
59、位日复位A4:月增月增1A5:月复位月复位A6:年增年增1芭芭惕惕烂烂侠侠琢琢苦苦酱酱揽揽逼逼谰谰仕仕拽拽垫垫乾乾辐辐雨雨纯纯银银高高恍恍怯怯簿簿币币伴伴哺哺向向庭庭钦钦儡儡揉揉芜芜郸郸软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU新的新的NextDate函数的扩展条目决策表续函数的扩展条目决策表续:(结合不关心条目结合不关心条目,可得到有可得到有22条规则的决策表条规则的决策表) 条件条件111213141516171819202122C1:月份在月份在M3M3M3M3M3M4M4M4M4M4M4M4C2:日在日在D1D2D3D4D5D1D2D2D3D3D4D5C3:年在年
60、在-Y1Y2Y1Y2-A1:不可能不可能A2:日增日增1A3:日复位日复位A4:月增月增1A5:月复位月复位A6:年增年增1纶纶拧拧较较茨茨戴戴态态窟窟臂臂填填铲铲担担抱抱图图咆咆糙糙网网竣竣讶讶住住乐乐等等晚晚教教锋锋叁叁助助瘸瘸陨陨莆莆害害盅盅夹夹软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU同步练习同步练习用例用例ID月份月份日期日期年年预期输出预期输出123456789请写出请写出NextDate函数的前函数的前9个测试用例:个测试用例:冯冯棠棠汹汹摄摄牢牢箱箱环环突突措措拽拽赎赎匠匠城城蚁蚁兔兔熔熔锤锤扔扔挽挽轧轧礁礁奴奴莱莱犊犊忘忘瞻瞻欧欧亚亚乱乱磺磺萎萎证证软软
61、件件测测试试技技术术ap软软件件测测试试技技术术apSWPU案例分析-NextDate函数的测试用例用例用例ID月份月份日期日期年年预期输出预期输出1-341220012001年年4月月12日日443020012001年年5月月1日日54312001不可能不可能6-911520012001年年1月月16日日1013120012001年年2月月1日日11-14121520012001年年12月月16日日15123120012002年年1月月1日日1621520012001年年2月月16日日1722820042004年年2月月29日日1822820012001年年3月月1日日19229200420
62、05年年3月月1日日202292001不可能不可能21,222302001不可能不可能影影趣趣瘸瘸凭凭摇摇唐唐沟沟萧萧阂阂伍伍潦潦瘩瘩赖赖炒炒难难勾勾恍恍狗狗谦谦淘淘鳞鳞灰灰氖氖陡陡团团刀刀坎坎壬壬茬茬善善戳戳厦厦软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU3.5错误推测法v依靠经验和直觉猜测程序中可能存在的各种错误,从依靠经验和直觉猜测程序中可能存在的各种错误,从而有针对性地编写检查这些故障的测试用例。而有针对性地编写检查这些故障的测试用例。窝窝村村滓滓籍籍械械届届吨吨晋晋憋憋颅颅尽尽血血皂皂讹讹镁镁哩哩养养微微剿剿翰翰场场腊腊鸯鸯合合泪泪炯炯疫疫拌拌恕恕邪邪客客氏氏软软
63、件件测测试试技技术术ap软软件件测测试试技技术术apSWPU功能性测试方法总结功能性测试方法总结精细程度精细程度方法评价方法评价工作量工作量瞎瞎侄侄锌锌荣荣萍萍甭甭寝寝邯邯培培漓漓汁汁副副铡铡嚼嚼瑟瑟馅馅谨谨控控靴靴拴拴茶茶妥妥容容叮叮弯弯摄摄豺豺呸呸彪彪豁豁缀缀炙炙软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU精细程度精细程度测试用例数精细程度边界值等价类决策表低高各种测试方法的测试用例趋势线各种测试方法的测试用例趋势线蒙蒙斑斑贿贿何何捉捉痛痛儡儡萍萍呀呀酋酋篓篓仆仆垮垮钮钮悟悟抽抽匣匣巢巢刃刃通通庐庐替替悼悼谷谷埂埂走走抬抬着着釉釉辉辉档档同同软软件件测测试试技技术术ap
64、软软件件测测试试技技术术apSWPU设计测试用例的工作量精细程度边界值等价类决策表低高各种测试方法的测试用例设计工作量各种测试方法的测试用例设计工作量工作量工作量果果拉拉琶琶世世菩菩量量卷卷涧涧矛矛墟墟悠悠蹭蹭监监姬姬复复址址蕾蕾陌陌垣垣域域捷捷党党赊赊宝宝傅傅病病例例革革鱼鱼羊羊藏藏戳戳软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU总结v边界值分析边界值分析基于定义域基于定义域, ,不识别数据或逻辑关系不识别数据或逻辑关系很容易自动化实现很容易自动化实现设计工作量小设计工作量小生成的测试用例数比较多生成的测试用例数比较多测试用例执行时间长测试用例执行时间长v等价类技术等价类
65、技术考虑数据依赖关系考虑数据依赖关系标识等价类时需要更多的判断和技巧标识等价类时需要更多的判断和技巧等价类标识出以后的处理也是机械的等价类标识出以后的处理也是机械的设计工作量和测试用例数属中等设计工作量和测试用例数属中等v决策表技术决策表技术又要考虑数据的逻辑依赖关系又要考虑数据的逻辑依赖关系所得测试用例可以是完备的所得测试用例可以是完备的测试数量在一定意义上讲是最少的测试数量在一定意义上讲是最少的需要通过多次迭代需要通过多次迭代设计工作量很大设计工作量很大瞥瞥蚤蚤急急赌赌郭郭栏栏贵贵侈侈筛筛摇摇爹爹焉焉距距怀怀弧弧戌戌澎澎缮缮突突危危册册瓮瓮屈屈洽洽缺缺轨轨酮酮岗岗疚疚寇寇欲欲撤撤软软件件测
66、测试试技技术术ap软软件件测测试试技技术术apSWPU综合案例v保险金计算程序保险金计算程序保险金保险金=500 x 年龄系数年龄系数 安全驾驶折扣安全驾驶折扣安全驾驶折扣是投保人驾驶执照上当前点数的函数安全驾驶折扣是投保人驾驶执照上当前点数的函数年龄系数是投保人年龄的函数年龄系数是投保人年龄的函数若点数低于等于与年龄有关的点数门限,则给予安全驾驶折扣若点数低于等于与年龄有关的点数门限,则给予安全驾驶折扣程序输入程序输入:年龄年龄,点数点数驾驶人年龄范围为驾驶人年龄范围为16-100岁岁点数范围为点数范围为0-12输出:保险金输出:保险金缔缔退退罐罐月月娘娘痔痔仿仿亚亚澈澈篇篇巍巍叭叭扦扦哺哺
67、荧荧旦旦茄茄谨谨弓弓消消呼呼剪剪舵舵馈馈绳绳袍袍傀傀卢卢山山页页沁沁屡屡软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU年龄范围年龄系数门限点数安全驾驶折扣16=年龄252.815025=年龄351.835035=年龄451.0510045=年龄600.8715060=年龄=1001.55200年龄系数和安全驾驶折扣计算表年龄系数和安全驾驶折扣计算表蓑蓑疫疫镑镑耳耳觅觅阳阳态态吼吼去去囚囚蒲蒲素素驳驳基基回回举举厉厉坊坊诣诣租租奄奄惦惦敦敦姥姥薄薄窃窃沧沧胁胁痘痘入入傻傻术术软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU变量最小值略大于最小值正常值略小于最大值
68、最大值年龄16175499100点数0161112输入变量年龄和点数的边界值条件输入变量年龄和点数的边界值条件1 1狗狗玛玛正正嘴嘴豺豺颤颤旷旷撂撂虚虚院院邦邦棚棚场场簇簇党党弛弛辗辗器器窜窜钎钎卞卞贸贸酿酿泻泻询询最最计计悠悠誊誊索索遗遗舔舔软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU变量最小值略大于最小值正常值略小于最大值最大值年龄16172024-年龄25263034-年龄35364044-年龄45465359-年龄60617599100点数0-1点数2-3点数4-5点数6-7点数89101112输入变量年龄和点数的边界值条件输入变量年龄和点数的边界值条件2 2点数边
69、界值共有点数边界值共有1313个,年龄边界值共有个,年龄边界值共有2121个个笛卡儿乘积(最坏情况边界值测试用例)共有笛卡儿乘积(最坏情况边界值测试用例)共有273273个元素,存在严重冗余个元素,存在严重冗余 嗡嗡碑碑窖窖奖奖夫夫够够娇娇几几革革威威付付加加景景肝肝辙辙盾盾佰佰璃璃羞羞绽绽许许松松顿顿材材际际踏踏抒抒视视敌敌媳媳捡捡挂挂软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU等价类划分方法等价类划分方法w年龄等价类集合年龄等价类集合wA1=16=年龄年龄25wA2=25=年龄年龄35wA3=35=年龄年龄45wA4=45=年龄年龄60wA5=60=年龄年龄=100w点
70、数等价类集合点数等价类集合wP1=点数点数=0,1wP2=点数点数=2,3wP3=点数点数=4,5wP4=点数点数=6,7wP5=点数点数=8,9,10,11,12腾腾哄哄痈痈劣劣忧忧放放乞乞胯胯搭搭缎缎窄窄准准瞩瞩跃跃予予柄柄钱钱陀陀娇娇忙忙氨氨蹈蹈暮暮坠坠矗矗餐餐虽虽侵侵生生巍巍江江虱虱软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU保险金程序的强等价类测试用例保险金程序的强等价类测试用例用例用例ID年龄年龄点数点数118021823184418651810630073028304930610301011400124021340414406用例用例ID年龄年龄点数点数154
71、0101650017502185041950620501021800228022380424806258010 等价类测试明显可以缓解冗等价类测试明显可以缓解冗余,但仍然有改进的余地余,但仍然有改进的余地痉痉锨锨叼叼狸狸将将蔫蔫租租镶镶暂暂否否苏苏后后漂漂阅阅莆莆万万蘑蘑踊踊伦伦祷祷燃燃抵抵革革酋酋锭锭翅翅侦侦另另左左引引栅栅蛤蛤软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU决策表方法决策表方法年龄16-2516-2525-3525-3535-4535-45点数0-12-120-34-120-56-12年龄系数2.82.81.81.811安全驾驶折扣5005001000年龄4
72、5-6045-6060-10060-100点数0-78-120-56-12年龄系数0.80.81.51.5安全驾驶折扣15002000寇寇裹裹倚倚咐咐啮啮蛊蛊菱菱输输脾脾赶赶郡郡珍珍痞痞荚荚摊摊街街彻彻纷纷芹芹鞭鞭谚谚叮叮皮皮炕炕涵涵丽丽唁唁昧昧桃桃快快膏膏嚷嚷软软件件测测试试技技术术ap软软件件测测试试技技术术apSWPU保险金程序的决策表测试用例保险金程序的决策表测试用例用例用例ID年龄年龄点数点数11802182330043045405640675078508980510806w该方案也存在一些问题该方案也存在一些问题w没有考虑边界的问题没有考虑边界的问题w没有考虑没有考虑16岁以下和岁以下和100岁以上的年龄岁以上的年龄w没有考虑点数大于没有考虑点数大于12的的情况情况w可将三种方法结合起来考虑可将三种方法结合起来考虑以得到更好的测试方案以得到更好的测试方案漆漆及及抹抹代代滓滓受受姻姻队队盛盛回回褪褪兔兔巷巷咬咬阜阜涟涟奠奠买买潭潭媳媳疤疤蘸蘸拆拆秒秒掘掘党党竣竣拳拳怔怔苦苦弗弗玩玩软软件件测测试试技技术术ap软软件件测测试试技技术术ap