黑盒测试技术new课件

上传人:沈*** 文档编号:241849523 上传时间:2024-07-30 格式:PPT 页数:67 大小:3.36MB
返回 下载 相关 举报
黑盒测试技术new课件_第1页
第1页 / 共67页
黑盒测试技术new课件_第2页
第2页 / 共67页
黑盒测试技术new课件_第3页
第3页 / 共67页
点击查看更多>>
资源描述
软件测试技术基础软件测试技术基础 第第5 5章章 黑盒测试技术黑盒测试技术黑盒测试技术黑盒测试技术教学教学目标目标理解黑盒测试方法的基本概念理解黑盒测试方法的基本概念教学教学目标目标掌握黑盒测试的等价类划分法、边界掌握黑盒测试的等价类划分法、边界值分析法、因果图测试法和决策表法值分析法、因果图测试法和决策表法技能技能技能技能要求要求要求要求运用等价类划分法、边界值分析法、因果运用等价类划分法、边界值分析法、因果图测试法与决策表法进行软件测试图测试法与决策表法进行软件测试主要内容主要内容黑盒测试概述黑盒测试概述等价类划分法等价类划分法边界值分析法边界值分析法决策表法决策表法因果图法因果图法测试方法的选择测试方法的选择知识的分析知识的分析重点:重点:等价类的划分等价类的划分决策表化解决策表化解测试方法的选择测试方法的选择等价类划分法等价类划分法边界值分析法边界值分析法决策表法决策表法因果图法因果图法难点:难点:黑盒测试又称功能测试、数据驱动测试或基于规格说明的测试,也可被称为用户测试。黑盒测试法黑盒测试法概述概述黑盒测试概述黑盒测试概述program function Human Interface to ComputerInitializeterminate Requirements Specification 测试用例设计方法测试用例设计方法实例应用实例应用常见的划分形式常见的划分形式等价类划分法等价类划分法划分原则划分原则v假设一个程序假设一个程序P P有输入量有输入量X X和和Y Y及输出量及输出量Z Z,在,在字长为字长为3232位的计算机上运行。若位的计算机上运行。若X X、Y Y取整数,取整数,按穷举进行测试。按穷举进行测试。穷举法测试:穷举法测试:测试数据组:测试数据组:2 232322 232 32 2 26464时间:时间:5 5亿年亿年1 1毫秒毫秒/组,组,365365 24 24小时小时/年年 实现一个对所有实数进行开平方运算(y=sqrt(x))的程序的测试。提示:提示:逐一测试,采用穷举法!逐一测试,采用穷举法!局部代表整体局部代表整体!正实数正实数:+1.4444+1.4444负实数负实数:-2.345-2.3450 0等价类等价类划分划分等价类测试等价类测试输入域输入域划分划分1234少数、少数、代表性代表性子子集集1子子集集3子子集集4子子集集2等价类等价类等价类划分法等价类划分法有效等价类有效等价类无效等价类无效等价类有意义的、有意义的、合理的输入合理的输入数据所组成数据所组成的集合的集合无意义的、无意义的、不合理的输不合理的输入数据所构入数据所构成的集合成的集合等价类等价类等价类划分等价类划分 程序输入条件为小于程序输入条件为小于100100大于大于1010的整的整数数x x,求其有效等价类和无效等价类。,求其有效等价类和无效等价类。解答:解答:有效等价类为:有效等价类为:有效等价类为:有效等价类为:10101010 x x x x100100100100;两个无效等价类为:两个无效等价类为:两个无效等价类为:两个无效等价类为:x10 x10 x10 x10和和和和x100 x100 x100 x100程序输入条件为取值为奇数的整数程序输入条件为取值为奇数的整数程序输入条件为取值为奇数的整数程序输入条件为取值为奇数的整数x x x x。有效等价类为:有效等价类为:有效等价类为:有效等价类为:x x x x的值为奇数的整数,的值为奇数的整数,的值为奇数的整数,的值为奇数的整数,无效等价类为:无效等价类为:无效等价类为:无效等价类为:x x x x的值不为奇数的整数。的值不为奇数的整数。的值不为奇数的整数。的值不为奇数的整数。程序输入条件为以字符程序输入条件为以字符aa开头、长开头、长度为度为8 8的字符串,并且字符串不包含的字符串,并且字符串不包含a a zz之外的其它字符。之外的其它字符。有效等价类:满足了上述所有条件的字符串;无效等价类:不以a开头的字符串、长度不为8的字符串和包含了a z之外其它字符的字符串。等价类划分课堂练习等价类划分课堂练习程序要求密码非空。有效等价类:为非空密码;无效等价类为:空密码等价类划分课堂练习等价类划分课堂练习(1)按照区间划分按照区间划分 有效等价类:有效等价类:1 1个;个;无效等价类:无效等价类:2 2个。个。(2)按照数值划分按照数值划分 有效等价类:有效等价类:n n个;个;无效等价类:无效等价类:1 1个。个。(3)按照数值集合划分按照数值集合划分 有效等价类:有效等价类:1 1个;个;无效等价类:无效等价类:1 1个。个。等价类划分法等价类划分法(4)按照限制条件或规则划分按照限制条件或规则划分 有效等价类:有效等价类:1 1个;个;无效等价类:无效等价类:n n个。个。(5)输入是布尔表达式输入是布尔表达式 有效等价类:有效等价类:1 1个;个;无效等价类:无效等价类:1 1个个(6)细分等价类细分等价类 在确知已划分的等价类中各元素在程序在确知已划分的等价类中各元素在程序中的处理方式不同的情况下,则应再将该等中的处理方式不同的情况下,则应再将该等价类进一步划分为更小的等价类,并建立等价类进一步划分为更小的等价类,并建立等价类表。价类表。编号编号有效等价类有效等价类无效等价类无效等价类 为每一个等价类规定一个唯一的编号。设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。等价类划分法等价类划分法“少而全少而全”“多而专多而专”v某网站用户申请注册时,要求用户必须输入用户名、密码及确认密码,对每一项输入条件的要求如下:用户名要求为412位,只能使用英文字母、数字、“-”、“_”这几种字符组合,并且首字符必须为字母或数字;密码要求为612位,只能使用英文字母、数字以及“-”、“_”这几种字符组合,并且区分大小写。等价类划分法等价类划分法1 1)确定等价类,列出等价类表确定等价类,列出等价类表2 2)确定测试用例确定测试用例 针对以下问题:某一种8位计算机,其十六进制常数的定义是以0 x或0X开头的十六进制整数,其取值范围为7f7f(不区分大小写字母),如0 x13、0 x6A、0 x3c。请采用等价类划分的方法设计测试用例。课后思考课后思考v针对是否对无效数据进行测试,可以将等价类测试分为 标准等价类测试和健壮等价类测试。标准等价类测试不考虑无效数据值,测试用例使用每个等价类中的一个值。健壮等价类测试主要的出发点是考虑了无效等价类。对有效输入,测试用例从每个有效等价类中取一个值;对无效输入,一个测试用例有一个无效值,其他值均取 有效值。常见等价类划分测试法常见等价类划分测试法 在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信息能够确定下列输出(值域)等价类。R1=:边为a,b,c的等边三角形 R2=:边为a,b,c的等腰三角形 R3=:边为a,b,c的一般三角形 R4=:边为a,b,c不能组成三角形 标准等价类测试用例标准等价类测试用例健壮等价类测试用例健壮等价类测试用例三角形问题三角形问题测试用例abc预期输出Test1567一般三角形Test2-155a值超出输入值定义域Test35-15b值超出输入值定义域Test455-1c值超出输入值定义域Test510155a值超出输入值定义域Test651015b值超出输入值定义域Test755101c值超出输入值定义域三角形问题的7个健壮等价类测试用例思考题目思考题目v假设一个文本输入区域允许输入1个到255个 字符。分析:分析:v输入输入1 1个和个和255255个字符作为有效等价类;个字符作为有效等价类;v输入输入0 0个和个和256256个字符作为无效等价类,个字符作为无效等价类,大量的故障往往发生在输入定义域或输出值大量的故障往往发生在输入定义域或输出值域的域的边界边界上,而不是在其内部。上,而不是在其内部。v通常情况下,软件测试所包含的边界检验有几种类型:数字、字符、位置、质量、大小、速度、方位、尺寸、空间等v相应地,以上类型的边界值应该在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最长、空/满等情况下边界值分析测试法边界值分析测试法思考题目思考题目v假设一个文本输入区域允许输入1个到255个 字符。分析:分析:v输入输入1 1个和个和255255个字符作为有效等价类;个字符作为有效等价类;v输入输入0 0个和个和256256个字符作为无效等价类,个字符作为无效等价类,v不输入字符不输入字符内部边界值条件或内部边界值条件或子边界值条件子边界值条件n 小结:小结:在实际中需要在实际中需要结合基本边界值结合基本边界值条件和条件和内部边界值内部边界值条条件来设计有效的测试用例。件来设计有效的测试用例。确定边界确定边界选取边界值选取边界值 通常输入或输出等价类的边界就是应该着重测试的边界情况。5个边界值:min、min+、nom、max、max-单故障边界值分析测试法边界值分析测试法v有两个输入变量x1(ax1b)和x2(cx2d)的程序F,其边界值为 ,x1x2a bcd边界值分析测试法边界值分析测试法v例2:有二元函数f(x,y),其中x1,12,y1,31。v边界值分析法设计的测试用例:,推论:对于一个含有n个变量的程序,采用边界值分析法测试程序会产生4n+1个测试用例。边界值分析测试法边界值分析测试法健健壮壮性性测测试试v健壮性测试它除了对变量的5个边界值分析取值外,还需要增加一个略大于最增加一个略大于最大值大值(max+)(max+)以及略小于最小值以及略小于最小值(min-)(min-)的的取值。取值。x1x2a bcd健壮健壮性测性测试试边界值分析测试法边界值分析测试法v对于有n个变量的函数采用健壮性测试需6n+1个测试用例。v实例1 在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。在此,我们将三角形每边边长的取范围值设值为1,100。v实例2 在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1mouth12和1day31,并设定变量year的取值范围为1912year2050。测试用例测试用例测试用例测试用例测试用例abc预期输出Test 1Test2Test3Test4Test560606050506060605050126099100等腰三角形等腰三角形等边三角形等腰三角形非三角形Test6Test7Test8Test960605050129910060605050等腰三角形等腰三角形等腰三角形非三角形Test10Test11Test12Test1312991006060505060605050等腰三角形等腰三角形等腰三角形非三角形测试用例mouth dayyear预期输出Test 1Test2Test3Test4Test5Test6Test766666661515151515151519111912191319752049205020511911.6.161912.6.161913.6.161975.6.162049.6.162050.6.162051.6.16Test8Test9Test10Test11Test12Test13666666-112303132200120012001200120012001day超出1312001.6.22001.6.32001.7.1输入日期超界day超出131Test14Test15Test16Test17Test18Test19-112111213151515151515200120012001200120012001Mouth超出1122001.1.162001.2.162001.11.162001.12.16Mouth超出112因果图法因果图法多种多种输入条件的组合输入条件的组合会相应产生多个动作会相应产生多个动作v因果图测试法 一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法。适合于检查程序输入条件的各种组合情况。因果图法因果图法因因果果图图 因果关系的符号c c1 1e1e1恒等恒等c1c1c1c1e1e1e1e1 非非或或c1c1e1e1c2c2c3c3与与c1c1c1c1e1e1e1e1c2c2c2c2因因果果1 1 1 11 1 1 1因果图法因果图法a ab b异异E a a和和b b中中最多最多有一个有一个可能可能为为1 1,即,即a a和和b b不能同时为不能同时为1 1。约约束束关关系系|输输入入a ab bc cI或或 a a、b b、c c中中至少有至少有一个一个必必须须为为1 1,即,即 a a、b b、c c不能同时不能同时为为0 0。因果图法因果图法a ab b唯一唯一ORa ab b要求要求约约束束关关系系|输输入入 a a和和b b必须必须有一个且仅有一有一个且仅有一个个为为1 1。a a是是1 1时,时,b b必须是必须是1 1,即,即a a为为1 1时,时,b b不能为不能为0 0。因果图法因果图法Ma a强制强制约约束束关关系系|输输出出若结果若结果a a为为1 1,则结果,则结果b b强制为强制为0 0。因果图法因果图法10b b因果图因果图判定表判定表测试用例测试用例 据程序规格说明书,分析并确定因(输入条件)和果(输出结果或程序状态的改变),画出因果图。将得到的因果图转换为判定表。为判定表中每一列所表示的情况设计一个测试用例。因果图法因果图法 输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M。解题步骤:(1)列出原因和结果。(2)找出因果关系、约束关系,画出因果图。(3)将因果图转换成决策表。(4)根据(3)中的决策表,设计测试用例。因果图法因果图法(1)列出原因和结果:因果图法因果图法结果结果 e1e1:给出信息:给出信息N N e2 e2:修改文件:修改文件e3e3:给出信息:给出信息M M原因原因 c1 c1:第一个字符是:第一个字符是#c2 c2:第一个字符是:第一个字符是*c3 c3:第二个字符是一:第二个字符是一个数字个数字(2)画出因果图:因果图法因果图法c1c2c3e110e2e3E中间节中间节中间节中间节点点点点第一个第一个字符是字符是#第二个字第二个字符是一个符是一个数字数字第一个字第一个字符是符是*给出信给出信息息N N修改文件修改文件给出信息给出信息M M(3)将因果图转换成如下所示的决策表决策表:12345678条件:C1C2C310111110101110010111010100100000动作:e1e2e3不可能规则规则选项选项因果图法因果图法(4)根据决策表中的每一列设计测试用例:测试用例编号输入数据预期输出1#3修改文件2#A给出信息M3*6修改文件4*B给出信息M5A1给出信息N6GT给出信息N和信息M因果图法因果图法12345678条件:C1C2C310111110101110010111010100100000动作:e1e2e3不可能规则规则选项选项决策表法决策表法多个逻辑条件下执行不同操作!多个逻辑条件下执行不同操作!条件项条件项动作项动作项决策表法决策表法条件的取值条件的取值条件的取值条件的取值条件取值条件取值条件取值条件取值下的动作下的动作下的动作下的动作规规则则条件项条件项条件项条件项动作项动作项动作项动作项 动动 作作 桩桩条条 件件 桩桩组组成成组组成成决策表法决策表法决策表决策表 动动 作作 桩桩条条 件件 桩桩决策表法决策表法规则数规则数初始决策表初始决策表简化决策表简化决策表确定规则的个数。列出所有的条件桩和动作桩;填入条件项;填入动作项,得到初始决策表。简化决策表,合并相似规则。决策表法决策表法条件:条件:n规则:规则:2n规则数规则数:两条以上两条以上动作:相同;动作:相同;条件项:相似条件项:相似 超市中如果某产品销售好并且库存低,则继续销售并增加该产品的进货;如果该产品销售好,但库存量不低,则继续销售;若该产品销售不好,但库存量低,则该产品下架;若该产品销售不好,且库存量不低,如有空货架,则继续销售,如果没有空货架,则该产品下架。决策表法决策表法u构造初始决策表构造初始决策表决策表测试法决策表测试法12345678条件:C1:销售好?C2:库存低?C3:有空货架?TTTTTFTFTTFFFTTFTFFFTFFF动作:a1:增加进货?a2:继续销售?a3:产品下架规则:规则:238u简化初始决策表简化初始决策表决策表法决策表法123,45,678条件:C1:销售好?C2:库存低?C3:有空货架?TTTF-FT-FFTFFF动作:a1:增加进货?a2:继续销售?a3:产品下架规则数规则数:两条以上两条以上动作:相同;动作:相同;条件项:相似条件项:相似决策表法决策表法-课堂练习课堂练习vNextDateNextDate函数。函数。NextDateNextDate函数包含三个变量函数包含三个变量monthmonth、dayday和和yearyear,函数的输出为输入日期后一天的日期。函数的输出为输入日期后一天的日期。例如,例如,输入为输入为19891989年年5 5月月1616日,则函数的输出为日,则函数的输出为19891989年年5 5月月1717日。日。要要求求输输入入变变量量monthmonth、dayday和和yearyear均均为为整整数数值值,并并且且满满足足下下列列条条件件:(1 1)1 1 month month 12 12 (2 2)1 1 day 31day 31(3 3)1920 1920 year 2050year 2050 若若条条件件(1 1)(3 3)中中任任何何一一个个条条件件失失效效,则则NextDateNextDate函函数数都都会会产产生生一一个个输输出出,指指明明相相应应的的变变量量超超出出取取值值范范围围,比比如如“monthmonth的的值值不不在在1-121-12范范围围当当中中”。显显然然还还存存在在着着大大量量的的yearyear、monthmonth、dayday的的无无效效组组合合,NextDateNextDate函函数数将将这这些些组组合合作作统统一一的的输输出出:“无效输入日期无效输入日期”。monthday yearNextDate1212月月小月小月二月二月大月大月本月外本月外输出输出本月内本月内输入输入决策表测试法决策表测试法v动作桩和动作项 a1:不可能;a2:day加1;a3:day复位;a4:month加1;a5:month复位;a6:year加1决策表测试法决策表测试法u条件桩和条件项(等价类)条件桩和条件项(等价类)monthdayyearM1:monthM1:month有有3030天天;M2:monthM2:month有有3131天,天,1212月除外月除外;M3:monthM3:month是是1212月月;M4:monthM4:month是是2 2月月;D1:day:1day27D1:day:1day27;D2:D2:day:dayday:day=28=28;D3:D3:day:dayday:day=29=29;D4:D4:day:dayday:day=30=30;D5:D5:day:dayday:day=31=31;Y1:year:yearY1:year:year是闰年是闰年;Y2:Y2:year:yearyear:year不是闰年不是闰年 决策表测试法决策表测试法1 12 23 34 45 56 67 78 89 91111M1M1M1M1M1M1M1M1M1M1M2M2M2M2M2M2M2M2M3M3D1D1D2D2D3D3D4D4D5D5D1D1D2D2D3D3D4D4D1D1条件:条件:c1:month在在c2:dayc2:day在在c3:yearc3:year在在动作:动作:A1A1:不可能不可能A2:dayA2:day1 1A3:day=1A3:day=1A4:month+1A4:month+1A5:month=1A5:month=1A6:year+1A6:year+11010M2M2D4D4初始决策表初始决策表初始决策表(续)初始决策表(续)1212131314141515161617171818191920202222M3M3M3M3M3M3M3M3M4M4M4M4M4M4M4M4M4M4M4M4D2D2D3D3D4D4D5D5D1D1D2D2D2D2D3D3D3D3D5D5Y1Y1Y2Y2Y1Y1Y2Y2条件:条件:c1:month在在c2:dayc2:day在在c3:yearc3:year在在动作:动作:A1A1:不可能不可能A2:dayA2:day1 1A3:day=1A3:day=1A4:month+1A4:month+1A5:month=1A5:month=1A6:year+1A6:year+12121M4M4D4D413134 45 569691010111411141515161617171919M1M1M1M1M1M1M2M2M2M2M3M3M3M3M4M4M4M4M4M4D1D1D3D3D4D4D5D5D1DD1D4 4D5D5D1DD1D4 4D5D5D1D1D2D2D3D3-Y1Y1Y1Y1条件:条件:c1:month在在c2:dayc2:day在在c3:yearc3:year在在动作:动作:A1A1:不可能不可能A2:dayA2:day1 1A3:day=1A3:day=1A4:month+1A4:month+1A5:month=1A5:month=1A6:year+1A6:year+11818M4M4D2D2Y2Y2202021222122M4M4M4M4D3D3D4 D4 D5D5Y2Y2-简化的决策表简化的决策表决策表测试法决策表测试法结论结论分析和表达分析和表达多逻辑条件下执行不多逻辑条件下执行不同操作同操作的情况。的情况。在在黑盒测试黑盒测试方法中,基于决策表方法中,基于决策表(也称判定表)的测试是(也称判定表)的测试是最为严最为严格、最具有逻辑性格、最具有逻辑性的测试方法。的测试方法。v适用的应用程序:if-then-else逻辑突出;输入变量之间存在逻辑关系;涉及输入变量子集的计算;输入与输出之间存在因果关系。决策表测试法决策表测试法小结小结小小结结v适用于使用决策表设计测试用例的条件:规格说明以决策表形式给出,或较容易转换为决策表。条件的排列顺序不会也不应影响执行的操作。规则的排列顺序不会也不应影响执行的操作。当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。如果某一规则的条件要执行多个操作,这些操作的执行顺序无关紧要。小小结结决策表测试法决策表测试法v遵循原则:根据程序的重要性和一旦发生故障将造成的损失来确定测试等级和测试重点。认真选择测试策略,以便能尽可能少的使用测试用例,发现尽可能多的程序错误。测试方法的选择测试方法的选择任何情况下都必须采用边界值分析法任何情况下都必须采用边界值分析法必要时采用等价类划分法必要时采用等价类划分法采用错误推断法再追加测试用例。采用错误推断法再追加测试用例。对照程序逻辑,检查已设计出的测试用例对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。的逻辑覆盖程度。若程序的功能说明中含有输入条件的组合若程序的功能说明中含有输入条件的组合情况,则应一开始就选用因果图法。情况,则应一开始就选用因果图法。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!