浪潮软件评测实验室2020/1/13Inspurgroup测试基础----测试设计技术的种类浪潮软件评测实验室版本:1.02浪潮软件评测实验室2020/1/13Inspurgroup测试设计技术2基于经验的测试技术3选择合适的测试技术41基于规格说明的测试技术测试设计技术和种类3浪潮软件评测实验室2020/1/13Inspurgroup什么是黑盒测试设计技术?基于系统功能或非功能规格说明书来设计或选择测试用例的技术,不涉及软件内部结构。4浪潮软件评测实验室2020/1/13Inspurgroup黑盒测试设计技术等价类划分技术边界值分析决策表测试正交试验法状态转换测试场景测试5浪潮软件评测实验室2020/1/13Inspurgroup等价类划分技术—定义等价类划分技术(equivalencepartitioning):一种黑盒测试用例设计技术,该技术从组件的等价类中选取典型的点进行测试。原则上每个等价类中至少要选取一个典型的点来设计测试用例。6浪潮软件评测实验室2020/1/13Inspurgroup等价类划分—定义等价类(equivalencepartition):根据规格说明,输入域或输出域的一个子域内的任何值都能使组件或系统产生相同的行为。7浪潮软件评测实验室2020/1/13Inspurgroup等价类划分技术--例子有效等价类:0-10无效等价类:不在0-10范围内的输入需求:试卷共10题,根据答对题数对试卷成绩进行评定:答对6题及以上,判为及格,反之为不及格,全部答对,判为优秀。在规定输入范围内不在规定输入范围内8浪潮软件评测实验室2020/1/13Inspurgroup等价类划分技术--例子等价类等价类细分用例输入有效等价类【0-5】5【6-9】91010无效等价类负数-1小数1.11011非数字A9浪潮软件评测实验室2020/1/13Inspurgroup等价类划分技术--例子用例输入预期结果5不及格9及格10优秀-1非法输入1.1非法输入11非法输入A非法输入10浪潮软件评测实验室2020/1/13Inspurgroup确定等价类的原则在输入条件规定了取值范围的情况下,可以确定一个有效等价类和两个无效等价类。在输入条件规定了输入值的集合或规定了“必须如何”的条件的情况下,可以确定一个有效等价类和一个无效等价类。在输入条件是布尔值的情况下,可以确定一个有效等价类和一个无效等价类。在规定了输入数据是一组值(假定n个),并且程序要对每个输入值分别处理的情况下,可以确立n个有效等价类和一个无效等价类。在规定了输入数据必须遵守的规则的情况下,可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同的角度违反规则)。在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类。11浪潮软件评测实验室2020/1/13Inspurgroup有效等价类(浮点类型)无效等级类(非浮点型)有效等价类(浮点类型)等价类划分实例需求说明:在上图的系统模块中,出库数量输入为浮点数,对出库数量进行四舍五入处理,保留4位小数。出库数量?用等价类划分设计测试用例。12浪潮软件评测实验室等价类—实例2020/1/13Inspurgroup等价类等价类细分用例输入有效等价类浮点数1.2222四舍五入1.2226无效等价类非浮点数1小数但精度不到4位或多于4位1.113负数-1非数字A不输入特殊字符{}/\!%,空格出库数量库存10000零库存1013浪潮软件评测实验室2020/1/13Inspurgroup等价类划分--设计测试用例根据已列出的等价类表,按以下步骤确定测试用例:1、为每个等价类规定一个唯一的编号2、设计一个新的测试用例,使其覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖3、设计一个新的测试用例,使其覆盖尚未覆盖的无效等价类。重复这一步使所有无效等价类均被覆盖。14浪潮软件评测实验室2020/1/13Inspurgroup小结是一种将输入或输出进行等价划分的黑盒测试技术,应用等价类划分技术,能够实现输入覆盖和输出覆盖。该技术适用于人为的输入,接口参数,可以在系统测试,集成测试和组件测试中使用。穷尽测试是不可能的,从每个等级类选取代表数据设计测试用例,对被测对象而言产生的行为是相同的。该技术降低产生的不必要的测试用例,并使规定的条件和约束不被忽略。15浪潮软件评测实验室2020/1/13Inspurgroup黑盒测试设计技术等价类划分技术边界值分析决策表测试正交试验法状态转换测试场景测试16浪潮软件评测实验室2020/1/13Inspurgroup边界值分析—定义边界值分析(boundaryvalueanalysis):基于边界值设计测试用例的黑盒测试用例设计技术。17浪潮软件评测实验室2020/1/13Inspurgroup边界值—定义边界值(boundaryvalue):等价类边界上或者紧贴边界的输入或输出数据。如某范围内的最小值和最大值。18浪潮软件评测实验室2020/1/13Inspurgroup边界值法19浪潮软件评测实验室2020/1/13Inspurgroup边界值法首先来了解一下边界点的定义,边界点分为上点、内点和离点。上点,就是边界上的点,不管它是开区间还是闭区间,就是说,如果该点是封闭的,那上点就在域范围内,如果该点是开放的,那上点就在域范围外;内点,就是在域范围内的任意一个点;离点,就是离上点最近的一个点,如果边界是封闭的,那离点就是域范围外离上点最近的点,如果边界是开放的,那离点就是域范围内离上点最近的点。20浪潮软件评测实验室2020/1/13Inspurgroup边界值法闭区间半开半闭区间开区间离点离点离点离点离点离点上点上点上点上点上点上点内点内点内点21浪潮软件评测实验室2020/1/13Inspurgroup边界值法--实例1实例1,闭区间边界值测试,需求是当输入数据是2-6(含2和6)之间的整数时,输出1,否则输出0。闭区间1726422浪潮软件评测实验室2020/1/13Inspurgroup边界值法--实例2实例2,开区间边界值测试,需求是当输入数据是2-6(不含2和6)之间的整数时,输出1,否则输入0开区间3526423浪潮软件评测实验室2020/1/13Inspurgroup边界值法--应用场景输入条件规定了取值范围,运用上面的边界值法选取测试数据。输入条件规定了值的个数,则取最大个数,最小个数,比最小个数少1,比最大个数多1的数。如果程序规格说明书中提到的输入是一个有序的集合,选取集合第一个元素和集合最后一个元素。如果程序中使用了一个内部数据结构,应取内部结构边界上的值。24浪潮软件评测实验室2020/1/13Inspurgroup小结是一种将容易出错的输入的边界值作为测试重点的测试方法,发现缺陷的能力较高覆盖有效边界值和无效边界值。是等价类方法的有效补充使用简单、直观详细的规格说明对边界值分析很有帮助适用于人为的输入、通过系统接口的输入以及集成测试中的接口参数。25浪潮软件评测实验室2020/1/13Inspurgroup黑盒测试设计技术等价类划分技术边界值分析决策表测试正交试验法状态转换测试用例测试26浪潮软件评测实验室2020/1/13Inspurgroup决策表测试—定义决策表测试(decisiontabletesting):一种黑盒测试设计技术,设计的测试用例用来测试决策表中各种条件的组合。27浪潮软件评测实验室2020/1/13Inspurgroup决策表—定义决策表(decisiontable):一个可用来设计测试用例的表格,一般有条件桩、动作桩和条件项和动作项组成。.28浪潮软件评测实验室2020/1/13Inspurgroup决策表的组成条件桩条件桩1条件项条件项条件项条件项条件桩2条件项条件项条件项条件项动作桩动作桩1动作项动作项动作项动作项动作桩2动作项动作项动作项动作项问题的所有条件问题可能采取的操作用以标记符合哪些条件规则,用boolean值表示用以标记是否做出该项动作规则29浪潮软件评测实验室2020/1/13Inspurgroup建立决策表的步骤(1)从需求中找出条件和相应的操作(动作)。(2)确定规则的个数。假如有N个条件,每个条件有两个取值(真,假),则有2ⁿ种规则。(3)列出所有的条件桩和动作桩。(4)填入条件项。(5)输入动作项。30浪潮软件评测实验室决策表—示例2020/1/13Inspurgroup•某在线交易网站,所有访问者都可以浏览已发布的商品信息,但只有登录用户可以订购商品,只有具备商家资格的登录用户才可以发布商品。C1:登录用户YYNNC2:具备商家资格YNYNA1:浏览商品A2:订购商品A3:发布商品31浪潮软件评测实验室2020/1/13Inspurgroup决策表—示例某在线交易网站,所有访问者都可以浏览已发布的商品信息,但只有登录用户可以订购商品,只有具备商家资格的登录用户才可以发布商品。C1:登录用户YYNC2:具备商家资格YN/A1:浏览商品√√√A2:订购商品√√A3:发布商品√32浪潮软件评测实验室2020/1/13Inspurgroup决策表—示例C1:登录用户YYNC2:具备商家资格YN/A1:浏览商品√√√A2:订购商品√√A3:发布商品√不适用的项:有的条件规则之间存在相斥性,在满足某些条件时,另一些条件就无法满足或者失去意义,对于这种情况,可以对测试用例进行适当的简化。33浪潮软件评测实验室2020/1/13Inspurgroup适合使用决策表的条件该技术针对复杂的逻辑关系和多种条件组合的情况覆盖项为各种组合条件以及在组合条件下所产生的行为。条件的排列顺序不影响执行哪些操作规则的排列顺序不影响执行哪些操作理想的用来描述在不同条件下不同动作的技术适用于软件的行为由一些逻辑决策所决定的情况,或者很容易转换成判定表34浪潮软件评测实验室2020/1/13Inspurgroup小结该技术针对复杂的逻辑关系和多种条件组合的情况覆盖项为各种组合条件以及在组合条件下所产生的行为。理想的用来描述在不同条件下不同动作的技术适用于软件的行为由一些逻辑决策所决定的情况35浪潮软件评测实验室2020/1/13Inspurgroup黑盒测试设计技术等价类划分技术边界值分析决策表测试正交试验法状态转换测试用例测试36浪潮软件评测实验室正交实验法-例子发版测试中对操作系统、数据库、客户端、IE的兼容性测试2020/1/13Inspurgroup37浪潮软件评测实验室正交实验法-定义正交实验法就是利用排列整齐的表-正交表来对试验进行整体设计、综合比较、统计分析,实现通过少数的实验次数找到较好的生产条件,以达到最高生产工艺效果2020/1/13Inspurgroup38浪潮软件评测实验室正交表结构正交表:是一整套规则的设计表格表示方式Ln(tc),其中:L--正交表的代号,n--试验的次数t--水平数c--列数,也就是因素个数。正交表参考:浪潮软件评测实验室正交表介绍例如:L4(23),它表示需作4次实验,3个因素,每个因素均为2水平。正交表如下:2020/1/13Inspurgroup因素实验数因素1因素2因素3111121223212422140浪潮软件评测实验室正交表特点均衡分散性每个字码出现的机会是完全相等的。整齐可比性任意两列间横向组合的数字对搭配是均衡的。通俗的说,每个因素的每个水平与另一个因素各水平各碰一次,这就是正交性。2020/1/13Inspurgroup41浪潮软件评测实验室正交试验法-示例需求:发版测试中对操作系统、数据库、客户端、IE的兼容性测试2020/1/13Inspurgroup应用服务器win2003win2008win2012数据库oracle