测试从零开始-No.6-测试用例设计方法(等价类+边界值)「建议收藏」

测试从零开始-No.6-测试用例设计方法(等价类+边界值)「建议收藏」问题:有时候用selenium操作浏览器,打开多个页面后,在不用的时候,需要关掉,切换页面需要切换句柄,关掉页面后,也需要重新切换句柄,否则页面接着操作元素会出问题解决方法:

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

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

常见的用例设计方法

  • 等价类划分法(适用于输入项少,输入项的属性或者特性相同) 

  • 边界值分析法(适用于有范围约束的情况)

  • 判定表法(适用于有明显的条件及其对应的动作的情况)

  • 因果图法

  • 状态迁移图法(适用于状态随事件而改变的情况)

  • 场景分析法(适合于由事件触发而形成的使用场景,同一事件不同的触发逻辑形成不同的场景,从而形成不同的业务流程(路径),根据覆盖不同的路径来设计测试用例)

  • 正交实验法(适用于多条件或多输入情况)

  • 异常分析法(适用于大多数软件,从经验上判断容易出现错误或缺陷的地方设计用例)

  • 错误猜测法

等价类划分法

是把所有可能的输入数据,即程序的输入域划分成若干部分子集,然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。

  • 有效等价类:有效等价类是程序规格说明有意义,合法的输入数据

  • 无效等价类:无效等价类是程序规格说明无意义,不合法的输入数据。

等价类法设计测试用例的步骤:

1、为每个输入划分等价类,得到等价类表,为每个等价类规定一个唯一编号

2、设计一个测试用例,使其尽可能多的覆盖所有尚未覆盖的有效等价类。重  复这一步骤,使得有效等价类均被测试用例所覆盖

3、设计一个测试用例,使其只覆盖一个无效等价类。重复这一步骤使得所有无效等价类均被覆盖

等价类划分的原则

1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. 

2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类. 

3、在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类. 

4、在规定了输入数据的一组值假定n个,并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类. 

5、在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类符合规则和若干个无效等价类从不同角度违反规则. 

6、在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类. 

等价类表可以参考下图所示:

图片

等价类划分法用例设计实战

根据下面给出的规格说明,进行测试用例的设计。

一个程序读入3个整数,把这三个数值看作一个三角形的3条边的长度值。程序输出:说明这个三角形是普通的、是等腰的、还是等边的。

等价类划分如下:

3条边分别为A,B,C。满足:A>0,B>0,C>0,且A+B>C,B+C>A,A+C>B;

等腰需满足A=B,或B=C,或A=C ;

等边需满足A=B,且B=C,且A=C ;

图片

最终输出的场景如下:

图片

边界值分析法

边值分析方法的理论基础,是假定大多数的错误是发生在各种输入条件的边界上,如果在边界附近的取值不会导致程序出错,那么其它的取值导致程序错误的可能性也很小。

边界值分析使用条件

输入条件明确了一个值的取值范围,或是规定了值的个数

边值点的定义

上点:边界上的点,不区分开闭区间。

离点:就是离上点最近的一个点,如果域的边界是封闭的,离点就在域范围外,如果域的边界是开放的,离点就在域范围内

内点:顾名思义,就是在域范围内的任意一个点 

可通过下面这张图更形象的理解:

图片

再举个案例:

  • 正整数值域[66,88]:

上点就是66,88,并且都是在域内。内点就是域内得任意点,离点是65,89。

  • 正整数值域(66,88]

这种情况上点是66,88,其中一个是域内,一个是域外,内点就是域内的任意点,离点是:67,89。

  • 正整数值域(66,88)

这样的情况上点还是66,88,只是都是在域外,内点还是域内的任意点,离点此时为:67,87。

边界值分析的原则

1、如果输入(输出)条件规定了取值范围,或是规定了值的个数,则应该以该范围的边界内及边界附近的值作为测试用例

2、如果输入(输出)条件规定了值的个数的取值范围,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据

3、如果程序规格说明中提到的输入或输出是一个有序的集合,应该注意选取有序集合的第一个和最后一个元素作为测试用例

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

    边界值分析方法是对等价类划分方法的补充。长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

小伙伴看到这,是不是觉得这样写用例写起来很麻烦呢?每次还要画很多的图表之类的,画图表只是一个分析的过程,等熟练之后,在实际工作中,可以根据自己的实际情况忽略某些步骤,只要在最终的测试点中能将这些测试点都考虑进去就行。详细的编写过程只是在初级测试找工作的时候,可能会在笔试题中考到,对相关的概念有个简单的了解就行。

关注公众号【小博测试成长之路】,下期带你了解其他的用例设计方法,后续会以项目实战的方式带大家熟悉。

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

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

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

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

(0)


相关推荐

  • virsh详解_virsh怎么读

    virsh详解_virsh怎么读来个表情包表达我此时的心情manvirshvirsh[options]…[<command_string>]virsh[options]…<command>[args…]options:-c|–connect=URIhypervisorconnectionURI…

  • 数据结构:栈和队列(Stack & Queue)【详解】

    数据结构:栈和队列(Stack & Queue)【详解】栈和队列知识框架栈一、栈的基本概念1、栈的定义栈(Stack):是只允许在一端进行插入或删除的线性表。首先栈是一种线性表,但限定这种线性表只能在某一端进行插入和删除操作。栈顶(Top):线性表允许进行插入删除的那一端。栈底(Bottom):固定的,不允许进行插入和删除的另一端。空栈:不含任何元素的空表。栈又称为先进先出(LastInFirstOut)的线性表,简称LIFO结构2、栈的基本操作InitStack(&S):初始化一个空栈S。StackEmpty(S):

  • 金士顿16G优盘_金士顿u盘格式化分配单元大小

    金士顿16G优盘_金士顿u盘格式化分配单元大小事情起因好好的金士顿16g优盘(绝对是真的,之前本人已经使用了2年多),今天本来准备用U盘装个win10系统,从微软官网下载了MediaCreationTool.exe用这个工具做了一个U盘系统,然后装系统(系统也没有装成。。。。。悲剧),谁知道重启之后,优盘可以识别,但是只显示一个盘符,没有容量,双击优盘,就显示请插入优盘之类的。换了一台电脑,插上U盘,显示需要格式化,那就格式化吧。。。。。。几

  • eclipse离线安装svn插件使用教程_eclipse不显示svn插件

    eclipse离线安装svn插件使用教程_eclipse不显示svn插件【Android】Eclipsesvn插件安装说明   昨天心血来潮,因为总是有些小的测试文档修改了修改去,后来某天找代码又麻烦得很,想把本机上的所有代码管理起来,在网上度娘了下,决定在Eclipse中安装svn插件,来管理本地的源代码文档。现在附上一些安装步骤,后续的使用慢慢地摸索吧。一、安装环境:PC:windowEclipse:JunoServiceRelease

  • idea202112激活码永久【在线注册码/序列号/破解码】

    idea202112激活码永久【在线注册码/序列号/破解码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • python中如何输入派_用phython语言求圆周率

    python中如何输入派_用phython语言求圆周率关于完全弹性碰撞和圆周率的关系所设计的易语言程序.版本2.程序集窗口程序集_启动窗口.程序集变量n,整数型.程序集变量m1,整数型.程序集变量m2,整数型.程序集变量v1,小数型.程序集变量v2,小数型.程序集变量v11,小数型.程序集变量v22,小数型.子程序_按钮1_被单击n=0m1=到数值(编辑框1.内容)m2=1v1=-1v2=0.判…

发表回复

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

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