您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 第11章 软件测试C2
1/16111.3黑盒测试•黑盒测试是依据软件的需求规约,检查程序的功能是否符合需求规约的要求。•主要的黑盒测试方法有:等价类划分边界值分析比较测试错误猜测因果图2/16111.3.1等价类划分•选择少量有代表性的输入数据,来揭露尽可能多的程序错误•等价类是指输入域的某个子集,该子集中的每个输入数据对揭露软件中的错误都是等效的。•等价类划分方法将所有可能的输入数据划分成若干个等价类,然后在每个等价类中选取一个代表性的数据作为测试用例3/161•等价类划分方法把输入数据分为有效输入数据和无效输入数据•有效输入数据指符合规格说明要求的合理的输入数据,主要用来检验程序是否实现了规格说明中的功能•无效输入数据指不符合规格说明要求的不合理或非法的输入数据,主要用来检验程序是否做了规格说明以外的事•在确定输入数据等价类时,常常还要分析输出数据的等价类,以便根据输出数据等价类导出输入数据等价类。4/161•例:使用等价类划分法测试日期检测功能要求:日期限定在1990年1月至2049年12月,由6位数字组成,前4位为年,后2位为月份条件有效等价类无效等价类类型数字非数字长度6位少于6位,多于6位年范围1990-20491990,20495/1611.等价类划分设计测试用例的步骤1)确定等价类•根据软件的规格说明,对每一个输入条件确定若干个有效等价类和若干个无效等价类。•确定等价类的规则:①取值范围:可以确定一个有效等价类(输入值在此范围内)和两个无效等价类(输入值小于最小值及大于最大值)6/161②值的个数:可以确定一个有效等价类(输入值的个数等于规定的个数)和两个无效等价类(输入值的个数小于规定的个数和大于规定的个数)③输入值的集合且程序对不同的输入值做不同的处理:每个允许的值都确定为一个有效等价类,另外还有一个无效等价类(任意一个不允许的值)。7/161④输入值必须遵循的规则:确定一个有效等价类(符合此规则)和若干个无效等价类(从各个不同的角度违反此规则)。⑤输入数据是整型:确定三个有效等价类(正整数、零、负整数)和一个无效等价类(非整数)。⑥输入是表格:确定一个有效等价类(表有一项或多项)和一个无效等价类(空表)8/1612)设计测试用例•在确定了等价类之后,建立等价类表,列出所有划分出的等价类。并为每个有效等价类和无效等价类编号。•设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;•为每个无效等价类设计一个新的测试用例。输入条件有效等价类无效等价类9/16110/161•复习常用的白盒测试方法有:1.逻辑覆盖测试•语句覆盖:运行测试用例时,被测程序的每个可执行语句都至少执行一次•判定覆盖:被测程序每个判定的所有可能结果都至少执行一次,判定的每个分支至少经过一次•条件覆盖:被测程序的每个判定中每个条件的所有可能结果都至少出现一次11/161F入口返回x=x/yFx=x+1(y1)and(z=0)(y=2)or(x1)TTasbcde12/1612.基本路径覆盖测试•由程序流程图得到控制图,计算控制图中的区域数,确定一组独立路径,为每个独立路径设计一个测试用例ttffx=1x=1abcdx=2123456y=013/161123456独立路径1-3-61-2-4-61-2-5-6测试用例:1.a=2,b=12.a=1,b=2,c=4,d=33.a=1,b=2,c=3,b=414/161•主要的黑盒测试方法有:等价类划分边界值分析比较测试错误猜测因果图•等价类划分方法将所有可能的输入数据划分成若干个等价类,然后在每个等价类中选取一个代表性的数据作为测试用例15/161•等价类划分方法把输入数据分为有效输入数据和无效输入数据•根据软件的规格说明,对每一个输入条件确定若干个有效等价类和若干个无效等价类。•等价类划分测试的步骤1.确定输入条件2.根据条件划分有效等价类和无效等价类3.设计测试用例,使其尽可能多地覆盖有效等价类4.为每个无效等价类设计一个新的测试用例16/161•某编译程序的规格说明中关于标识符的规定如下,请使用等价类划分法设计测试用例:标识符是由字母开头,后跟字母或数字的任意组合构成;标识符的字符数为1∽8个;标识符必须先说明后使用;一个说明语句中至少有一个标识符,不能使用保留字17/1611.建立输入等价类表:输入条件有效等价类无效等价类第一个字符字母⑴数字⑵非字母数字字符⑶后跟的字符字母⑷数字⑸非字母数字字符⑹保留字⑺字符数1~8个⑻0个⑼8个⑽标识符的使用先说明后使用⑾未说明已使用⑿标识符个数1个⒀0个⒁18/161•下面选取9个测试用例,它们覆盖了所有的等价类。输入数据预期结果覆盖等价类VARP3t2:REAL;BEGINP3t2:=3.1;……END;正确标识符⑴,⑷,⑸,⑻,⑾,⒀VAR3P:REAL;报错:不正确标识符⑵VAR!X:REAL;报错:不正确标识符⑶VART#:CHAR;报错:不正确标识符⑹19/161输入数据预期结果覆盖等价类VARGOTO:INTEGER;报错:保留字作标识符⑺VARX,:REAL;报错:标识符长度为0⑼VART12345678:REAL;报错:标识符字符超长⑽VARPGR:REAL;BEGIN……PAP:=3.14……END;报错:未说明已使用⑿VAR:REAL;报错:标识符个数为0⒁20/16111.3.2边界值分析•边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。•大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部•边界是指在等价类边界上、或稍高于其边界值、或稍低于其边界值的一些特定情况。•边值分析则是专门挑选那些位于边界附近的值(即正好等于、或刚刚大于、或刚刚小于边界的值)作为测试用例。21/161•边界值分析方法选择测试用例的规则如下:1.取值范围:选择刚刚达到这个范围的边界的值以及刚刚超出这个范围的边界的值作为测试输入数据。2.值的个数:分别选择最大个数、最小个数、比最大个数多1、比最小个数少1的数据作为测试输入数据。3.对每个输出条件使用第1条。4.对每个输出条件使用第2条。22/1615.有序集合(顺序文件、表格):有序集的第1个元素和最后一个元素上。6.程序内部数据结构有预定义的边界(数组的上界和下界、栈的大小):正好达到该数据结构边界以及刚好超出该数据结构边界的输入数据作为测试数据。7.发挥你的智慧,找出其他可能的边界条件。23/16111.3.3比较测试•由两支软件开发队伍分别开发两个软件版本,然后,用相同的测试用例分别进行测试,比较二个版本软件的测试结果。•这种测试称为比较测试或称为背靠背测试24/16111.3.4错误猜测法•错误猜测是一种凭直觉和经验推测某些可能存在的错误,主要依靠直觉和经验。•错误猜测法的基本思想是:列举出程序中所有可能的错误和容易发生错误的特殊情况,然后根据这些猜测设计测试用例。25/16111.3.5因果图•当输入条件比较多时,输入条件组合的数目会相当大•因果图方法的特点是:考虑输入条件的组合关系;考虑输出条件对输入条件的因果关系;测试用例发现错误的效率高;能检查出功能说明中的某些不一致或遗漏。26/161例如,有一个处理单价为5角钱的饮料自动售货机软件,其规格说明如下:•饮料自动售货机允许投入5角或1元的硬币,用户可通过“橙汁”和“啤酒”按钮选择饮料。•当用户投入5角硬币并押下“橙汁”或“啤酒”按钮后,售货机送出“橙汁”或“啤酒”。•当用户投入1元硬币并押下“橙汁”或“啤酒”按钮后,如果售货机有零钱找,则送出相应的饮料,并退还5角硬币;如果售货机没有零钱找,则饮料不送出,并且退还1元硬币。27/161•分析规格说明,列出原因和结果原因(输入)结果(输出)(1)有零钱找(2)投入1元硬(3)投入5角硬币(4)押下“橙汁”按钮(5)押下“啤酒”按钮(21)“零钱找完”灯亮(22)退还1元硬币(23)退还5角硬币(24)送出“橙汁”饮料(25)送出“啤酒”饮料28/161(2)画出因果图。所有原因结点列在左边,所有结果结点列在右边。
本文标题:第11章 软件测试C2
链接地址:https://www.777doc.com/doc-4021511 .html