软件测试技术基础教程5.用例设计方法-等价类

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

等价类设计用途
等价类设计法可用于功能测试、性能测试、兼容性测试、安全性测试等方面。一般带有输入 性需求的被测对象都可以采用等价类设计法,但等价类设计法是以效率换取效果的,考虑得 越细致,设计的用例可能就越多,同时,输入与输入之间的约束考虑较少,可能产生一些逻 辑错误,不同的思考角度可能会导致不同的用例设计角度及产生的用例数量。在实际使用过 程中,需根据测试的投入确定测试风险及优先级,从而保证该方法的使用效果。
细化后的等价类有效用例如下表所示
用例编号 测试项 测试标题 用例属性 重要级别 预置条件 测试输入 操作步骤
预期结果 实际结果
EMAIL-ST-用户注册-001 用户注册邮箱功能测试 验证正确的用户注册信息注册实现情况 功能测试 高 无 用户名:zhangsan,密码:zhangsan,确认密码:zhangsan 在注册页面输入测试数据; 单击“提交注册”按钮 系统页面显示zhangsan注册成功,3s后成功跳转入zhangsan个人信息配置页面
用例设计方法-等价类
实际软件测试活动中,保证被测对象测试充分性的最好方法即是使用穷举法完全覆盖、完全 组合。但显而易见的是这种思路不可取,软件项目实施受时间、成本、范围、风险等多个因 素限制。故而,使用一种高度归纳概括的用例设计方法将会大量减少穷举法带来的大量用例, 在保证测试效果的同时提高测试效率。等价类划分正是这样的一种非常常用的用例设计方法, 该方法依据用户需求规格说明书,细分用户期望,设计用例。
测试项测试点需求规格有效等价类编号无效等价类编号用户名名长度需求618位618a01空b0116b0218b03组成需求字母数字下画线字母a02特殊符号b04字母数字下画线a03汉字b05格式需求以字母开头以字母开头a04数字开头b06以下画线开头b07以字母或数字结尾以字母结尾a05以下画线结尾b08以数字结尾a06密码非空要求不能为空非空a07空b09确认密码一致性要求与密码一致一致a08不一致b10采用等价类设计的3条原则可抽取有效测试用例如下
测试项 需求规格 有效等价类 编号 无效等价类 编号
等价类设计步骤
获取有效等价类及无效等价类后,即可着手设计用例。测试用例设计一般采用以下步骤。
(1)为每一个有效等价类或无效等价类设定唯一编号,有效等价类统一编号,无效等价类统 一编号。
(2)设计一个新的测试用例,使其尽可能覆盖所有尚未覆盖的有效等价类,直至所有有效等 价类覆盖完全,互斥条件的有效等价类需单独覆盖。 (3)设计一个新的测试用例,使其仅覆盖一个无效等价类,直至所有无效等价类完全覆盖。 在设计有效用例过程中,需注意有效等价类之间的互斥性,千万不可在未充分理解需求时, 将所有有效等价类设计为一条用例,否则将会出现业务规则错误,导致测试覆盖降低、漏测。
等价类的概念
等价是指某类事物具有相同的属性或特性,在此集合中个体之间因外部输入引起的响应基本 无差异。对于软件测试而言,等价类即是某个测试对象的输入域集合,在此集合中,单个个 体对于揭露被测对象缺陷的效用是等价的,即输入域中的某个体如能揭露被测对象的某种缺 陷,那么该集合中的其他个体都能揭露该缺陷,反之亦然。
案例 126邮箱注册功能等价类法设计用例
• 下图所示是126邮箱注册功能页面,从图中可以看出,主页面包括3个关键信息:用户名、 密码、确认密码,该页面使用了AJAX技术,在截图时,这里仅仅抓到了用户名的需求、密 码及确认密码需求未能捕获,但不影响等价类方法的示范。
• 从下图中可以看出用户名需求为由6~18个字符构成,包括字母、数字、下画线,用户名以 字母开头,以字母和数字结尾(此处有Bug,读者自行查找),不区分大小写。如果密码及 确认密码有星号标志,则说明是必填项,规则要求假设是密码不能为空,确认密码需与密 码一致。在实际测试过程中,测试需求应来源于经过评审的需求规格说明书,这里仅做示 范。

以字母开头
以字母开头 A04
格式需求
以字母结尾 A05 以字母或数字结尾 以数字结尾 A06
密码
非空要求
确认密码 一致性要求
不能为空 与密码一致
非空
A07
一致
A08
无效等价类 空 [1,6) >18
特殊符号
汉字
数字开头 以下画线
开头 以下画线
结尾 空 不一致
编号 B01 B02 B03 B04 B05 B06 B07
(2)若需求规格说明中规定了输入值的集合或者规定了必须遵循某个规则时,可确立一个有 效等价类和一个无效等价类。例如,如果客户姓名必须由汉字组成,则汉字构成是有效等价 类,非汉字构成则是无效等价类。
(3)若输入条件是一个布尔值(即真假值),可确定一个有效等价类和一个无效等价类。例 如,如果登录用户是钻石会员账号,则在购物车结算时,可自动享有8折优惠,否则不打折, 钻石会员账号即是有效等价类,非钻石会员属于无效等价类。
根据等价类用例设计表提取用例时需注意条件间的互斥关系。例如,如果以字母结尾和数字
结尾不可能同时出现,则不可能出现A05A06的组合,故126邮箱注册功能页面需求描述是错 误的。考虑每个条件时,仅考虑自身条件,不可若干条件一起考虑,否则会很凌乱。例如,
上例中的组成需求和格式需求,单独考虑各自的有效及无效等价类即可。
根据上述需求进行等价类划分,可从被测字段、长度要求、组成要求、格式要求等几个因素 考虑有效等价类及无效等价类的划分,经过细化后的等价类用例设计表如表7-3所示。
测试项
测试点
需求规格
有效等价类 编号
长度需求
6~18位
[6,18]
A01
字母
A02

组成需求 字母、数字、下画线 字母+数字+

下画线
A03
等价类设计法运用熟练后,等价类提取表不一定每次都需要详细列出,可根据实际需要编写,从而 提高用例设计速度。
问题答疑渠道
汇智动力软件测试技术交流群
汇智动力ห้องสมุดไป่ตู้院微信公众号
基于上面表述的推理,可根据被测对象用户需求的实际情况,做出合理的推断归纳,将输入 域划分为若干等价类,并在每个等价类集合中选择一个个体作为测试输入,从而利用少量的 测试输入取得较好的测试效果,在测试效率与效果间达到平衡。
等价类的分类
等价类一般可分为有效等价类和无效等价类。 有效等价类:针对被测对象需求规格说明而言,有意义、有效的测试输入集合。 无效等价类:针对被测对象需求规格说明而言,无意义、无效的测试输入集合。 软件系统在应用过程中,能接收正确的输入或操作,亦能针对错误或无效输入操作做出正确 响应,设计测试用例时需同时考虑有效等价类和无效等价类。 根据被测对象的需求规格说明书,通常可从以下几个层面考虑等价类划分。 (1)若需求规格说明中规定了取值范围或值个数时,可以设立一个有效等价类和两个无效等 价类。有效取值范围内的输入域集合称为有效等价类,有效取值范围外的输入域集合称为无 效等价类。例如,客户姓名字符长度在6~18位,则客户姓名长度在6~18位时有效,而两个 无效等价类分别是1~5和>18位的姓名长度。
(4)若需求规格说明中规定输入数据是一组值,并且程序要对每一个输入值分别处理,则可 确立若干有效等价类和一个无效等价类。例如,电子商务系统中的会员管理,如京东商城, 有普通会员、金牌会员、铜牌会员、钻石会员等,不同会员的积分规则、优惠策略不同,故 设计用例时可划为若干等价类分别考虑。
(5)若需求规格说明中规定了输入数据必须遵守某些规则,则可确立一个符合规则的有效等 价类和若干从不同角度违反规则的无效等价类。 在确知已划分的等价类中各个体在程序中处理方式不同时,应将该等价类再进一步划分为更 小的等价类。例如,上述例子中的由非汉字构成无效等价类,可继续分为特殊符号、字母或 数字等无效等价类。针对被测对象的输入域等价类而言,所有有效等价类及无效等价类的并 集即是整个输入域,而有效等价类及无效等价类的交集为空集。 根据需求规格说明书确定被测对象的输入域等价类后,可将有效等价类及无效等价类根据一 定的格式(见下表)填入表格。
B08
B09 B10
采用等价类设计的3条原则,可抽取有效测试用例如下: (1)A01A02A04A05A07A08 (2)A01A03A04A05A07A08 (3)A01A03A04A06A07A08 无效测试用例如下: (1)B01 (2)B02 (3)B03 (4)B04 (5)B05 ……
相关文档
最新文档