第8讲 黑盒测试2013

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2020年3月28日星期六山东建筑大学计算机科学与技术学院软件工程专业软件测试技术课程主讲人:马晓娜Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业内容回顾上节课的主要内容:白盒测试方法程序插装技术故障插入技术程序变异技术Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业发现错误的能力标准含义1(弱)语句覆盖2判定覆盖3条件覆盖4判定/条件覆盖5条件组合覆盖6路径覆盖白盒测试方法每条语句至少执行一次每一判定的每个分支至少执行一次每一判定中的每个条件,分别按“真”、“假”至少各执行一次同时满足判定覆盖和条件覆盖的要求求出判定中所有条件的各种可能组合值,每一可能的条件组合至少执行一次找到程序的所有独立可执行路径,设计测试用例使每条路径都被执行一次的测试方法。Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业程序插装简单的说,程序插装方法是借助向被测程序中插入操作来实现测试目的的方法。在调试程序时,常常要在程序中插入一些打印语句。其目的在于,希望执行程序时,打印出我们最为关心的信息。通过这些信息进一步了解执行过程中程序的一些动态特性。Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业故障插入故障插入其原理就是为了检查设计的测试用例是否能发现某类型的故障,人为地在被测系统中引入该类型的故障,如果在测试过程中能发现这个故障,则应该也可以测试出系统原来就存在的该类故障。Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业程序变异程序变异测试是一种错误驱动测试。该方法是针对某类特定程序错误的,即专门测试某类错误是否存在。程序变异测试的基本原理是,在程序的语句中作某些变更,例如将关系运算符“>”用“<”替换,使得成为一个新的程序,每个新程序称为原来程序的变异体,然后根据已有的测试数据,运行变异体,比较变异体和原程序的运行结果:如果两者不同,也就是变异能被发现,这样就可以认为该测试数据可以发现这类错误。2020年3月28日星期六山东建筑大学计算机科学与技术学院软件工程专业软件测试技术课程第7讲黑盒测试技术Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业黑盒测试黑盒测试是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能需求的测试方法。Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业本节教学目标讲解各种常用的黑盒测试方法。通过实例讲解掌握这些方法的使用,并能举一反三。Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业黑盒测试方法等价类划分法1边界值分析法2判定表驱动法3因果图4错误推测法5正交试验法6场景法7功能图法8Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类划分法讲解使用等价类划分法设计测试用例的步骤。通过实例讲解掌握等价类方法的使用步骤。Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类划分法案例1:计算两个1~100之间的整数的和。要怎么做呢?1+1=2,1+2=3,1+3=4,1+4=5…2+1=3,2+2=4,2+3=5,2+4=6…3+1=4,3+2=5,3+3=6,3+4=7………………….…穷举测试我们要想办法用最少的测试用例达到测试目标?Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类划分的概念设计测试用例等价类划分法:根据需求对输入范围进行细分,把输入分成几个区域,然后在每一区域里选取有代表性的测试用例开展测试的方法。×穷举测试合理分类划分等价类Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类的概念有效等价类:是指符合《需求规格说明书》,合理的输入数据集合。无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据集合。有效等价类﹢无效等价类=等价类等价类是指某个输入域的子集合,各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其它值的测试。Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类的划分(2)有效等价类1~100(1)无效等价类1(3)无效等价类1001100案例1:计算两个1~100之间的整数的和。根据1~100这个条件,可以把输入域分成一个有效等价类(1~100)和两个无效等价类(1,100),并为每一个等价类编号。整数这个条件?考虑1-100Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类的划分案例1:计算两个1~100之间的整数的和。整数这个条件?加数数值非数值整数实数(4)1(1)1~100(2)100(3)字母(5)特殊字符(6)空格(7)空白(8)只考虑输入数据的范围还不行,如果输入小数,字母或其他特殊字符怎么办?看来,我们还要考虑输入数据的类型。我们需要综合考虑输入数据的类型和范围来划分等价类。Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业基于等价类的测试用例设计用例编号等价类加数1加数2和12)1~100(有效)3404321)1(无效)0-1提示:“输入数据在1~100之间”33)100(无效)11010144)实数(无效)1.23.255)字母(无效)AB66)特殊字符(无效)@#77)空格(无效)空格空格88)空白(无效)案例1:计算两个1~100之间的整数的和。Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类划分法的步骤设计一个测试用例,使仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。依据常用方法划分等价类为每一个等价类规定一个唯一的编号设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,直到所有的有效等价类都被覆盖为止。Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类划分法的特点1.完全不考虑程序的内部结构,只依据系统需求分析说明书来设计测试用例,是黑盒测试方法。2.等价类划分的方法是把程序的输入划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类划分的原则1)如果输入条件规定了取值范围,则可以确定一个有效等价类(输入值在此范围内)和两个无效等价类(输入值小于最小值及大于最大值)。例如,规定输入的考试成绩在0..100之间,则有效等价类是“0成绩100”,无效等价类是“成绩0”和“成绩100”。(2)有效等价类0~100(1)无效等价类0(3)无效等价类1001100Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类划分的原则2)如果输入条件规定了值的个数,则可以确定一个有效等价类(输入值的个数等于规定的个数)和两个无效等价类(输入值的个数小于规定的个数和大于规定的个数)。例如,规定输入构成三角形的3条边,则有效等价类是“输入边数=3”,无效等价类是“输入边数3”和“输入边数3”。Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类划分的原则3)如果输入条件规定了输入值的集合,而且程序对不同的输入值做不同的处理,那么每个允许的值都确定为一个有效等价类,另外还有一个无效等价类(任意一个不允许的值)。例如,规定输入的考试成绩为A、B、C、D、E,则可确定5个有效等价类(成绩=A、成绩=B、成绩=C、成绩=D、成绩=E)和一个无效等价类(成绩=A、B、C、D、E之外的值)。Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类划分的原则4)如果输入条件规定了输入值必须遵循的规则,那么可确定一个有效等价类(符合此规则)和若干个无效等价类(从各个不同的角度违反此规则)。例如,在某语言中对变量标识符规定为“以字母开头”。那么有效等价类是“以字母开头”,而无效等价类有“以数字开头”、“以标点符号开头”,“以下划线开头”,…等。Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类划分的原则5)如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类。例如:程序输入条件为BOOLx=true,则有效等价类为x=true,无效等价类为x=false。6)如果某一个等价类中的各元素在程序处理中有区别,那么就需要把此等价类划分为更小的等价类。例如:程序规定对实数做取整操作,取整后如果能被3整除,则做相应处理。那么,我们对实数这个等价类就需要再细分为更小的等价类。Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类划分案例1——针对一个字段QQ账号需求:6-10位自然数有效等价类:1)长度在6-10位之间2)类型是0-9的自然数无效等价类:3)长度小于6位4)长度大于10位5)负数6)小数7)英文字母8)特殊字符9)空格10)中文Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类划分案例1——针对一个字段输入条件有效等价类无效等价类QQ账号1)长度在6-10位之间3)长度小于6位4)长度大于10位2)类型是0-9的自然数5)负数6)小数7)英文字母8)特殊字符9)空格10)中文Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类划分案例1——针对一个字段下面,我们根据划分的等价类设计测试用例,设计原则是:1.一个测试用例尽可能包括多个有效的等价类。2.一个测试用例只能包括唯一一个无效的测试用例。Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类划分案例1——针对一个字段用例编号覆盖等价类输入数据预期的输出11)长度在6-10位之间2)类型是0-9的自然数674611279正确23)长度小于6位12345提示相应的错误34)长度大于10位1234567891045)负数-12345656)小数1.23456767)英文字母123456f78)特殊字符123456%89)空格910)中文马晓娜123Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类划分法的步骤设计一个测试用例,使仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。依据常用方法划分等价类为每一个等价类规定一个唯一的编号设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,直到所有的有效等价类都被覆盖为止。Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类划分案例2——针对一个页面用户注册页面需求:•用户名:非空,6-10位字母或数字。•密码:非空,必须是6位的字母或数字。•确认密码:非空,值和密码相同•安全手机:非空,必须是11位的数字,并且未注册过。•验证码:非空,值和系统提供的相同。合理范围Testing2020年3月28日2时0分山东建筑大学计算机科学与技术学院软件工程专业等价类划分案例2——针对一个页面输入条件有效等价类无效等价类用户名1)非空5)空格2)6-10位6)67)103)字母8)特殊字符4)数字密码9)非空13)

1 / 110
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功