07测试用例设计方法【黑盒-等价类划分法】

黑盒测试用例设计方法-等价类划分法

等价类划分法:

等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,它们具有等价特性,即每一类的代表性数据在测试中的作用都等价于这一类中的其它数据。这样,对于表征该类的数据输入将能代表整个子集合的输入。因此,可以合理的假定:
测试某等价类的代表值就是等效于测试这一类的其它值。
即如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误;反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误。
等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。
定义:
将被测程序的输入域(输入数据)划分为若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例中数据。
如何划分:
先从程序的规格说明书中找出各个输入条件,再为每个输入条件划分两个或多个等价类,形成若干的互不相交的子集。
软件不能只接收合理有效的数据,也要具有处理异常数据的功能,这样才能确保软件具有更高的可靠性。因此,在划分等价类的过程中,不但要考虑有效等价类划分,也要考虑无效等价类划分。
所以划分等价类可分为两种情况:
(1)有效等价类
——是指对软件规格说明而言,是有意义的、合理的输入数据所组成的集合。利用有效等价类,能够检验程序是否实现了规格说明中预先规定的功能和性能。
(2)无效等价类
——是指对软件规格说明而言,是无意义的、不合理的输入数据所构成的集合。利用无效等价类,可以鉴别程序异常处理的情况,检查被测对象的功能和性能的实现是否有不符合规格说明要求的地方。
划分依据:
(1)按照区间划分
在输入条件规定了取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。
例1:在程序的规格说明书中,对输入条件有这么一句话:“程序输入条件为大于10小于100的实数x”
则有效等价类为10<x<100,两个无效等价类为x≤10和x≥100。
例2:规格说明书要求:学生允许选修5到8门功课,
则可得到一个有效等价类为:选课5到8门,两个无效等价类为:选课不足5门和选课超过8门。
**(2)按照数值划分 **
在规定了一组输入数据(假设包括n个输入值),并且程序要对每一个输入值分别进行处理的情况下,可确定n个有效等价类(每个值确定一个有效等价类)和一个无效等价类(所有不允许的输入值的集合)。
例:程序输入x取值于一个固定的枚举类型{1,3,7,15},且程序中对这4个数值分别进行了处理,则
有效等价类为x=1、x=3、 x=7、x=15,
无效等价类为x≠1,3,7,15的值的集合。
(3)按照数值集合划分
在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类(该集合有效值之外)。
例1:程序输入条件为取值为奇数的整数x,则有效等价类为x的值为奇数的整数,无效等价类为x的值不为奇数的整数。
例2:某软件设计标识符,要求“标识符应以字母开头”,则“以字母开头”者作为一个有效等价类,“以非字母开头”者作为一个无效等价类。
**(4)按照限制条件或规则划分 **
在规定了输入数据必须遵守的规则或限制条件的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
例:程序输入条件为以字符‘a’开头、长度为8的字符串,并且字符串不包含‘a’-‘z’之外的其它字符,则有效等价类为满足了上述所有条件的字符串,无效等价类为不以‘a’开头的字符串、长度不为8的字符串和包含了‘a’-‘z’之外其它字符的字符串。
(5)细分等价类
在确知已划分的等价类中各元素在程序中的处理方式不同的情况下,则应再将该等价类进一步划分为更小的等价类,并建立等价类表。

等价类划分法设计测试用例:

在确立了等价类之后,建立等价类表,列出所有划分出的等价类,如表3-1所示


3-1 等价类表.png

在设计测试用例时,应同时考虑有效等价类和无效等价类测试用例的设计。
根据已列出的等价类表可确定测试用例,具体过程如下:
(1)首先为等价类表中的每一个等价类分别规定一个唯一的编号。
(2)设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。重复这个步骤,直到所有的有效等价类均被测试用例所覆盖。
(3)设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。重复这一步骤,直到所有的无效等价类均被测试用例所覆盖。

等价类测试分类:

(1)基于覆盖程度:
弱组合形式:测试用例仅需满足对等价类的完全覆盖
强组合形式:测试用例不仅满足对等价类的完全覆盖,而且应覆盖所有的等价类组合
(2)基于检测无效等价类:
一般等价类测试:只考虑有效等价类 (测试用例使用每个等价类中的一个值。)
健壮等价类测试:考虑有效、无效等价类 (对有效输入,测试用例从每个有效等价类中取一个值;对无效输入,一个测试用例有一个无效值,其他值均取有效值。)
健壮等价类测试存在两个问题:
需要花费精力定义无效测试用例的期望输出、对强类型的语言没有必要考虑无效的输入
基于以上分类组合:
1、弱一般等价类测试
2、强一般等价类测试
3、弱健壮等价类测试
4、强健壮等价类测试
假设,F实现为一个程序,且输入变量x1和x2的边界以及边界内的区间:
a ≤ x1 ≤ d,区间为[a,b),[b,c),[c,d]
e ≤ x2 ≤ g,区间为[e,f),[f,g]
弱一般等价类测试:

image.png

强一般等价类测试:
image.png

弱健壮等价类测试:
image.png

强健壮等价类测试:
image.png

案例:

1)城市电话号码由三部分组成。它们的名称和内容分别是:
地区码:空白或三位数字;
前 缀:首位非‘0’或‘1’的三位数字;
后 缀:4位数字。
假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。

等价类表.png

测试用例.png

2)某保险公司的人寿保险的保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下:
image.png

请使用等价类划分法列出输入域等价类表,并设计相应的测试用例。
等价类表.png

测试用例.png

3)在三角形问题中,输入的数值必须满足3个条件:整数、3个数的取值在1—100之间。
等价类表.png

测试用例(不考虑输出结果).png

测试用例(考虑输出结果).png

完整测试用例.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351

推荐阅读更多精彩内容

  • 测试用例的设计是测试实现阶段的核心工作,也是指导如何执行测试的基础。 测试用例(Test Case)是为某个特殊目...
    倔强的潇洒小姐阅读 8,773评论 1 21
  • 一、常用黑盒测试用例设计方法 等价类划分法 边界值分析法 判定表法 因果图法 状态迁移图法 流程分析法 正交试验法...
    hollow_s阅读 1,077评论 0 1
  • 测试计划和测试用例 1.测试计划及缺陷管理 1.1.测试计划 测试计划是在测试设计阶段,在需求规格说明书的基础上制...
    方步阅读 6,457评论 1 7
  • 测试用例的内容:用例编号、用例标题、重要级别、预置条件、测试输入、操作步骤、预期结果、测试结果、作者。 黑盒测试用...
    CT9955阅读 3,984评论 0 31
  • 真是不忍心不看 金秋各色 又是一年 走在路上 暖人的高阳 真是不忍心不拍 虽然只是 转瞬即逝 黄叶在阳光下明媚灿烂...
    1028nss阅读 117评论 0 0