版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章实现第7章软件实现7.1编码7.2软件测试基础7.3单元测试7.4集成测试7.5确认测试7.6白盒测试技术7.7黑盒测试技术7.8调试7.9软件可靠性二、控制结构测试——1.基本路径
7.6白盒测试技术问题:实际问题中的程序路径是庞大的,因此要将覆盖的路径压缩到一定限度才能解决这个问题。思想:在程序控制流图的基础上,通过分析控制构造的环形复杂性,导出基本路径集合,从而设计测试用例、保证这些路径至少通过一次。二、控制结构测试——1.基本路径
7.6白盒测试技术特点:基本路径测试介于分支覆盖和路径覆盖之间,确保程序中的所有基本路径都被执行过一次。步骤:1.画流图
2.计算环形复杂度
3.确定独立路径
4.设计覆盖独立路径的测试用例
至少包含一条在定义该路径之前不曾用过的边。7.6白盒测试技术1.画流图:流图不对程序的过程性细节进行刻画;流图仅仅刻画了程序的控制结构。1112378645910程序流程图流图2,3104,511167897.6白盒测试技术2.计算环形复杂度:3.确定独立路径集合:例如:4.针对每条基本路径设计测试用例,强迫每条基本路径都被执行一次。P156例11-9+2=44)1-2,3-6-8-9-10-1-111)1-112)1-2,3-6-7-9-10-1-113)1-2,3-4,5-10-1-112,3104,51116789原理:独立路径数目=环形复杂度定义:流图中的一条路径是指从程序的入口开始到出口的路径,一条路径反映了程序的一个可能的执行序列,可由节点序列来表示。二、控制结构测试——2.条件测试
7.6白盒测试技术简单条件:一个布尔变量或一个关系表达式(允许含有NOT符号)关系表达式:E1<关系算符>E2条件成分:(每个成分都可能会出错)布尔算符:AND(&&)、OR(||)、NOT(!)布尔变量布尔括号:用于括住简单条件或复合条件关系算符:<、>、<=、>=、==、!=算术表达式二、控制结构测试-2.条件测试P159
7.6白盒测试技术BRO(BranchandRelationalOperator)条件测试:适用情况:条件中所有布尔变量和关系算符都只出现一次且没有公共变量。
=>BRO测试一定能发现条件中的分支错和关系算符错二、控制结构测试-2.条件测试P159
7.6白盒测试技术复合条件的分支错:整个复合条件的真分支和假分支,以及每个简单子条件都应至少执行一次E1<关系算符>E2中的关系算符错:需要3个测试:分别使E1的值大于、等于、或小于E2的值。为了发现E1和E2中的错误:要使得E1大于或小于E2时,E1和E2的值之间的差别尽量小。二、控制结构测试-2.条件测试P159
7.6白盒测试技术BRO(BranchandRelationalOperator)条件测试:C1:B1&&B2:下行表达式中(t,f)表示左边B1值为true,右边B2值为false测试约束集为:{(t,t),(f,t),(t,f)}此三个选项为固定C2:B1&&(E3=E4)测试约束集为:{(t,=),(f,=),(t,>),(t,<)}C3:(E1>E2)&&(E3=E4)测试约束集为:{(>,=),(<,=),(=,=),(>,>),(>,<)}二、控制结构测试——3.循环测试
7.6白盒测试技术简单循环测试:(最大循环次数为n)0次(跳过循环)、
1次、
2次、
m次(m<n-1)、
n-1次、
n次、
n+1次Do-While型循环Do-Until型循环二、控制结构测试——3.循环测试
7.6白盒测试技术嵌套循环:由内而外,逐层测试1.除最内层以外的外层循环置最小2.用简单循环测试方案测试最内层,并增加越界、非法值测试3.由内而外测试,未测试的外层循环取最小值,已测试的内层循环取“典型”值4.重复3,直到测试完所有循环。典型值最小值当前测试层二、控制结构测试——3.循环测试
7.6白盒测试技术串接循环:独立:两个循环计数器的值不相关。测试方法:简单循环测试方案非独立:第二个循环计数器的值与第一个循环计数器的值有关。测试方法:嵌套循环测试方案
黑盒测试技术
7.7黑盒测试技术目的:功能性测试,与白盒测试互补。
可发现的错误类型:①功能不正确或遗漏了功能;②界面错误;③数据结构错误或外部数据库访问错误;④性能错误;⑤初始化和终止错误。黑盒测试技术
7.7黑盒测试技术测试方法:等价类划分边界值分析错误推测这几种方法都不能提供一组完整的测试用例,在实际测试中应把各种方法结合起来使用。一、等价类划分
7.7黑盒测试技术目标:测试用例集避免冗余减少遗漏完备性依据:“集合的划分”子集互不相交:无冗余子集的并为全集:提供了一种形式的完备性
一、等价类划分
7.7黑盒测试技术步骤:1.划分等价类。(关键)把程序的输入空间划分为若干个等价类有效等价类:是指对规格说明来说,合理的,有意义的输入数据所构成的集合;检验程序是否实现了预期的功能。无效等价类:是规格说明来说,不合理的,无意义的输入数据所构成的集合;检验程序对于无效数据的处理-意外处理能力一、等价类划分
7.7黑盒测试技术步骤:2.选取测试用例。从等价类中取若干元素来代表整个等价类假设:同一等价类中的每个元素揭露程序错误的能力相同。覆盖所有的等价类一、等价类划分
7.7黑盒测试技术划分等价类的启发式规则:P172一、如果输入条件规定了取值范围,或者值的个数,则可以确定一个有效等价类和两个无效等价类;例如,在需求规格说明中,对输入条件有一句话“…项数可以从1到999…”,则:一个有效等价类:1≤
序号值≤999
两个无效等价类:序号值<1
序号值>999
一、等价类划分
7.7黑盒测试技术划分等价类的启发式规则:P172又如:输入“百分制的学生成绩”?(0100
有效等价类1≤成绩≤100无效等价类
成绩>100
无效等价类
成绩<0一、等价类划分
7.7黑盒测试技术划分等价类的启发式规则:二、如果输入条件规定了取值的集合,或者是规定了“必须…”的条件,这时可以确立一个有效等价类和一个无效等价类;例如:在C语言中对变量标识符规定为“以字母打头的
……串”。 所有以字母打头的构成为有效等价类; 而不在此集合内(不以字母打头)归于无效等价类。一、等价类划分
7.7黑盒测试技术划分等价类的启发式规则:三、如果输入是一个布尔量,则可以确立两个有效等价类和一个无效等价类例如:婚否一、等价类划分
7.7黑盒测试技术四、如果输入数据规定了一组值,而且程序要对每一个输入值分别进行处理,这时要对每一个规定的输入值确立一个等价类,而对于这组值之外的所有值确立一个等价类;例如:在教师工作量计算中,规定对教授、副教授、讲师和助教分别计算分数,做相应的处理。4个有效等价类:教授、副教授、讲师和助教;
1个无效等价类:所有不符合以上身分的人员的输入值的集合。P163一、等价类划分
7.7黑盒测试技术五、如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。例如,C语言规定“一个语句必须以分号‘;’结束”。可以确定:
一个有效等价类:“以‘;’结束”
若干个无效等价类“以‘:’结束”、“以‘,’结束”、“以‘、’结束”等。一、等价类划分
7.7黑盒测试技术六、如果确知以划分的等价类中的各元素在程序中的处理方式不同,则应进一步划分成更小的等价类P163一、等价类划分
7.7黑盒测试技术采用这一技术要注意以下两点:
1、划分等价类不仅要要考虑代表“有效”输入值的有效等价类,还需考虑代表“无效”输入值的无效等价类。
2、每一无效等价类至少要用一个测试用例,不然就可能漏掉某一类错误,但允许若干有效等价类合用同一个测试用例,以便进一步减少测试的次数。一、等价类划分的步骤7.7黑盒测试技术划分等价类,建立等价类表:一、等价类划分的步骤7.7黑盒测试技术2.生成测试用例:(1)为每一个等价类规定一个唯一的编号;(2)设计一个新的测试用例,使其覆盖尽可能多的尚未覆盖的有效等价类;重复这一步骤,直到所有的有效等价类均被覆盖;(3)设计一个新的测试用例,使其只覆盖一个无效等价类,重复这一步骤,直到所有的无效等价类均被覆盖。一、等价类划分
7.7黑盒测试技术例:P163一个把数字串转变成整数的函数。functionstrtoint(dstr:shortstr):integer;用Pascal语言编写参数类型:typeshortstr=array[1..6]ofchar;被处理的数字串是右对齐的,也就是说,如果数字串比6个字符短,则在它的左边补空格。如果数字串是负的,则负号和最高位数字紧相邻(负号在最高位数字左边一位)。运行程序的计算机字长16位,用二进制补码表示整数。
考虑到Pascal编译程序固有的检错功能,测试时实参不需用:长度不等于6的数组;非字符数组类型一、等价类划分
7.7黑盒测试技术
等价类划分如下:输入的有效等价类
(1)1~6个数字字符组成的数字串(最高位数字非零);(2)最高位数字是零的数字串;(3)最高位数字左邻是负号的数字串;一、等价类划分
7.7黑盒测试技术
等价类划分如下:输入的无效等价类(4)空字符串(全是空格);(5)左部填充的字符既不是零也不是空格;(6)最高位数字右面由数字和空格混合组成;(7)最高位数字右面由数字和其他字符混合组成;(8)负号与最高位数字之间有空格;一、等价类划分
7.7黑盒测试技术输出的有效等价类(9)在计算机能表示的最小负整数和零之间的负整数;(10)零;(11)在零和计算机能表示的最大正整数之间的正整数;一、等价类划分
7.7黑盒测试技术输出的无效等价类(12)比计算机能表示的最小负整数还小的负整数;(13)比计算机能表示的最大正整数还大的正整数(因为所用的计算机字长16位,用二进制补码表示整数,所以能表示的最小负整数是-32768,最大正整数是32767。)一、等价类划分
7.7黑盒测试技术下面根据等价划分,设计出一套测试方案:①1~6个数字字符组成的数字串,最高位非0;输出为合法正整数。输入:预期输出:1②最高位为0的数字串,输出为合法正整数。输入:预期输出:11000001一、等价类划分
7.7黑盒测试技术③负号与最高位数字相临;输出合法负整数。输入:预期输出:-1-00001④最高位为0;输出0。输入:预期输出:0000000一、等价类划分
7.7黑盒测试技术⑤太小的负整数。输入:预期输出:“错误,无效输入”-32769⑥太大的正整数。输入:预期输出:“错误,无效输入”
32768一、等价类划分
7.7黑盒测试技术⑦空字符串。输入:预期输出:“错误:没有数字”
⑧左边补位的非0也非空格。输入:预期输出:“错误:非法填充”aaaaa1一、等价类划分
7.7黑盒测试技术⑨最高位右边也含空格。输入:预期输出:“错误:无效输入”
1
2⑩最高位右边含其它非数字字符。输入:预期输出:“错误:无效输入”001xx2负号与最高位间有空格。输入:预期输出:“错误:负号位置非法”11
-
12一、等价类划分
7.7黑盒测试技术用等价类划分法设计测试用例的实例
在某一PASCAL语言版本中规定:“标识符是由字母开头,后跟字母或数字的任意组合构成。有效字符数为8个,最大字符数为80个。”并且规定:“标识符必须先说明,再使用。”“在同一说明语句中,标识符至少必须有一个。”
一、等价类划分
7.7黑盒测试技术一、等价类划分
7.7黑盒测试技术输入条件有效等价类无效等价类标识符个数1个(1),多个(2)0个(3)标识符字符数1~8个(4)0个(5),>8个(6),>80个(7)标识符组成字母(8),数字(9)非字母数字字符(10),保留字(11)第一个字符字母(12)非字母(13)
标识符使用先说明后使用(14)未说明已使用(15)
①VARx,T1234567:REAL;
BEGINx:=3.414;T1234567:=2.732;……⑴⑵⑷
⑻
⑼⑿⒁一、等价类划分
7.7黑盒测试技术②VAR:REAL;⑶③VART12345678:REAL;{⑹}⑹④VART$:CHAR;
⑽⑤
VARGOTO:INTEGER;(11)输入条件有效等价类无效等价类标识符个数1个(1),多个(2)0个(3)标识符字符数1~8个(4)0个(5),>8个(6),>80个(7)标识符组成字母(8),数字(9)非字母数字字符(10),保留字(11)第一个字符字母(12)非字母(13)
标识符使用先说明后使用(14)未说明已使用(15)
一、等价类划分
7.7黑盒测试技术⑥
VAR2T:REAL;(13)⑦
VARPAR:REAL;BEGIN……PAP:=SIN(3.14*0.8)/6;
(15)输入条件有效等价类无效等价类标识符个数1个(1),多个(2)0个(3)标识符字符数1~8个(4)0个(5),>8个(6),>80个(7)标识符组成字母(8),数字(9)非字母数字字符(10),保留字(11)第一个字符字母(12)非字母(13)
标识符使用先说明后使用(14)未说明已使用(15)
一、等价类划分
7.7黑盒测试技术某工厂公开招工,规定报名者年龄应在16~35
周岁之间(到1995年6月30日为止),即出生年月不早于1960年7月,不晚于1979年6月。报名程序具有自动检验输入数据的功能。如出生年月不在上述范围内,将拒绝接受,并显示“年龄不合格”等出错信息。请试用等价分类法,设计出生年月的等价分类表。练习:请利用等价分类法为以下提供的内容设计测试用例一、等价类划分
7.7黑盒测试技术假定已知出生年月是由6位数字字符表示,前4位代表年,后2位代表月,则可以划分为3个有效等价类和7个无效等价类。1、划分出生年月等价分类表输入数据有效等价类无效等价类出生年月①6位有效数字字符②有非数字字符③少于6个数字字符④多于6个数字字符对应数值⑤196007-197906
⑥<196007⑦>197906月份对应数值⑧在1-12之间⑨等于“0”⑩>12一、等价类划分
7.7黑盒测试技术2、设计有效等价类需要的测试用例测试数据期望结果测试范围
197011输入有效①、⑤、⑧输入数据有效等价类无效等价类出生年月①6位有效数字字符②有非数字字符③少于6个数字字符④多于6个数字字符对应数值⑤196007-197906
⑥<196007⑦>197906月份对应数值⑧在1-12之间⑨等于“0”⑩>12一、等价类划分
7.7黑盒测试技术测试数据期望结果测试范围
MAY,70输入无效②有非数字字符19705输入无效输入无效③
少于6个数字字符1968011195508198012196200197222年龄不合格年龄不合格输入无效输入无效④
多于6个数字字符⑥<196007⑦>197906⑨等于“0”⑩>123、为每一个无效等价类至少设计一个测试用例输入数据有效等价类无效等价类出生年月①6位有效数字字符②有非数字字符③
少于6个数字字符④
多于6个数字字符对应数值⑤196007-197906
⑥<196007⑦>197906月份对应数值⑧在1-12之间⑨等于“0”⑩>12二、边界值分析
7.7黑盒测试技术实践表明,处理边界情况时程序最容易发生错误。例如,许多错误出现在下标、常量、数据结构和循环等的边界附近。设计测试用例、强迫程序运行在边界情况附近,则更容易暴露程序错误。
边界值法是对等价类法的一种补充,在选择测试用例时,不是任意选择等价类中的任一元素,而是选择此等价类边界上的值。二、边界值分析
7.7黑盒测试技术通常,输入等价类和输出等价类的边界,应该着重测试。应选取刚好等于、稍小于和稍大于边界值的数据作为测试数据。例:P175二、边界值分析
7.7黑盒测试技术举例:三角形分类程序:输入的三个正整数表示三角形的三个边,并且其中任意两数之和大于第三个数。如果使用等价划分,至少可以找出两个等价类,即一个满足上述条件的合理等价类,一个两数之和不大于第三个数的不合理的等价类,由此设计两组测试用例:
a=3,b=4,c=5;
a=1,b=2,c=4。但是此时却忽略了极易出现的错误,即如果把a+b>c错误地写成a+b≥c,上面两组测试数据均无法发现。使用边界值分析技术,则选择下面的测试用例就能发现上述的错误:a=1,b=2,c=3。
由此可以看出,边界值分析主要检查等价类边界上和边界附近的情况。二、边界值分析
7.7黑盒测试技术
If(196007<=value(b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 淀粉在陶瓷工业中的应用研究考核试卷
- 智能无人机消费需求探索报告考核试卷
- 3.学校体温检测制度
- 安全生产自查自纠工作实施方案
- 海水养殖中的市场分析与市场战略考核试卷
- 渔业社区发展与扶持政策考核试卷
- 提高员工自信心的培训方法考核试卷
- 幼儿认知发展与思维培养考核试卷
- 中国汽车漆行业盈利模式及供需形势分析研究报告(2024-2030版)
- 中国水平珠行业市场现状分析及竞争格局与投资发展研究报告(2024-2030版)
- 照明路灯工程 投标文件(技术方案)
- 2024年斯坦福Agent+AI+论文(英)
- 2024年教师普通话培训心得体会范文3篇
- 统编版五年级上册语文第六单元《口语交际父母之爱》公开课一等奖创新教学设计
- 《经济学基础》课件:项目一 揭开经济学的面纱
- 2024年T8联考高三第二次学业质量语文试题答案讲评课件
- 环形电流的磁场强度
- 消防科普教育馆管理制度及流程
- 磁力泵安全操作及维护培训课件
- JJG 643-2024标准表法流量标准装置
- 单位办理ETC授权书
评论
0/150
提交评论