黑盒测试的等价类划分法_黑盒测试等价类输出

黑盒测试的等价类划分法_黑盒测试等价类输出1、等价类划分2、边界值分析

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1. 概述

等价类划分是一种典型的黑盒测试方法,这一设计方法完全不用考虑程序的内部结构,也就是说其只根据需求规格说明书。

2. 定义

等价类划分的方法就是将程序的输入域划分为若干部分,也可以说是若干个等价类,然后从各个部分中选取少数代表性数据进行测试。每个类的代表性数据在测试中的作用等效于这一类中的其它值,也就是说,只要这个类中的某个值发现了缺陷,那么这个类中的其它任何一个值也都可以起到同样的效果,反之亦然,只要能够通过一个类中某个数据的验证,那么对于该类中其他任何一个数据,验证都是可以通过的
根据上面的描述,在等价类划分方法中,我们只需要在每个等价类集合中选取一个数据作为测试用例数据即可,因为每个数据和其集合内部的其它数据都是等价的,这样就可以用少量用例达到较好的测试效果,从而平衡测试效率和测试效果。
最后,要想使用等价类划分这种方法来设计测试用例,一定要先根据需求规格说明划分等价类,列出等价类表。

3. 等价类和等价类表

>等价类

等价类就是指某个输入域的子集合,并且在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并且合理的假定测试某等价类的代表值就等效于测试了这个等价类集合中的所有值。
根据软件的输入情况,可以将等价类划分为以下两大类型:

  1. 有效等价类:指对于程序的规格说明来说是合理的,有意义或者说正确的数据构成的输入集合。
  2. 无效等价类:与有效等价类相反,指对于程序的规格说明来说是无意义或者说错误的输入数据构成的集合。

以这两者的定义来说,利用有效等价类可以检验程序是否达到了规格说明书中所规定的功能和性能等,而无效等价类则可以检验软件对于异常情况或者说错误数据的处理能力。

>等价类表

在确定被测对象的输入域等价类后,就可以将有效等价类和无效等价类根据一定的格式形成等价类表,等价类表的绘制可以参考以下两个图:
在这里插入图片描述
在这里插入图片描述

4. 确定等价类的原则

在划分等价类时,我们遵循以下6个原则:

  1. 若输入条件规定了取值范围或值的个数时,可以确立一个有效等价类和两个无效等价类。 例如密码的长度必须超过6位小于18位,我们就可以划分为长度在6到18位为一个等价类,长度超过18和小于6的密码分别为两个无效等价类。
  2. 若输入条件规定了输入值的集合或者规定了必须遵从某个规则时,可以确定一个有效等价类和无效等价类。 例如规定姓名必须由汉字组成,则可以将纯汉字划分为有效等价类,而将非汉字划分为无效等价类。
  3. 若输入是一个布尔值,可确定一个有效等价类和一个无效等价类。 例如,如果登录账号是钻石会员,则在结算时自动享受8折优惠,否则不打折,则钻石会员账号为一个有效等价类,非钻石会员为一个无效等价类。
  4. 若规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理,则可以将其输入域划分为n个有效等价类和一个无效等价类。 例如电子商务系统中的会员管理,如京东商城,有普通会员、金牌会员、铜牌会员等,不同会员的积分规则和优惠政策不同,故设计测试用例时可划分为若干等价类分别考虑。
  5. 若需求规格说明书中规定了输入数据必须遵守的规则的情况下,可以确立一个有效等价类和若干个无效等价类(从不同角度违反规则)。
  6. 若确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则要再将该等价类进一步的划分为更小的等价类。

5. 根据等价类表确定测试用例

在编写好等价类表后,可以按照以下步骤来形成最终的测试用例:

  1. 为每个等价类规定一个唯一的编号。
  2. 设计一个新的测试用例,使其尽可能多的覆盖尚未覆盖的有效等价类,不断重复这个过程,直到所有的有效等价类均被测试用例覆盖。
  3. 设计一个新的测试用例,使其只覆盖一个无效等价类,不断重复这个过程,直到所有的无效等价类均被测试用例所覆盖。

附: 在寻找等价区间时,想办法把软件的相似输入、输出、操作分成组,这些组就是等价区间。并且还需要注意,在设计用例时,还需要注意每个等价类之间的互斥性,不可在未充分理解需求时,将所有有效等价类抽取为一条用例,这样会导致测试覆盖率降低,甚至漏测。
用途: 等价类的设计方法,可以用于功能、性能、兼容性、安全性测试等方面,一般带有输入性需求的被测对象都可以采用等价类设计法。

7. 实例

以126邮箱注册功能页面为例,其中邮箱地址或者说用户名需要由为6~18个字符构成,包括字母、数字、下划线并且必须以字母开头和以字母或数字结尾。
在这里插入图片描述
以邮箱地址输入框的输入数据为例,按照等价类划分的方法设计其测试用例,按照上面所描述的需求或者说要求,可从邮箱地址的长度、组成、格式要求等几个因素来考虑有效等价类和无效等价类的划分,最终形成的等价类表如下:
在这里插入图片描述
按照上面得到的等价类表,再按照第5部分的步骤,可以抽取出以下的有效测试用例:
在这里插入图片描述
然后,再针对每个无效类,抽取一条测试用例进行测试,最终形成的无效测试用例如下(/表示不适用):
在这里插入图片描述
以上两个表的账号,就是根据等价类划分的方法最终得到的测试数据。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186402.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • finalize方法_final与finalize区别

    finalize方法_final与finalize区别当对象没有引用指向时,虚拟机会按照一定的垃圾回收机制算法来调用finalize方法将该对象回收,并不是只要没有引用对象就会被回收。因此,可以调用System.gc()方法来主动调用垃圾回收机制,但也并不能保证一定能成功。在调用时,程序并不会阻塞在此处,而是会继续向下执行。默认的object类中的finalize方法是不作其余处理的。可以重写finalize方法来实现自己想要的资源释放操作,比如数据库连接等。…

  • createthread dll「建议收藏」

    createthread dll「建议收藏」CreateThreadapi内部会调用waitforsingleobject等待互斥量对象。目的是同步顺序执行dll初始化。当该方法创建完线程内核对象和线程盏后,该函数内部会调用进程映射中所有dll的dllmain方法进行初始化。因此在自己写的dll中不要创建线程并使用waitforsingleobject等待线程创建。因为如果A线程创建的时候调用了dll中的dllmain函数,并且该

  • 大学《数据库系统》课程设计报告「建议收藏」

    大学《数据库系统》课程设计报告「建议收藏」湖南科技大学计算机科学与工程学院《数据库系统》课程设计题目:教学管理系统专业:计算机科学与技术年级:2017级班级:计科三班学号:170510323姓名:雨萱完成时间:2019年1月3日教务管理系统的分析与实现一.实验目的数据库系统课程设计是为了配合数据库原理及应用开发而…

  • java输入语句怎么写_java输入语句应该怎样写?示例演示

    java输入语句怎么写_java输入语句应该怎样写?示例演示作为初步进入java开发学习的小白来说,就像是小时候刚刚学说话一样,这种经历既是必然的也是有趣的,学习java语言一开始的时候也是得一步步的学习,比如说,java输入语句应该这么去实现呢?一起跟小编来看看吧。第一步:导包。先将java.io.*;以及java.util.*;导入Java代码中。charc=(char)System.in.read();是输入单个字符;inta=cin.nextI…

  • vue axios轮询更新echarts 页面崩溃问题

    vue axios轮询更新echarts 页面崩溃问题之前做过一个项目测试发现这个问题,就是页面停留3,4个小时之后页面崩溃了后来观察了浏览器的Memory发现echarts实例还有echarts数据缓存在不断累积解决:刚开始看了echarts官方api确实提供了echarts.clear()清空当前实例,会移除实例中所有的组件和图表。用了以后发现作用不是很大还是会崩溃。那就是实例的问题了刚开始只是加了个判断 letmyEcharts if(!myEcharts){ myEcharts=echarts.init

    2022年10月31日
  • 实战|手把手教你用Python爬取存储数据,还能自动在Excel中可视化!「建议收藏」

    实战|手把手教你用Python爬取存储数据,还能自动在Excel中可视化!「建议收藏」大家好,在之前我们讲过如何用Python构建一个带有GUI的爬虫小程序,很多本文将迎合热点,延续上次的NBA爬虫GUI,探讨如何爬取虎扑NBA官网数据。 并且将数据写入Excel中同时自动生

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号