测试基础12:测试用例设计方法-边界值分析

2024-06-11 04:28

本文主要是介绍测试基础12:测试用例设计方法-边界值分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

课程大纲

 

4e0e9828c0e839edd58355101e2596d4.png

 

1、定义

        经验发现,较多的错误往往发生在输入或输出范围的边界上,因为边界值是代码判断语句的点,一般容易出问题(数值写错、多加或丢失等号、写错不等号方向…)。所以增加对取值范围的边界数据的测试,即“边界值分析法”。

        边界值分析法是一种常用的黑盒测试方法。

2、应用场景

        1.有数据输入的地方就能用。

        2.针对一个输入控件(如输入框)。

        3.通常和有效等价类一起使用,作为用例的完善和补充。

3、意义

        完善和补充测试场景。

        一举两得:通过测试边界值,即可验证该等价类数据集输入后,功能无误。既测试了等价类,又保证了错误率高的边界场景。

4、划分

4.1边界

        如果是只有一个边界,则只有一个边界点,开或闭,即边界点无法取到或可取到。

        如果是双边界,边界开闭具体分为:全闭区间、全开区间、左开右闭、左闭右开。举例如下图:

 

0b3786f179a8db1d038a9d07dd29de06.png

 

4.2边界分析

        关于边界,需要关注的点有3种:上点、内点、离点。

        上点:边界上的点。(不管是开区间还是闭区间)

         内点:在域范围内的任意一点。(内点不是一个特定的点,是任意的某个点。一般选中心点)

        离点:离上点最近的一个点。

        关于离点:

        1.开区间,离点在区间内;闭区间,离点在区间外。

        2.取值范围是整数,离点是整数;取值范围包含小数,离点按照精度取最接近上点的数。

        以双边界为例,我们分别标出开区间和闭区间的上点、内点、离点。举例如下:

 

12669d5f8ab249556d4e9e23d7ad7397.png

5、设计步骤

        step1.划分等价类:根据等价类划分法步骤设计用例。

        step2.根据等价类,增加边界值。

        step3.根据边界值,修改或增加用例:

        ①已有用例所在数据集和边界值有交集的,原为随意取的值,改为边界点(上点、内点、离点)数值。如此,一条用例可实现对2个或多个测试点的验证。

        ②已有用例中没有取到的数据,新增一条用例。

举例1 

 

8bb4ad0916d58c009d32cdcbeb084f8c.png

举例2

 

363b611889eb3ab79a4f112a20d075ae.png

6、说明

        学会后,实际使用过程中,可以按照从里到边界到外顺序设计测试用例:

        1.即有效等价类-内点、

        2.有效等价类-可取到的边界值、

        3.无效等价类-离边界值最近的无效数值、

        4.其他无效等价类。

 

附:课程完整思维导图

 

28d4fd9323acc78a02c56b537e913f0e.jpeg

 

 

 

这篇关于测试基础12:测试用例设计方法-边界值分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050192

相关文章

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据