软件测试方法 -- 等价类边界值

测试用例的定义

测试用例是为了特定的目的而设计的一组测试输入、执行条件和预期的结果,以便测试是否满足某个特定需求。通过大量的测试用例来检验软件的运行效果,他是指导测试工作进行的依据。

下面我们介绍几种常用的黑盒测试方法

等价类划分法

定义:等价类划分是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可。它将不能穷举的测试过程进行合理分类,从而保证测试用例具有完整性和代表性

有效等价类验证系统功能,无效等价类验证错误处理能力

作用:在有限的测试资源的情况下,用少量有代表的数据得到比较好的测试效果。

缺陷:边界值的动态性。

步骤:

1、先确定有效和无效等价类

2、有效等价类就是题目条件

3、无效等价类先划分与条件相反的情况,再找到特殊情况。

设计测试用例

根据已列出的等价类表可确定测试用例,具体过程如下:

1、首先为等价类表中的每一个等价类分别规定一个唯一的编号

2、设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。重复这个步骤,直到所有的有效等价类均被测试用例所覆盖

3、设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。重复这一步骤,直到所有的无效等价类均被测试用例所覆盖。

划分等价类的原则

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

2、如果输入条件规定了输入值的集合,或者是规定了”必须如何“的条件,这时可确立一个有效等价类和一个无效等价类

3、如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类

4、如果规定了输入数据的一组值,而且程序要对每一个输入值分别进行处理,这时可为每一个输入值确立一个有效等价类,它是所有不允许的输入值的集合

5、如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)

6、如果规定了输入数据为整型,则可以划分出正整数、零和负整数等三个有效类

7、如果程序的处理对象是表格,则应该使用空表,以及含一项或多项的表。

举例:

我们以 QQ 为例,当客户在 QQ 号码要求是6-10位的整数,我们该怎么进行测试?

根据等价类划分,我们划分出有效等价类和无效等价类:
在这里插入图片描述

边界值分析法

边界值分析法就是对输入或输出的边界值进行测试的一种常用的黑盒测试方法。

为什么要有边界值分析法?

大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。
通常情况下,软件测试所包含的边界检验有几种类型:
数字、字符、位置、质量、大小、速度、方位、尺寸、空间等
相应地,以上类型的边界值应该在:
最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最长、空/满等情况下。
采用边界值分析测试的基本思想是:故障往往出现在输入变量的边界值附近。
因此,边界值分析法利用输入变量的最小值(min)、略大于最小值(min+)、输入值域内的任意值(nom)、略小于最大值(max-)和最大值(max)来设计测试用例

用边界值分析设计测试用例应遵循的原则

1、如果输入条件规定了取值范围,则应对该范围的边界内附近,恰好在边界和在边界外附近(无效等价类)设计测试用例
如:规定金额输入框输入范围为0~100,应对 -1、0 、1、99、100、101 设计相应的测试用例
2、如果输入条件规定了数据的个数,则应对最少个数,最多个数,比最少个数少1,比最大个数多1等情况设计测试用例
如:输入文件有1~255个记录,则应分别设计0,1,255,256个记录的输入文件的测试用例
3、针对规格说明中的每个输出条件使用前面的1和2原则。
如:计算折扣量,最低折扣为0元,最高为1000元,则要设计使它们恰好产生0元或1000元的结果,以及负值或稍大于1000元的结果(如果可能的话)
4、如果程序规格说明中提到的输入或输出域是个有序的集合(如顺序文件,线性表等)。应选有序集的第一个和最后一个元素作为测试用例

举例:输入的两个参数值必须大于0同时小于100的整数,计算和

 
  1. If Val(Test1.Test) >= 0 Or Val(Test1.Test) <=100 Then

  2. MsgBox("输入的参数值必须大于0同时小于100")

  3. Test1.SetFocus

  4. ElseIf Val(Test2.Test) > =0 or val (Test2.Test) <= 100 then

  5. MsgBox("输入的参数值必须大于0同时小于100")

  6. Test2.SetFocus

  7. Else

  8. Test3.Test = Val(Test1.Test) + Val(Test2.Test)

  9. End If

如何解决这类问题
1、找到测试数据的边界点,也就是有效等价类和无效等价类的边界点,对边界点数据专门进行测试。
2、一般情况下,需要对边界值(0和100)以及边界值两边的数(-1和1以及101和99)分别进行测试。
因此我们可以设计测试用例:

而我们仔细看一下:
在这里插入图片描述
程序员在边界条件设置错误:把>写成了>=,把<写成了<=,所以我们可以得出预期结果与实际结果不符合的结论。
所以:有效数据和无效数据的分界点,往往作为程序员编写程序的判断点,是程序员容易犯错误的地方,也是测试人员重点测试的内容。

边界值和等价类的区别:

1、边界值分析不是从等价类中随便挑一个作为代表,而是选一个或几个特定值,使这个等价类的每个边界都作为测试的目标。
2、边界值分析不仅要考虑输入条件,而且要考虑输出条件(输出等价类)。
一般联合使用等价类划分和边界值分析两种方法。

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/753167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据表示—二进制与十进制转换

1. 二进制转十进制 按照数据类型分为三种&#xff1a;无符号的二进制整数&#xff0c;有符号的二进制整数和小数二进制数。 1.1 无符号的二进制整数 计算技巧&#xff1a; 从二进制数的右边第一位起&#xff0c;从右往左&#xff0c;先用二进制位置上的数乘以2的相应位数的幂&…

ABS10-ASEMI开关电源专用ABS10

编辑&#xff1a;ll ABS10-ASEMI开关电源专用ABS10 型号&#xff1a;ABS10 品牌&#xff1a;ASEMI 封装&#xff1a;ABS-4 最大重复峰值反向电压&#xff1a;1000V 最大正向平均整流电流(Vdss)&#xff1a;1A 功率(Pd)&#xff1a;中小功率 芯片个数&#xff1a;4 引脚…

NetSuite多脚本性能研究

在项目中&#xff0c;随着复杂度的提升&#xff0c;客制脚本以及各类SuiteAPP的应用&#xff0c;导致某个对象上挂载的脚本大量增加&#xff0c;最终导致了性能问题。表现在保存单据时时间过长&#xff0c;严重影响人机界面的用户感受。基于此问题&#xff0c;我们开展了NetSui…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Grid)

网格容器&#xff0c;由“行”和“列”分割的单元格所组成&#xff0c;通过指定“项目”所在的单元格做出各种各样的布局。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 仅支持GridItem…

ubuntu下修改硬盘名字和开机挂载硬盘

操作系统 文章目录 操作系统查看信息挂载处理修改自动挂载硬盘权限设置 ubuntu下修改硬盘名字和开机挂载硬盘 查看信息 查看电脑上所有硬盘分区的卷标及uuid&#xff0c; sudo blkid /dev/sda1: LABEL“win7” UUID“40305E93305E9030” TYPE“ntfs” /dev/sda5: LABEL“so…

pta 7-29 删除字符串中的子串 C语言

输入2个字符串S1和S2&#xff0c;要求删除字符串S1中出现的所有子串S2&#xff0c;即结果字符串中不能包含S2。 输入格式&#xff1a; 输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串&#xff0c;对应S1和S2。 输出格式&#xff1a; 在一行中输出删除…

docker yocto vscode

scode的docker插件怎么使用 vscode是一个基于VS Code的开发环境&#xff0c;它提供了一个Docker插件&#xff0c;可以帮助你在VS Code中使用Docker进行开发。下面是使用scode的Docker插件的步骤&#xff1a; 安装scode插件&#xff1a;在VS Code的扩展商店中搜索并安装scode插…

Web 开发模式演进过程

作为初学者&#xff0c;要了解 Web 开发模式的演进过程&#xff0c;并从这些演进过程中看到变化&#xff0c;这样有利于开发者的思路提升。 什么是 Web 开发 Web &#xff1a;网页&#xff0c;可以通过浏览器访问的资源 Web 开发&#xff1a;基于网页载体的软件开发&#xff…

mac下Appuim环境安装

参考资料 Mac安装Appium_mac电脑安装appium-CSDN博客 安卓测试工具&#xff1a;Appium 环境安装&#xff08;mac版本&#xff09;_安卓自动化测试mac环境搭建-CSDN博客 1. 基本环境依赖 1 node.js 2 JDK&#xff08;Java JDK&#xff09; 3 Android SDK 4 Appium&#x…

Verilog——综合和防真

2.1综合 Verilog 是硬件描述语言&#xff0c;顾名思义&#xff0c;就是用代码的形式描述硬件的功能&#xff0c;最终在硬件电路上实 现该功能。在Verilog描述出硬件功能后需要使用综合器对Verilog代码进行解释并将代码转化成实际 的电路来表示&#xff0c;最终产生实际的电路&a…

APP性能测试,你需要关注哪些指标?

一、Android客户端性能测试常见指标 1、内存 2、CPU 3、流量 4、电量 5、启动速度 6、滑动速度、界面切换速度 7、与服务器交互的网络速度 二、预期标准指定原则 1、分析竞争对手的产品&#xff0c;所有指标要强于竞品 2、产品经理给出的预期性能指标数据 3、符合业…

Android制作微信添加多个图片,放大图片

1.添加依赖 implementation com.github.bumptech.glide:glide:4.12.0 //裁剪图片等等 implementation androidx.recyclerview:recyclerview:1.1.0 //recycleview依赖 2.使用recycleview <androidx.recyclerview.widget.RecyclerViewandroid:id"id/recyclerView"…

【Python使用】嘿马头条完整开发md笔记第2篇:数据库,作用【附代码文档】

嘿马头条项目从到完整开发笔记总结完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;课程简介&#xff0c;ToutiaoWeb虚拟机使用说明&#xff0c;Pycharm远程开发&#xff0c;产品与开发&#xff0c;数据库1 产品介绍,2 原型图与UI图,3 技术架构,4 开发。OS…

【 React 】Real DOM 和Virtual DOM的区别?优缺点?

1. 是什么 Real DOM,真实DOM ,意思为文档对象模型&#xff0c;是一个结构化文本的抽象&#xff0c;在页面渲染出的每一个结点都是一个真实DOM结构&#xff0c;如下&#xff1a; <div id"root"><h1>Hello World</h1> </div>Virtual Dom,本质…

SSL证书过期不更新会有什么影响?怎么续签?

SSL证书如果不及时更新&#xff0c;可能会带来以下问题&#xff1a; 1.影响体验和信誉&#xff1a; - 如果你的网站SSL证书过期了&#xff0c;现在大部分浏览器都会提醒用户这个网站的安全证书已经失效。这就很可能让用户觉得你的网站不太安全&#xff0c;不敢继续浏览&#x…

node后端helmet中间件

认识helmet helmet 是一个 Node.js 的中间件&#xff0c;用于增强 Web 应用程序的安全性。它通过设置各种 HTTP 头来增加安全性&#xff0c;以防止一些常见的攻击。 作用 以下是一些 helmet 中间件可以帮助你处理的安全问题&#xff1a; 设置 HTTP 头部&#xff1a; helmet …

mysql判断一个字符串字段的长度是否为0

LENGTH(str) &#xff1a;返回字符串 str 所占用的字节数。 CHAR_LENGTH(str) &#xff1a;返回字符串 str 中字符的数量&#xff08;对于多字节字符集如UTF-8更为精确&#xff0c;因为它会按照字符而非字节计数&#xff09;。 如果字符串中都是单字节字符&#xff0c;或者不在…

Python接口自动化之接口依赖

一、场景说明 在面试接口自动化时&#xff0c;经常会问&#xff0c;其他接口调用的前提条件是当前用户必须是登录状态&#xff0c;如何处理接口依赖&#xff1f; 在此之前我们介绍过session管理器保存会话状态。如果接口请求需要携带token&#xff0c;那么又如果处理呢&#…

绿色再生·安卓4G智能远程操作巡视机器人小车

一、前言 1.1 项目介绍 【1】项目功能介绍 随着物联网技术与移动通信技术的快速发展&#xff0c;远程遥控设备在日常生活及工业应用中的普及度日益提高。无论是家用扫地机器人实现自主导航清扫&#xff0c;还是目前抖音平台上展示的实景互动小车等创新应用&#xff0c;都体现…

【探索AI】三十二-计算机视觉(七)实践项目与案例分析

实践项目与案例分析 图像分类项目:使用公开数据集CIFAR-10和ImageNet进行训练和评估概念及步骤代码实例目标检测项目:实现基于YOLO或SSD的实时目标检测步骤 1: 环境准备步骤 2: 数据集准备步骤 3: 模型选择与下载步骤 4: 编写代码加载模型步骤 5: 实时视频流处理步骤 6: 处理…