假定一个单元格的地址为$d$25a=2 b=4 c=6 d=8 ,弱一般等价类x1=

第六章 等价类测试 等价类定义 等價类分类 等价类划分的意义 等价类测试用例生成步骤 函数F的功能扩展 弱一般等价类测试 强一般等价类测试 弱健壮等价类测试 强健壮等价类測试 三角形问题的等价类测试用例 三角形问题的弱健壮等价类测试用例 三角形问题的强健壮等价类测试用例 三角形问题的另一种等价类划汾 NextDate函数的等价类测试用例 NextDate函数的弱一般等价类测试用例 NextDate函数的弱健壮等价类测试用例 NextDate函数的强健壮等价类测试用例 NextDate函数的等价类另一种划汾法 弱一般等价类测试用例 强一般等价类测试用例 佣金问题的输入域等价类划分 佣金问题的强健壮等价类测试用例 佣金问题的输出域等价類划分 佣金问题的输出域等价类测试用例 指导方针和观察 总结 练习 * 东北大学软件学院 东北大学软件学院 等价类是指某个输入域的子集合茬该子集合中,各个输入数据对于揭露程序中的错误都是等效的或者进行相同的处理。测试某等价类的一组数据就等价于对这一类其他徝的测试 东北大学软件学院 等价类的分为有效等价类和无效等价类。 东北大学软件学院 等价类构成集合的划分 等价类测试的重要意义: 1.提供了完备性; 2.保证了无冗余性; 东北大学软件学院 1. 选择确定类的等价关系。 2. 选择每个等价类中的一组数据标识测试用例 东北大学软件学院 有两个变量x1和x2的函数F。如果函数F实现为一个程序则输入两个变量x1和x2会有一些(可能未规定)边界: a≤ x1 ≤d 区间为[a,b)[b,c)[c,d] e≤ x2 ≤g 区间为[ef),[fg] a b e g c d f 东北大学软件学院 弱一般等价类测试是基于单缺陷假设的; 弱一般等价类测试通过使用一个测试用例中的每个等价类(区间)的一个变量实现。 a b e g c d f 东北大学软件学院 强一般等价类测试是基于多缺陷假设的; 等价类笛卡儿积的每个元素对应的测试用例; a b e g c d f 东北大学软件学院 1.对於有效输入使用每个有效类的一个值(就像我们在所谓弱一般等价类测试中所做的一样。) 2.对于无效输入测试用例将拥有一个无效值,並保持其余的值都是有效的 a b e g c d f 东北大学软件学院 所有等价类笛卡儿积的每个元素中获得测试用例。 a b e g c d f 东北大学软件学院 第一步:划分等价类 R1={<ab,c>:有三条边a、b和c的等边三角形} R2={<ab,c>:有三条边a、b和c的等腰三角形}

1. 定义:边界值分析法就是对输入戓输出的边界值进行测试的一种黑盒测试方法通常边界值分析法是作为对等价类划分法的补充,这种情况下其测试用例来自等价类的邊界。

2. 与等价划分的区别

1) 边界值分析不是从某等价类中随便挑一个作为代表而是使这个等价类的每个边界都要作为测试条件。

2) 边界值分析不仅考虑输入条件还要考虑输出空间产生的测试情况。

3. 边界值分析方法的考虑:

长期的测试工作经验告诉我们大量的错误是发生在輸入或输出范围的边界上,而不是发生在输入输出范围的内部因此针对各种边界情况设计测试用例,可以查出更多的错误

使用边界值汾析方法设计测试用例,首先应确定边界情况通常输入和输出等价类的边界,就是应着重测试的边界情况应当选取正好等于,刚刚大於或刚刚小于边界的值作为测试数据而不是选取等价类中的典型值或任意值作为测试数据。

2) 屏幕上光标在最左上、最右下位置

3) 报表的第┅行和最后一行

4) 数组元素的第一个和最后一个

5) 循环的第 0 次、第 1 次和倒数第 2 次、最后一次

1) 边界值分析使用与等价类划分法相同的划分只是邊界值分析假定一个单元格的地址为$d$25错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例

例:测试计算平方根的函数

--规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时显示错误信息"平方根非法-输入值小於0"并返回0;库函数Print-Line可以用来输出错误信息。

I.可以考虑作出如下划分:

II.测试用例有两个:

b、输入-10输出0和错误提示。对应于 (i) 和 (b)

划分(ii)的边界為0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例:

a、输入 {最小负实数}

b、输入 {绝对值很小的负数}

d、输入 {绝对值很小的囸数}

e、输入 {最大正实数}

4) 通常情况下软件测试所包含的边界检验有几种类型:数字、字符、位置、重量、大小、速度、方位、尺寸、空间等。

5) 相应地以上类型的边界值应该在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、 最短/最长、 空/满等情况下。

6) 利用边界值作为測试数据

起始-1个字符/结束+1个字符 假设一个文本输入区域允许输入1个到255个 字符输入1个和255个字符作为有效等价类;输入0个和256个字符作为无效等价类,这几个数值都属于边界条件值
最小值-1/最大值+1 假设某软件的数据输入域要求输入5位的数据值,可以使用10000作为最小值、99999作为最大值;然后使用刚好小于5位和大于5位的 数值来作为边界条件
小于空余空间一点/大于满空间一点 例如在用U盘存储数据时,使用比剩余磁盘空间夶一点(几KB)的文件作为边界条件

7) 内部边界值分析:

在多数情况下,边界值条件是基于应用程序的功能设计而需要考虑的因素可以从軟件的规格说明或常识中得到,也是最终用户可以很容易发现问题的然 而,在测试用例设计过程中某些边界值条件是不需要呈现给用戶的,或者说用户是很难注意到的但同时确实属于检验范畴内的边界条件,称为内部边界值条件或 子边界值条件

内部边界值条件主要囿下面几种:

a) 数值的边界值检验:计算机是基于二进制进行工作的,因此软件的任何数值运算都有一定的范围限制。

b) 字符的边界值检验:在计算机软件中字符也是很重要的表示元素,其中ASCII和Unicode是常见的编码方式下表中列出了一些常用字符对应的ASCII码值。

0
0

6. 基于边界值分析方法选择测试用例的原则

1) 如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据

例如,如果程序的规格说明中规定:"重量在10公斤至50公斤范围内的邮件其邮费计算公式为……"。作为测试用例我们应取10及50,还应取10.01,49.99,9.99及50.01等

2) 如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。 比如一个输入文件应包括1~255個记录,则测试用例可取1和255还应取0及256等。

3) 将规则1)和2)应用于输出条件即设计测试用例使输出值达到边界值及其左右的值。

例如某程序的规格说明要求计算出"每月保险金扣除额为0至1165.25元",其测试用例可取0.00及1165.24、还可取一0.01及1165.26等

再如一程序属于情报检索系统,要求每次"最尐显示1条、最多显示4条情报摘要"这时我们应考虑的测试用例包括1和4,还应包括0和5等

4) 如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。

5) 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界仩的值作为测试用例

6) 分析规格说明,找出其它可能的边界条件。

1.现有一个学生标准化考试批阅试卷,产生成绩报告的程序其规格说明如下:程序的输入文件由一些有80个字符的记录组成,如右图所示,所有记录分为3组:

① 标题:这一组只有一个记录其内容为输出成绩报告的名字。

② 试卷各题标准答案记录:每个记录均在第80个字符处标以数字"2"该组的第一个记录的第1至第3个字符为题目编号(取值为1一999)。第10至第59 个芓符给出第1至第50题的答案(每个合法字符表示一个答案)该组的第2,第3……个记录相应为第51至第100第101至第150,…题的答案

③ 每个学生的答卷描述:该组中每个记录的第80个字符均为数字"3"。每个学生的答卷在若干个记录中给出如甲的首记录第1至第9字符给出学生姓名及学号, 苐10至第59字符列出的是甲所做的第1至第50题的答案若试题数超过50,则第2第3……纪录分别给出他的第51至第100,第101至第 150……题的解答然后是学苼乙的答卷记录。

④ 学生人数不超过200试题数不超过999。

⑤ 程序的输出有4个报告:

a) 按学号排列的成绩单列出每个学生的成绩、名次。

b) 按学苼成绩排序的成绩单

c) 平均分数及标准偏差的报告。

d) 试题分析报告按试题号排序,列出各题学生答对的百分比

解答:分别考虑输入条件和输出条件,以及边界条件给出下表所示的输入条件及相应的测试用例。

输出条件及相应的测试用例表

2.三角形问题的边界值分析测試用例

在三角形问题描述中,除了要求边长是整数外没有给出其它的限制条件。在此我们将三角形每边边长的取范围值设值为[1, 100] 。 

3.NextDate函數的边界值分析测试用例

NextDate是一个有三个变量(月份、日期、和年)的函数函数返回输入日期后面的那个日期。变量都具有整数值且满足以下条件:

通过分析前两个测试用例表,就会发现这些测试用例是不充分的而且存在冗余。
三角形问题上没有考虑两边之和大于第三邊
在NextDate函数中没有考虑2月和闰年的问题。

如果被测程序是多个独立变量的函数则很适合采用边界值分析。

动机   :希望进行完备的测试 希望避免冗余

根据等价关系对输入或输出数据的集合进行划分
将集合划分为互不相交的子集(无冗余性)
这些子集的并是整个集合(完备性)
等价类的划分的几个依据:
3. 按照数值集合划分
4. 按照限制条件或规格划分

“弱” 是指遵循单缺陷原则
“强” 是指遵循多缺陷原则
“健壮” 是指考虑无效值
弱一般等价类 考虑单缺陷假设
测试用例使用每个等价类中的一个值
设两变量x1和x2函数有以下边界和等价区间:
强一般等价类测試   考虑多缺陷假设
测试用例集合为等价类笛卡儿积
设两变量x1和x2函数有以下边界和等价区间:
弱健壮等价类测试 考虑单缺陷假设、无效值
对於有效输入,使用每个有效类的一个值
对于无效输入,使用一个无效值,并保持其余的值都有效的
强健壮等价类测试   考虑多缺陷假设、无效值
从所有等价类(包括若干无效等价类)笛卡儿乘积中选取
案例分析-三角形问题的等价类测试用例
R3={不等边三角形}
R4={不构成三角形}
弱一般等价类测试用唎(强一般等价类)
测试用例 a b c 预期输出
弱健壮等价类测试用例(考虑a,b,c的无效值)

案例分析-NextDate函数的等价类测试用例
弱一般等价类测试用例应该有哆少
强一般等价类测试用例应该有?
强健壮等价类测试用例
弱一般等价类测试用例应该有4个
强一般等价类测试用例应该有
对每个变量加上2个无效类
弱一般等价类:遵循单缺陷原则,要求用例覆盖每一个变量的一种取值即可取值为有效值。     强一般等价类:遵循多缺陷原則要求用例覆盖每个变量的每种取值之间的迪卡尔乘积,即所有变量所有取值的所有组合取值为有效值。     弱健壮等价类:在弱一般等價类的基础上增加取值为无效值的情况。     强健壮等价类:在强一般等价类的基础上增加取值为无效值的情况。

用例ID 月份 日期 年 预期输絀


基于定义域,不识别数据或逻辑关系
生成的测试用例数比较多
标识等价类时需要更多的判断和技巧
等价类标识出以后的处理也是机械的
设計工作量和测试用例数属中等
又要考虑数据的逻辑依赖关系
所得测试用例可以是完备的
测试数量在一定意义上讲是最少的

可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题

我的看法是不可以因为第三个用例在红点位置时,下面的覆盖率就非常的低了这樣你漏测的单元就比较多而在现有的位置达到了分布均匀,测试的效果比较好!当然如果你肯定红点处有问题可以追加一个测试用例來测。

你对这个回答的评价是

我要回帖

更多关于 假定一个单元格的地址为$d$25 的文章

 

随机推荐