软件测试 - 测试用例设计方法之等价类划分和边界值分析

 1. 等价类划分法

1.1 基本理论

等价类划分法是通过科学的方法找到具有共同特性的测试输入的集合,避免进行穷举测试,大大减少了测试用例的数量,从而提高测试效率。等价类划分法的典型应用场景就是输入框,适用于较少数量输入框的场景

等价类分成两类:

  • 有效等价类:满足需求的数据
  • 无效等价类:不满足需求的数据

使用等价类划分法设计测试用例可以参照以下步骤:

  1. 明确需求 (找到所有的输入项)
  2. 针对每个输入项分别确定有效和无效等价类 ,等价类划分可以依据以下几个原则:
    • 需求中具体的规则
    • 数据长度
    • 数据类型
    • 是否可以为空
    • 是否重复
  3. 编写测试用例: 一条用例尽可能多的覆盖有效等价类; 无效等价类中每个取值都要使用一条用例来覆盖;

1.2 案例演示

需求1:某网站登录的账号格式要求是6-10位自然数。

请根据上述需求使用等价类划分法设计测试用例。

首先需要根据需求找到输入项(账号),然后根据需求划分等价类。将等价类划分好之后再来编写测试用例会思路会更加清晰。

接下来就是根据划分的等价类来编写测试用例:

案例2:TT登录,

​ TT账号为邮箱格式,邮箱名@tt.com@tt.com属于自动补全部分,邮箱名要求4-10位字符,支持英文、数字、下划线(不能全是数字或者下划线),不支持中文

​ 密码:6-12位字符,不能包含中文

首先需要根据需求划分等价类,很明显该需求中有两个输入项,那么就需要分别对两个输入项进行等价类的划分。

再根据等价类的划分进行测试用例的设计,涉及到两个输入框时,需要将两个输入项的有效类和无效类分别进行组合生成测试用例。

2. 边界值分析法

2.1 基本理论

边界值分析法是基于边界值(有效等价类和无效等价类的分界点)谁测试用例的一种黑盒方法。边界值分析法典型的应用场景就是出现小于 大于 大于等于 小于等于的情况

该方法是对等价类划分法的步骤,统计表名程序最容易出错的地方就是在边界附近。

边界值分为:

  • 上点:边界上的点
  • 内点:边界内的点
  • 离点:离边界最近的左右两点,由于在4个离点中有两个在需求要求范围内(7和11在[6, 12]之间,属于有效类)属于有效等价类,因此可以省略。

使用边界值分析法设计测试用例的步骤如下:

  • 分析需求
  • 划分等价类
  • 确定边界(使用边界值分析法对等价类进行补充)
  • 设计测试用例
    • 使用边界值对等价类进行补充
    • 可以让等价类的输入数据和边界值的输入数据一致,这样可以减少测试用例的数量。

2.2 案例

需求:某网站登录的账号格式要求是6-10位自然数。

请根据上述需求使用等价类划分法设计测试用例。

首先根据需求划分等价类:

然后使用边界值对等价类进行补充:

设计测试用例,通过上述两步的分析可以发现等价类中的数据和边界值中的数据有重复的,这样就可以减少测试用例的数量。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

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

相关文章

【学习笔记】TypeScript编译选项

TS 中的编译选项 我们写了一个TS的文件,我们需要使用如下的命令将我们的TS文件转换为JS文件。 tsc xxx.ts 这样会产生一个对应的js文件 自动编译文件 编译文件时,使用 -W 指令后,TS编译器会自动监视文件的变化,并在文件发生变…

I.MX6U C语言运行环境构建及驱动开发格式

1.设置处理器模式 设置6ULL处于SVC模式下。设置下CPSR寄存器的bit4-0,也就是M[4:0]为100110x13.。读写状态寄存器需要用到MRS和MSR指令。MRS将CPSR寄存器数据读出到通用寄存器里面,MSR指令将通用寄存器的值写入到CPSR寄存器里面去。 2.设置SP指针 SP可以指向内部…

数据结构与算法:单链表

朋友们大家好,本节来到数据结构与算法的新内容:单链表 在上篇文章中,我们知道顺序表通常需要预分配一个固定大小的内存空间, 通常以二倍的大小进行增容,可能会造成空间的浪费,本篇文章我们介绍的链表可以解…

leetcode刷题(模拟问题)

题一:替换所有的问号 1.链接 1576. 替换所有的问号 - 力扣(LeetCode) 2.思路 这道题,最重要的就是理解什么是连续重复的字符 连续重复字符是指:相同字母连在一起多次出现 先遍历这个数组,去找到 &#x…

C语言每日一题(56)平衡二叉树

力扣网 110 平衡二叉树 题目描述 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:root [3,9,20,…

猫头虎分享已解决Bug || InvalidArgumentError in TensorFlow

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

网络报文处理流程

报文处理流程 WLAN网络中的数据包括管理报文和业务数据报文。管理报文必须采用CAPWAP隧道进行转发,而业务数据报文除了可以采用CAPWAP隧道转发之外,还可以采用直接转发方式和Soft-GRE转发方式。 管理报文用来传送AC与AP之间的管理数据,存在于…

苹果推出新型开源AI图像编辑模型“MGIE”;可汗学院辅助学习的GPT,Prompt 质量非常高

🦉 AI新闻 🚀 苹果推出新型开源AI图像编辑模型“MGIE” 摘要:苹果公司最近发布了一个名为“MGIE”的开源人工智能模型,旨在通过自然语言指令对图片进行编辑。MGIE,全称MLLM-Guided Image Editing,依赖于多…

雨云裸金属服务器

雨云服务器与裸金属服务器:云端与实体的完美交融 随着信息技术的迅猛发展,云服务已经成为企业和个人数据处理与存储的重要选择。其中,雨云服务器和裸金属服务器作为两种截然不同的服务形式,各自拥有独特的优势和应用场景。本文将深…

【MySQL探索之旅】MySQL数据库下载及安装教程

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有…

1.Electron初始与安装

这里写目录标题 一、前言二、下载三、简要总结 一、前言 原文以及该系列后续文章请参考:安装Electron 随着前端的不断强盛,现在的前端已经不再满足于网页开发了,而是在尝试能否使用前端的开发逻辑来开发PC端的桌面软件。 即用html、js、css…

浅谈测试用例设计

前言 最近干的最多的事情就是设计测试用例、评审测试用例了,于是我不禁又想到了一个经典的问题:如何设计出优秀的测试用例? 可能有些童鞋看到这个问题会有些不以为然,这有什么好想的?干个测试谁还不会设计测试用例&a…

CSS之水平垂直居中

如何实现一个div的水平垂直居中 <div class"content-wrapper"><div class"content">content</div></div>flex布局 .content-wrapper {width: 400px;height: 400px;background-color: lightskyblue;display: flex;justify-content:…

【C语言进阶】深度剖析数据在内存中的存储--上

1. C语言中的数据类型的简单介绍 注&#xff1a;C99标准里面&#xff0c;定义了bool类型变量。这时&#xff0c;只要引入头文件stdbool.h &#xff0c;就能在C语言里面正常使用bool类型。 1.1 在C语言中各类型所占内存空间的大小如下 char类型的数据类型大小为1字节即8比特位。…

如何在PDF 文件中删除页面?

查看不同的工具以及解释如何在 Windows、Android、macOS 和 iOS 上从 PDF 删除页面的步骤&#xff1a; PDF 是最难处理的文件格式之一。曾经有一段时间&#xff0c;除了阅读之外&#xff0c;无法用 PDF 做任何事情。但是今天&#xff0c;有许多应用程序和工具可以让您用它们做…

用示波器测量这些参数你真的会吗?

大家好&#xff0c;我是砖一。 示波器是电子工程师最常见的仪器&#xff0c;很多人也把示波器比作工程师的“眼睛”&#xff0c;这也足以说明示波器对工程师有多重要。 信号是如何显示到示波器屏幕上的呢&#xff1f;在示波器上&#xff0c;信号传输经过探头内部的一系列电阻器…

通用防重幂等如何设计?

防重与幂等的区别 防重与幂等是在 Web 应用程序和分布式系统中重要而又非常常见的问题。 防重 防重是指在多次提交同样的请求过程中&#xff0c;系统会检测和消除重复的数据&#xff0c;确保相同的数据只会被处理一次&#xff0c;从而避免不必要的重复操作或产生错误的结果。…

MYSQL学习笔记:MYSQL存储引擎

MYSQL学习笔记&#xff1a;MYSQL存储引擎 MYSQL是插件式的存储引擎 存储引擎影响数据的存储方式 存储引擎是用来干什么的&#xff0c;innodb和myisam的主要区别–数据存储方式----索引 mysql> show engines; ----------------------------------------------------------…

Github 2024-02-07 开源项目日报 Top9

根据Github Trendings的统计&#xff0c;今日(2024-02-07统计)共有9个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Rust项目2TypeScript项目2Python项目2Ruby项目1HTML项目1NASL项目1Go项目1C项目1Svelte项目1C项目1 React Nat…

C++ //练习 6.5 编写一个函数输出其实参的绝对值。

C Primer&#xff08;第5版&#xff09; 练习 6.5 练习 6.5 编写一个函数输出其实参的绝对值。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /*************************************************************************&…