欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    黑盒测试用例设计技术.ppt

    • 资源ID:80507352       资源大小:899KB        全文页数:80页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    黑盒测试用例设计技术.ppt

    黑盒测试用例设计技术黑盒测试用例设计技术内容提要内容提要黑盒测试的概念黑盒测试的概念:等价类划分法等价类划分法:等价类划分法测试技术是依据软件系统输入集合、输出集合等价类划分法测试技术是依据软件系统输入集合、输出集合或操作集合实现功或操作集合实现功能的相同性为依据,对其进行的子集划分,并对每个子集产生一个测试用能的相同性为依据,对其进行的子集划分,并对每个子集产生一个测试用例的测试用例设计方法。例的测试用例设计方法。边界条件法边界条件法:等价类划分法的扩张。等价类划分法的扩张。决策表法决策表法:决策表是分析和表达多逻辑条件下执行不同操作情况的工具,它决策表是分析和表达多逻辑条件下执行不同操作情况的工具,它可以把复杂的逻辑关系可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确。和多种条件组合的情况表达得既具体又明确。因果图法因果图法:因果图是从用自然语言书写的程序规格说明的描述中找到因(输因果图是从用自然语言书写的程序规格说明的描述中找到因(输入条件)和果(输出或入条件)和果(输出或程序状态的改变),通过因果图转化为决策表。程序状态的改变),通过因果图转化为决策表。正交表测试法正交表测试法:正交测试源于正交试验设计方法,是从大量的数据中挑选适正交测试源于正交试验设计方法,是从大量的数据中挑选适量的、有代表性的点,量的、有代表性的点,从而合理地安排测试的一种科学的试验设计方法。正交测试法就是使用已从而合理地安排测试的一种科学的试验设计方法。正交测试法就是使用已经造好了的正交表格来经造好了的正交表格来安排试验并进行数据分析的一种方法。安排试验并进行数据分析的一种方法。黑盒测试的其他方法黑盒测试的其他方法 特殊值测试特殊值测试:特殊值测试就是指定软件中某些特殊值特殊值测试就是指定软件中某些特殊值为测试用例而对软件实施的测试。为测试用例而对软件实施的测试。故障猜测法故障猜测法:根据经验和直觉猜测软件中可能存在的根据经验和直觉猜测软件中可能存在的各种故障,从而有针对性地编写测试这些故障各种故障,从而有针对性地编写测试这些故障的测试用例。的测试用例。随机测试随机测试:对于给定的被测软件系统和软件系统的定对于给定的被测软件系统和软件系统的定义域,按照定义域中样本取值的概率,随机的义域,按照定义域中样本取值的概率,随机的选择其样本并作为其测试数据的过程称为随机测试。选择其样本并作为其测试数据的过程称为随机测试。黑盒测试黑盒测试 黑盒测试(黑盒测试(Black Box Testing)又叫功能测试)又叫功能测试(Functional Testing)。)。主要关注于被测软件的功主要关注于被测软件的功能实现,而不是内部逻辑。能实现,而不是内部逻辑。在黑盒测试中,被测对象的内部结构、运作情况对在黑盒测试中,被测对象的内部结构、运作情况对测试人员是不可见的。测试人员是不可见的。测试人员对被测产品的验证主要是根据其规格,验测试人员对被测产品的验证主要是根据其规格,验证其与规格的一致性。证其与规格的一致性。黑盒测试发现的缺陷类型黑盒测试发现的缺陷类型功能错误或遗漏功能错误或遗漏界面错误界面错误外部数据库访问错误外部数据库访问错误性能错误性能错误初始化和终止错误初始化和终止错误等价类划分法等价类划分法 等价类划分法测试技术是依据软件系统输入集合、输等价类划分法测试技术是依据软件系统输入集合、输出集合或操作集合实现功能的相同性为依据,对其进行的子出集合或操作集合实现功能的相同性为依据,对其进行的子集划分,并对每个子集产生一个测试用例的测试用例设计方集划分,并对每个子集产生一个测试用例的测试用例设计方法。法。等价分配:是指分步骤地把过多(无限)的测试案例减等价分配:是指分步骤地把过多(无限)的测试案例减小到同样有效的小范围的过程。小到同样有效的小范围的过程。等价类别或者等价区间是指测试相同目标或者暴露相同等价类别或者等价区间是指测试相同目标或者暴露相同软件缺陷的一组测试。软件缺陷的一组测试。在寻找等价区间时,想办法把软件的相似输入、输出、在寻找等价区间时,想办法把软件的相似输入、输出、操作分成组。这些组是等价区间。操作分成组。这些组是等价区间。定义等价类的规则定义等价类的规则 如果输入集合、输出集合或操作集合规定了取值范围,或者值的个如果输入集合、输出集合或操作集合规定了取值范围,或者值的个数,则可以确定一个有效等价类和两个无效等价类;数,则可以确定一个有效等价类和两个无效等价类;如果输入集合、输出集合或操作集合规定了集合取值范围,或者是如果输入集合、输出集合或操作集合规定了集合取值范围,或者是规定了必要条件,这时可以确定一个有效等价类和一个无效等价类;规定了必要条件,这时可以确定一个有效等价类和一个无效等价类;如果输入集合、输出集合或操作集合是一个布尔量,则可以确定如果输入集合、输出集合或操作集合是一个布尔量,则可以确定一个有效等价类和一个无效等价类;一个有效等价类和一个无效等价类;如果输入集合、输出集合或操作集合是一组值,而软件要对每一如果输入集合、输出集合或操作集合是一组值,而软件要对每一组值分别进行处理,这时要对每个规定的输入值确定一个等价类,而对组值分别进行处理,这时要对每个规定的输入值确定一个等价类,而对于这组值之外的所有值确定一个等价类;于这组值之外的所有值确定一个等价类;如果规定了输入集合、输出集合和操作集合必须遵守的规则,则如果规定了输入集合、输出集合和操作集合必须遵守的规则,则可以确立一个有效等价类(即遵守规则的数据)和若干无效等价类(从可以确立一个有效等价类(即遵守规则的数据)和若干无效等价类(从各种角度违反规则的数据)。各种角度违反规则的数据)。等价类测试等价类测试弱一般等价类测试用例弱一般等价类测试用例agedx1x2fbc标准等价类测试不考虑无效数据值标准等价类测试不考虑无效数据值等价类测试等价类测试强一般等价类测试用例强一般等价类测试用例agedx1x2fbc等价类测试等价类测试弱健壮等价类测试用例弱健壮等价类测试用例agedx1x2fbc等价类测试等价类测试强健壮等价类测试用例强健壮等价类测试用例agedx1x2fbc练习练习 写出三角形问题的输入等价类和输出等价类写出三角形问题的输入等价类和输出等价类 写出写出NextDateNextDate函数的输入等价类函数的输入等价类 WindowsWindows文件名可以包含除了、文件名可以包含除了、/:*?“。文件名长度是。文件名长度是1-1-255255个字符。写出文件名创建测试用例个字符。写出文件名创建测试用例 如何确定从数据库读取数据的等价类?如何确定从数据库读取数据的等价类?R1=:边为边为a,b,c的等边三角形的等边三角形R2=:边为边为a,b,c的等腰三角形的等腰三角形R3=:边为边为a,b,c的一般三角形的一般三角形R4=:边为边为a,b,c的不能组成三角形的不能组成三角形练练 习习 给出一个输出集合等价类划分的例子。假设一个销售书籍的奖励系统,销给出一个输出集合等价类划分的例子。假设一个销售书籍的奖励系统,销售三种软件工程类书籍,每本书的单价不同,售三种软件工程类书籍,每本书的单价不同,软件测试软件测试每本每本25元;元;程序程序设计设计每本每本30元;元;软件工程软件工程每本每本40元。每月销售额不到(含)元。每月销售额不到(含)500元的部元的部分奖励分奖励10%,500(不含)到(不含)到700元(含)元的部分为元(含)元的部分为15%,超过,超过7000元的部元的部分为分为20%。该系统生成月份销售报告,汇总售出的各类书籍的总数,总销售额。该系统生成月份销售报告,汇总售出的各类书籍的总数,总销售额以及奖金。以及奖金。S1=:销售额:销售额=500;S1=:500销售额销售额=700;S1=:销售额:销售额700;等价类测试小结等价类测试小结 等价类测试的弱形式不如对应的强形式的测试全面。等价类测试的弱形式不如对应的强形式的测试全面。如果错误条件非常重要,则进行健壮性的测试是合如果错误条件非常重要,则进行健壮性的测试是合适的。适的。如果输入数据以离散值区间和集合定义,则等价类如果输入数据以离散值区间和集合定义,则等价类测试是合适的。测试是合适的。在发现合适的等价类关系之前,可能需要进行多次在发现合适的等价类关系之前,可能需要进行多次尝试。尝试。函数测试函数测试边界值分析边界值分析边界值测试的基本原理:错误更可能出现在输入变量的极值附近错误更可能出现在输入变量的极值附近.失效极少由两个(或多个)缺陷的同时发生引起的。单故障失效极少由两个(或多个)缺陷的同时发生引起的。单故障MinMin、minmin、nomnom、max-max-和和maxmax。边界条件法边界条件法边界值测试边界值测试 如果函数如果函数F F实现了一个程序,则输入两个变量实现了一个程序,则输入两个变量x x1 1 和和 x x2 2会有一些边界:会有一些边界:a xa x1 1 b b c xc x2 2 d d 区间区间a,ba,b和和c,dc,d是是x x1 1 和和 x x2 2的值域。的值域。边界值分析边界值分析adcbx2x1边界值分析边界值分析边界值类型的描述:第一个第一个/最后一个最后一个 最小值最小值/最大值最大值开始开始/完成完成 超过超过/在内在内空空/满满 最短最短/最长最长最大最大/最小最小 最高最高/最低最低相邻相邻/最远最远 最慢最慢/最快最快最早最早/最迟最迟次边界值分析次边界值分析 次边界条件:次边界条件:有些边界条件在软件内部,最终用户几乎看不到,但是软件有些边界条件在软件内部,最终用户几乎看不到,但是软件测试仍有必要检查。这样的边界条件称为次边界条件或者内部边测试仍有必要检查。这样的边界条件称为次边界条件或者内部边界条件。如界条件。如2的乘方和的乘方和ASC。通讯软件是大量存在2的幂的内部边界条件。例如某种通讯协议支持256条命令。软件将发送编码为一个4位数据的最常用的15条命令。假如用到16-256条命令,软件就转而发送编码为更长的字节的命令。软件中的软件中的2 2的乘方的乘方术语术语范范围围或或值值位位0 0或或1 1双位双位0-150-15字字节节0-2550-255字字0-650-65,535535千千1 1,024024兆兆1 1,048048,576576十十亿亿1 1,073073,741741,824824万万亿亿1 1,009009,511511,627627,776776部分的部分的ASCASC制表制表字符字符ASCASC值值字符字符ASCASC值值NullNull0 0B B6666SpaceSpace3232Y Y8989/4747Z Z90900 04848 91911 1494996962 25050a a 97979 95757b b 9898:5858y y 121121 6464z z 122122A A6565 123123一般边界条件法一般边界条件法 adcbx1x2健壮性边界条件法健壮性边界条件法 adcbx1x2最坏边界条件法最坏边界条件法 adcbx1x2健壮最坏边界条件法健壮最坏边界条件法 adcbx1x2边界值分析边界值分析 边界值分析的特点和局限性边界值分析的特点和局限性 对于一个对于一个n n变量函数,边界值分析会产生变量函数,边界值分析会产生4n4n1 1个个测试用例。测试用例。边界值的取值取决于变量本身的性质。边界值的取值取决于变量本身的性质。边界值分析对布尔变量没有什么意义。边界值分析对布尔变量没有什么意义。边界值分析假设变量是完全独立的。边界值分析假设变量是完全独立的。边界值测试边界值测试-练习练习1、写出三角形问题的边界值分析测试用例写出三角形问题的边界值分析测试用例2 2、写出、写出NextDateNextDate函数的最坏情况测试用例函数的最坏情况测试用例边界值测试的小结边界值测试的小结这类测试方法是基于一种假设:输入的变量是真正独立的。这类测试方法是基于一种假设:输入的变量是真正独立的。这些方法的区别是:正常值与健壮值;单缺陷与多缺陷。这些方法的区别是:正常值与健壮值;单缺陷与多缺陷。决策表法决策表法 决策表是分析和表达多逻辑条件下执行不同操作情况决策表是分析和表达多逻辑条件下执行不同操作情况的工具,它可以把复杂的逻辑关系和多种条件组合的情况的工具,它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确。表达得既具体又明确。在所有功能测试方法中,基于决策表的测试方法是最在所有功能测试方法中,基于决策表的测试方法是最严格的,因为决策表具有逻辑严格性。严格的,因为决策表具有逻辑严格性。决策表很适合描述不同条件集合下采取行动的若干组决策表很适合描述不同条件集合下采取行动的若干组合的情况。合的情况。决策表的组成决策表的组成 条件桩条件桩 条件项条件项 动作桩动作桩 动作项动作项规则条件桩列出了软件系统所有输入条件,列出条件的排列顺序不会影响输出的结果。动作桩列出了软件系统对应输入条件可能采取的操作,这些操作的排列顺序也不会影响输出的结果。决策表的组成决策表的组成条件桩:列出了问题的所有条件。条件桩:列出了问题的所有条件。动作桩:列出了问题规定可能采取的操作。动作桩:列出了问题规定可能采取的操作。条件项:列出针对其左列条件的取值,在所有可能情况下条件项:列出针对其左列条件的取值,在所有可能情况下 的真假值。这叫有限条目决策表(扩展条目决策表)的真假值。这叫有限条目决策表(扩展条目决策表)动作项:列出在条件项的各种取值情况下应该采取的动作。动作项:列出在条件项的各种取值情况下应该采取的动作。规规 则:任何一个条件组合的特定取值及其相应要执行的则:任何一个条件组合的特定取值及其相应要执行的 操作。在决策表中贯穿条件项和动作项的一列就操作。在决策表中贯穿条件项和动作项的一列就 是一条规则。是一条规则。决策表(判定表)的建立决策表(判定表)的建立 列出所有的条件桩和动作桩;列出所有的条件桩和动作桩;填入条件项;填入条件项;填入动作项,制定初始判定表;填入动作项,制定初始判定表;简化;合并相似规则或者相同动作。简化;合并相似规则或者相同动作。决策表的简化决策表的简化 简化是以合并相似规则为目标。若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。“-”表示与取值无关。YYNNYNYN-YY-NNNYN基于决策表的测试基于决策表的测试桩规则1规则2规则3、4规则5C1C2C3TTTTTFTFFTTA1A2A3XXXXXXX基于决策表的测试基于决策表的测试桩123456789C1:a,b,c构成三角形?C2:a=b?C3:a=c?C4:b=c?N-YYYYYYYNYYNYYYNNYNYYYNYNYNNYYNNNA1:非三角形A2:不等边三角形A3:等腰三角形A4:等边三角形A5:不可能XXXXXXXXX基于决策表的测试基于决策表的测试条件123C1:月份在M1中?C2:月份在M2中?C3:月份在M3中?T-T-TA1A2M1=月份月份:每月有每月有30天天;M2=月份月份:每月有每月有31天天;M3=月份月份:此月是此月是2月月;A1:不可能不可能A2:日期增日期增1基于决策表的测试基于决策表的测试条件123C1:月份在M1中?C2:月份在M2中?C3:月份在M3中?规则条数统计T-4-T-4-T4A1A2M1=月份月份:每月有每月有30天天;M2=月份月份:每月有每月有31天天;M3=月份月份:此月是此月是2月月;A1:不可能不可能A2:日期增日期增1基于决策表的测试基于决策表的测试条件111213142122232431323334C1:月份在M1中?C2:月份在M2中?C3:月份在M3中?规则条数统计TTT1TTF1TFT1TFF1TTT1TTF1FTT1FTF1TTT1TFT1FTT1FFT1A1A2M1=月份月份:每月有每月有30天天;M2=月份月份:每月有每月有31天天;M3=月份月份:此月是此月是2月月;A1:不可能不可能A2:日期增日期增1基于决策表的测试基于决策表的测试条件11121314232434C1:月份在M1中?C2:月份在M2中?C3:月份在M3中?规则条数统计TTT1TTF1TFT1TFF1FTT1FTF1FFT1FFF1A1XXXXXM1=月份月份:每月有每月有30天天;M2=月份月份:每月有每月有31天天;M3=月份月份:此月是此月是2月月;A1:不可能不可能A2:日期增日期增1A3:日期复位日期复位A4:月份增月份增1A5:月份复位月份复位A6:年增年增1基于决策表的测试基于决策表的测试条件1-456789C1C2C3T-FTTFTFFFTFFFTFFA1A2A3X-XXX-XXX-XX-XX-X基于决策表的测试基于决策表的测试条件1-456789C1C2C3T-FTTFTFFFTFFFTFFA1A2A3X-XXX-XXX-XX-X-X-基于决策表的测试基于决策表的测试M1=月份月份:每月有每月有30天天;M2=月份月份:每月有每月有31天天;M3=月份月份:此月是此月是2月月;D1=日期日期:1日期日期28;D2=日期日期:日期日期=29;D3=日期:日期=30;D4=日期:日期=31;Y1=年:年是闰年;Y2=年:年不是闰年。基于决策表的测试基于决策表的测试条件C1:月份在M1中?C2:月份在M2中?C3:月份在M3中?C4:日期在D1中?C5:日期在D2中?C6:日期在D3中?C7:日期在D4中?C8:年在Y1中?TTTA1:不可能A2:NextDate基于决策表的测试基于决策表的测试M1=月份:每月有30天;M2=月份:每月有31天;M3=月份:此月是2月;Y1=年:年=2000;Y2=年:年是闰年;Y3=年:年是平年。D1=日期:1日期28;D2=日期:日期=29;D3=日期:日期=30;D4=日期:日期=31;基于决策表的测试基于决策表的测试12345678C1:月份在C2:日期在C3:年在规则条数统计M1D1-3M1D2-3M1D3-3M1D4-3M2D1-3M2D2-3M2D3-3M2D4-3A1:不可能A2:日期增1A3:日期复位A4:月份增1A5:月份复位A6:年增1XXXXXXXXX??M1=月份月份:每月有每月有30天天;M2=月份月份:每月有每月有31天天;M3=月份月份:此月是此月是2月月;Y1=年年:年年=2000;Y2=年年:年是闰年年是闰年;Y3=年年:年是平年年是平年。D1=日期日期:1日期日期28;D2=日期日期:日期日期=29;D3=日期日期:日期日期=30;D4=日期日期:日期日期=31;基于决策表的测试基于决策表的测试91011121314151617C1:月份在C2:日期在C3:年在规则条数统计M3D1Y11M3D1Y21M3D1Y31M3D2Y11M3D2Y21M3D2Y31M3D3-3M3D3-3M3D4-3A1:不可能A2:日期增1A3:日期复位A4:月份增1A5:月份复位A6:年增1XXXXXXXXXXXX基于决策表的测试基于决策表的测试M1=月份月份:每月有每月有30天天;M2=月份月份:每月有每月有31天,天,12月除外月除外;M3=月份月份:此月是此月是12月月;M4=月份月份:此月是此月是2月月;D1=日期日期:1日期日期27;D2=日期:日期=28;D3=日期:日期=29D4=日期:日期=30;D5=日期:日期=31;Y1=年:年是闰年;Y2=年:年不是闰年。基于决策表的测试基于决策表的测试12345678910C1:月份在C2:日期在C3:年在M1D1-M1D2-M1D3-M1D4-M1D5-M2D1-M2D2-M2D3-M2D4-M2D5-A1:不可能A2:日期增1A3:日期复位A4:月份增1A5:月份复位A6:年增1XXXXXXXXXXXXM1=月份月份:每月有每月有30天天;M2=月份月份:每月有每月有31天,天,12月除外月除外;M3=月份月份:此月是此月是12月月;M4=月份月份:此月是此月是2月月;D1=日期日期:1日期日期27;D2=日期日期:日期日期=28;D3=日期日期:日期日期=29D4=日期日期:日期日期=30;D5=日期日期:日期日期=31;Y1=年年:年是闰年年是闰年;Y2=年年:年不是闰年年不是闰年。基于决策表的测试基于决策表的测试111213141516171819202122C1:月份在C2:日期在C3:年在M3D1-M3D2M3D3M3D4M3D5-M4D1-M4D2Y1M4D2Y2M4D3Y1M4D3Y2M4D4-M4D5-A1:不可能A2:日期增1A3:日期复位A4:月份增1A5:月份复位A6:年增1XXXXXXXXXXXXXXXXM1=月份月份:每月有每月有30天天;M2=月份月份:每月有每月有31天,天,12月除外月除外;M3=月份月份:此月是此月是12月月;M4=月份月份:此月是此月是2月月;D1=日期日期:1日期日期27;D2=日期日期:日期日期=28;D3=日期日期:日期日期=29D4=日期日期:日期日期=30;D5=日期日期:日期日期=31;Y1=年年:年是闰年年是闰年;Y2=年年:年不是闰年年不是闰年。基于决策表的测试基于决策表的测试1-3456-910C1:月份在C2:日期在C3:年在M1D1-D3-M1D4-M1D5-M2D1-D4-M2D5-A1:不可能A2:日期增1A3:日期复位A4:月份增1A5:月份复位A6:年增1XXXXXXXM1=月份月份:每月有每月有30天天;M2=月份月份:每月有每月有31天,天,12月除外月除外;M3=月份月份:此月是此月是12月月;M4=月份月份:此月是此月是2月月;D1=日期日期:1日期日期27;D2=日期日期:日期日期=28;D3=日期日期:日期日期=29D4=日期日期:日期日期=30;D5=日期日期:日期日期=31;Y1=年年:年是闰年年是闰年;Y2=年年:年不是闰年年不是闰年。基于决策表的测试基于决策表的测试11-1415161718192021-22C1:月份在C2:日期在C3:年在M3D1-D4-M3D5-M4D1-M4D2Y1M4D2Y2M4D3Y1M4D3Y2M4D4-D5-A1:不可能A2:日期增1A3:日期复位A4:月份增1A5:月份复位A6:年增1XXXXXXXXXXXXM1=月份月份:每月有每月有30天天;M2=月份月份:每月有每月有31天,天,12月除外月除外;M3=月份月份:此月是此月是12月月;M4=月份月份:此月是此月是2月月;D1=日期日期:1日期日期27;D2=日期日期:日期日期=28;D3=日期日期:日期日期=29D4=日期日期:日期日期=30;D5=日期日期:日期日期=31;Y1=年年:年是闰年年是闰年;Y2=年年:年不是闰年年不是闰年。基于决策表的测试的小结基于决策表的测试的小结 决策表技术适用于具有以下特征的应用程序:决策表技术适用于具有以下特征的应用程序:If-then-else逻辑很突出逻辑很突出条件和规则的顺序不影响执行哪些操作。条件和规则的顺序不影响执行哪些操作。输入变量之间存在逻辑关系。输入变量之间存在逻辑关系。涉及输入变量子集的计算。涉及输入变量子集的计算。输入与输出之间存在因果关系。输入与输出之间存在因果关系。很高的圈复杂度。很高的圈复杂度。迭代会有所帮助,第一次不见得会成功。迭代会有所帮助,第一次不见得会成功。内容提要内容提要黑盒测试的概念黑盒测试的概念等价类划分法等价类划分法 边界条件法边界条件法 决策表法决策表法 因果图法因果图法 正交表测试法正交表测试法 黑盒测试的其他方法黑盒测试的其他方法 因果图因果图 因果图是从用自然语言书写的程序规格说明的描述中因果图是从用自然语言书写的程序规格说明的描述中找到因(输入条件)和果(输出或程序状态的改变),通找到因(输入条件)和果(输出或程序状态的改变),通过因果图转化为判别表。过因果图转化为判别表。因果图的基本逻辑符号因果图的基本逻辑符号因果图的约束符号因果图的约束符号互斥:表示不同时为互斥:表示不同时为1,即,即a、b至多只有一个至多只有一个1包含:表示至少有一个包含:表示至少有一个1,即,即a、b、c中不同时为中不同时为0,至少有一个,至少有一个1唯一:表示唯一:表示a、b中有且仅有一个中有且仅有一个1.即即a、b不能同时为不能同时为1。要求:若要求:若a=1,则,则b必为必为1.屏蔽:若屏蔽:若a=1,则,则b必为必为0.因果图产生测试用例的步骤因果图产生测试用例的步骤依据规格,把程序划分成可以工作的片断;依据规格,把程序划分成可以工作的片断;确定规格中的原因和结果;确定规格中的原因和结果;分析规格以确定原因和结果之间的逻辑关系,并且使用因分析规格以确定原因和结果之间的逻辑关系,并且使用因果图表示出来;果图表示出来;确定句法或环境的约束,这些约束使得某些组合不能产生;确定句法或环境的约束,这些约束使得某些组合不能产生;把因果图转化成有限入口决策表;把因果图转化成有限入口决策表;从决策表的每一列选取一个测试用例。从决策表的每一列选取一个测试用例。因果图案例因果图案例 第一列字符必须或,第二列字符必须是数字,第一列字符必须或,第二列字符必须是数字,在此情况下文件被更新。但如果第一个字符不正确,那在此情况下文件被更新。但如果第一个字符不正确,那么信息被产生;如果第二个字符不是数字,则信么信息被产生;如果第二个字符不是数字,则信息产生。息产生。案例分析案例分析原因:原因:第一个字符是第一个字符是“”第一个字符是第一个字符是“”第二个字符是一个数字第二个字符是一个数字结果:结果:进行更新进行更新产生信息产生信息产生信息产生信息简单的因果图简单的因果图带有约束的因果图带有约束的因果图决策表决策表练习练习 有一个处理单价为有一个处理单价为1元元5角钱的盒装饮料的自动售货角钱的盒装饮料的自动售货机软件。若投入机软件。若投入1元元5角硬币,按下角硬币,按下“可乐可乐”、“雪碧雪碧”和和“红茶红茶”按钮,相应的饮料就送出来。若投入的是两按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还角硬币。元硬币,在送出饮料的同时退还角硬币。练习:做出因果图,编制出决策表练习:做出因果图,编制出决策表练习练习因果图因果图练习练习决策表决策表已投币,没按按钮,钱不会退因果图因果图小结小结 根据需求规格说明书,分析因果关系;根据需求规格说明书,分析因果关系;有助于用一个系统的方法选择出高效的测试用例有助于用一个系统的方法选择出高效的测试用例集;集;额外的好处,就是可以指出规格说明的不完整性额外的好处,就是可以指出规格说明的不完整性和不明确之处。和不明确之处。因果图是一种形式语言,实际上是一种数字逻辑因果图是一种形式语言,实际上是一种数字逻辑电路,但没有使用标准的电子学符号,而是使用了稍电路,但没有使用标准的电子学符号,而是使用了稍微简单点的符号。微简单点的符号。正交测试法正交测试法 正交测试源于正交试验设计方法,是从大量的数正交测试源于正交试验设计方法,是从大量的数据中挑选适量的、有代表性的点,从而合理地安排测据中挑选适量的、有代表性的点,从而合理地安排测试的一种科学的试验设计方法。试的一种科学的试验设计方法。正交测试法就是使用已经造好了的正交表格来安正交测试法就是使用已经造好了的正交表格来安排试验并进行数据分析的一种方法。排试验并进行数据分析的一种方法。它简单易行并且计算表格化,应用性较好。它简单易行并且计算表格化,应用性较好。正交表正交表 一般用代表正交表,常用的有一般用代表正交表,常用的有()、)、()、)、()、等。)、等。例如:例如:()、其中,为此表列的数目)、其中,为此表列的数目(最多可安排的因子数);(最多可安排的因子数);2为因子的水平数;为因子的水平数;8为此为此表的数目(试验次数)。表的数目(试验次数)。正交测试用例设计步骤正交测试用例设计步骤 (1)确定交互测试中有多少个相互独立的变量,这映射到表中的因)确定交互测试中有多少个相互独立的变量,这映射到表中的因素数(素数(Factors)。)。(2)确定每个变量可以取值的个数的最大数,这映射到表中的水平)确定每个变量可以取值的个数的最大数,这映射到表中的水平数(数(Levels)。)。(3)选择一个次数()选择一个次数(Run)数最少的最适合的正交表。一个最合适)数最少的最适合的正交表。一个最合适的正交表是至少满足第一步说明的因素数和第二步说明的水平数。的正交表是至少满足第一步说明的因素数和第二步说明的水平数。(4)把因素和值映射到表中。)把因素和值映射到表中。(5)为剩下的水平数选取值。)为剩下的水平数选取值。(6)把次数中所描述的组合转化成测试用例,再增加一些没有生成)把次数中所描述的组合转化成测试用例,再增加一些没有生成的但可疑的测试用例。的但可疑的测试用例。练习一练习一 假设一个网页有假设一个网页有3个不同的部分(个不同的部分(Top、Middle、Bottom),并且可以把其中的一个单独部分显示及隐藏。),并且可以把其中的一个单独部分显示及隐藏。要测试这三个不同部分的交互。按照前面给出的正交表要测试这三个不同部分的交互。按照前面给出的正交表测试用例设计步骤,设计该系统的正交表测试用例。测试用例设计步骤,设计该系统的正交表测试用例。用例设计步骤用例设计步骤(1)确定有)确定有3个独立的变量(网页的个独立的变量(网页的3个部分)。个部分)。(2)每个变量能够取两个值()每个变量能够取两个值(Hidden或或Visible)。)。(3)选择正交表)选择正交表变量为三因素,值为二水平。变量为三因素,值为二水平。(4)把变量的值映射到表中,其中)把变量的值映射到表中,其中Hidden=0,Visible=1。正交用例表正交用例表因素因素 1因素因素 2因素因素 3次数次数 1000次数次数 2011次数次数 3101次数次数 4110因素映射之后因素映射之后 Top middleBottom 用例用例 1Hidden HiddenHidden用例用例 2HiddenVisible Visible 用例用例 3Visible HiddenVisible 用例用例 4Visible Visible Hidden用例设计步骤用例设计步骤 (5)此种情况没有剩余的水平数,也就是说,表中的)此种情况没有剩余的水平数,也就是说,表中的每一个水平都有一个值被映射过来。每一个水平都有一个值被映射过来。(6)把表中每一行转换成测试用例,可以得到)把表中每一行转换成测试用例,可以得到4个测个测试用例。这是测试试用例。这是测试3个变量成对交互时需要测试的内容。个变量成对交互时需要测试的内容。测试用例描述测试用例描述A A隐藏这隐藏这3 3部分。部分。B B显示除显示除TopTop部分外的其它部分。部分外的其它部分。C C显示除显示除MiddleMiddle部分外的其它部分。部分外的其它部分。D D显示除显示除BottomBottom部分外的其它部分。部分外的其它部分。练习二练习二WebWeb浏览器(浏览器(Netscape 6.2Netscape 6.2、IE6.0IE6.0、Opera 4.0)Opera 4.0)插件(插件(RealPlayerRealPlayer、MediaPlayer)MediaPlayer)应用服务器(应用服务器(IISIIS、ApacheApache、Netscape Enterprise)Netscape Enterprise)操作系统(操作系统(Windows2000Windows2000、Windows NTWindows NT、Linux)Linux)练习练习结果结果012341NetscapeNetscape无无IISIISW200020002NetscapeNetscapeRealPlayerRealPlayerApacheApache W NTW NT3NetscapeNetscapeMediaPlayerMediaPlayerEnterpriseEnterprise Linux)Linux)4IEIE无无 ApacheApache Linux)Linux)5IEIERealPlayerRealPlayer EnterpriseEnterpriseW200020006IEIEMediaPlayerMediaPlayerIISIISW NTW NT7OperaOpera无无 EnterpriseEnterpriseW NTW NT8OperaOperaRealPlayerRealPlayerIISIIS Linux)Linux)9OperaOperaMediaPlayerMediaPlayer ApacheApachew20002000正交测试法小结正交测试法小结节约测试工作工时;节约测试工作工时;可控制生成的测试用例的数量;可控制生成的测试用例的数量;测试用例具有一定的覆盖率。测试用例具有一定的覆盖率。黑盒测试的其他方法黑盒测试的其他方法 特殊值测试特殊值测试 特殊值测试就是指定软件中某些特殊值为测试用例而对软件实特殊值测试就是指定软件中某些特殊值为测试用例而对软件实施的测试。施的测试。故障猜测法故障猜测法 根据经验和直觉猜测软件中可能存在的各种故障,从而有针对根据经验和直觉猜测软件中可能存在的各种故障,从而有针对性地编写测试这些故障的测试用例。性地编写测试这些故障的测试用例。随机测试随机测试 对于给定的被测软件系统和软件系统的定义域,按照定义域中对于给定的被测软件系统和软件系统的定义域,按照定义域中样本取值的概率,随机的选择其样本并作为其测试数据的过程称为样本取值的概率,随机的选择其样本并作为其测试数据的过程称为随机测试。随机测试。黑盒测试技术小结黑盒测试技术小结 黑盒测试技术就是根据功能需求来设计测试用例,验证软件是否按照预期要黑盒测试技术就是根据功能需求来设计测试用例,验证软件是否按照预期要求工作。求工作。黑盒测试技术主要有等价类划分法、边界条件法、因果图、决策表、正交试黑盒测试技术主要有等价类划分法、边界条件法、因果图、决策表、正交试验设计法。验设计法。等价类划分法测试技术是依据软件系统输入集合、输出集合或操作集合实现等价类划分法测试技术是依据软件系统输入集合、输出集合或操作集合实现功能的相同性为依据,对其进行的子集划分,并对每个子集产生一个测试用例。功能的相同性为依据,对其进行的子集划分,并对每个子集产生一个测试用例。边界条件分析法是对大量错误发生在边界条件上的测试。边界条件分析法是对大量错误发生在边界条件上的测试。决策表法适用于以下情况:决策表法适用于以下情况:if-then-else逻辑很突出;输入变量之间存在逻辑逻辑很突出;输入变量之间存在逻辑关系;输入变量需要做等价类划分的;输入与输出之间存在因果关系;程序复杂关系;输入变量需要做等价类划分的;输入与输出之间存在因果关系;程序复杂度圈数比较高。度圈数比较高。因果图法提供了一种把需求规格说明书转化为决策表的系统化方法。因果图因果图法提供了一种把需求规格说明书转化为决策表的系统化方法。因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种情况。方法最终生成的就是判定表,它适合于检查程序输入条件的各种情况。正交表测试法也是一种成对测试交互系统的有效方法,它提供能对所有变量正交表测试法也是一种成对测试交互系统的有效方法,它提供能对所有变量对的组合进行典型覆盖(均匀分布)的方法。对的组合进行典型覆盖(均匀分布)的方法。

    注意事项

    本文(黑盒测试用例设计技术.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开