资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第四章 黑盒测试及其实例设计黑盒测试法是根据被测程序功能来进行测试,所以通常也称为功能测试。用黑盒测试法设计测试用例,有4 种常用技术:l 等价分类法l 边界值分析l 错误猜测法l 决策表法l 因果图法例:维修机器问题问题描述:“对于功率大于50马力的机器, 并且维修记录不全或已运行10年以 上的机器,应给予优先的维修处理 ”请建立决策表。例:维修机器问题(续)(1)列出所有的条件桩和动作桩条件桩C1:功率大于50马力吗?C2:维修记录不全吗?C3:运行超过10年吗?动作桩A1:进行优先处理A2:作其他处理例:维修机器问题(续)(2)确定规则个数输入条件个数:3;每个条件的取值:“是”或“否”;规则个数:2*2*2 =8;u 功率大于50马力吗u 维修记录不全吗u 运行超过10年吗例:维修机器问题(续)12345678 条 件功率大于50马马力吗吗?YYYYNNNN维维修记录记录 不全吗吗?YYNNYYNN运行超过过10年吗吗?YNYNYNYN动 作进进行优优先处处理 作其他处处理 (3)填入条件项; 利用集合的笛卡尔积计算条件项的取值例:维修机器问题(续)12345678条 件功率大于50马马力吗吗?YYYYNNNN维维修记录记录 不全吗吗?YYNNYYNN运行超过过10年吗吗?YNYNYNYN动 作进进行优优先处处理 作其他处处理 (4)填入动作项; 1,2合并,5,7合并,6,8合并例:维修机器问题(续)(5)化简; (1)(2)(3)(4)(5) 条 件功率大于50马马力吗吗?YYYNN维维修记录记录 不全吗吗?YNN运行超过过10年吗吗?YNYN动 作进进行优优先处处理作其他处处理举例:以下列问题为例给出构造决策表的具体过程:如果某产品销售好,且库存低,则增加产品的生产; 如果该产品销售好,但库存量不低,则继续生产;若该产品销售不好,但库存量低,则继续生产;若该产品销售不好,且库存量不低,则停止生产。例:产品销售规则 选项1234条件: C1:销售好? C2:库存低?T TT FF TF F动作: a1:增加生产 a2:继续生产 a3:停止生产 表4-2 决策表解法如下:l确定规则的个数。对于本题有2个条件(销售、库存),每 个条件可以有两个取值,故有22=4种规则。 l列出所有的条件桩和动作桩。 l填入条件项。 l填入动作项,得到初始决策表,如表4-2所示。基于判定表的测试案例:三角形问题问题描述输入三个正整数a、b、c,分别作为三角形的三条边,通过程序判断三条边是否能构成三角形?如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形、一般三角形)。请用基于判定表的方法设计测试用例。(1)条件桩C1:a,b,c构成三角形?C2:a = b?C3:a = c?C4:b = c?(2)规则数共有四个条件,每个条件的取值为“是”或“否” ,因此有24= 16条规则。一、设计判定表(3)动作桩 A1:非三角形; A2:不等边三角形; A3:等腰三角形; A4:等边三角形; A5:不可能;(4)判定表123456789条 件a, b, c构成三角形NYYYYYYYY a = b?YYYYNNNN a = c?YYNNYYNN b = c?YNYNYNYN 动 作非三角形不等边边三角形等腰三角形等边边三角形不可能注意:条件的选择可以大大扩展判定表的规模;例如a, b, c构成三角形吗吗?可以扩扩展为为三个条件 :a b + c?b a + c?c a + b?条件桩修改后的判定表a=b, a=c, bc二、设计测试用例案例: NextDate函数问题描述程序有三个输入变量month、day、year, 并且满足:1month12、1day31、 1900 year 2050。它们分别作为输入日期 的月份、日、年份,通过程序可以输出该输 入日期在日历上下一天的日期。例如,输入 为2005年11月29日,则该程序的输出为 2005年11月30日。第一次尝试M1=月份:每月有30天M2=月份:每月有31天M3=月份:此月是2月D1=日期:1日期28D2=日期:日期=29D3=日期:日期=30D4=日期:日期=31Y1=年:年是闰年Y2=年:年是平年有256条规则的第一次尝试u年变量对应的等价类收缩为表中的一个条件第二次尝试(重点考虑闰年)M1=月份:每月有30天M2=月份:每月有31天M3=月份:此月是2月D1=日期:1日期28D2=日期:日期=29D3=日期:日期=30D4=日期:日期=31Y1=年:年是平年Y2=年:年是闰年第三次尝试(关注日期和月份)M1=月份:每月有30天M2=月份:每月有31天,12月除外M3=月份:此月是12月M4=月份:此月是2月D1=日期:1日期 27D2=日期:日期=28D3=日期:日期=29D4=日期:日期=30D5=日期:日期=31Y1=年:年是闰年Y2=年:年不是闰年NextDate函数的判定表每月30天每月31天,12月除外续此月是12月此月是2月此年是闰年NextDate函数的精简判定表续NextDate函数的测试用例
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号