测试用例的设计方法(黑盒)

1.基于需求的设计方法

比如针对网易邮箱进行测试:分为功能相关和非功能相关两大类
在这里插入图片描述
但是这么设计的话,有无数多个测试用例,我们现在看到的只是一些大概的测试用例,要想设计具体的测试用例,需要用到下面测试用例的方法

2.等价类

依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。说白了就是将需求分类,每个类取一个例子测试
比如买一杯奶茶,在我很撑很撑的情况下,我还特别想知道它好不好喝(想知道好不好喝是我输入的需求),因此我只需要喝一口就知道它好不好喝,不用全部喝完,这样我即知道了好不好喝,又解决了肚子很撑喝不下整杯的问题。
等价类分为
有效等价类:对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验证程序是否实现了规格说明中所规定的功能和性能
无效等价类:根据需求说明书,不满足需求的集合。
在这里插入图片描述
在这里插入图片描述
等价类设计测试用例步骤
1.充分理解需求
2.划分有效等价类和无效等价类
3.从有效等价类抽取其中一个数据进行测试用例,从无效等价类抽取其中一个数据进行测试用例
在这里插入图片描述

3.边界值

3.1边界点

上点:边界上的点
内点:边界内的点
离点:边界值附近的一个点(闭区间的离点是区间外距离上点最近的点,开区间的离点是区间内距离上点最近的点)
在这里插入图片描述

3.2边界值设计测试用例的方法

1.充分理解需求
2.找边界点
3.针对边界点设计测试用例
在这里插入图片描述
工作中通常将等价类和边界值一起配合使用,这样测试用例就更多了,产品更有保证了

4.判定表

判定表的关系:
与:所有条件必须满足,如果一个不满足,结果就是假
或:满足所有条件中的一个就是真,如果条件全部为假,就为假
恒等:条件为真,结果一定是真(我是男人>>我是人)
非:条件为假,结果才为真(不好好学习>>肯定找不到好工作)

判定表设计测试用例:
1.分析所有可能的输入和输出
2.找出输入和输出之间的对应关系
3.设计判定表
4.把判定表对应到每一个测试用例

看下面例子
假设业务单据的处理规则为:“淘宝618活动,订单已提交,订单合计金额大于300元或有红包,则进优惠”
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.正交排列

5.1正交表

5.1.1什么是正交表?

以下概念来自百度百科
在这里插入图片描述
因素:输入的变量
水平:每一个输入变量的取值

5.1.2正交表性质

性质1:每一列中各数字出现的次数都一样多
性质2:任何两列中的各有序数对出现的次数都一样多
下图为一个正交表,可以对照看性质
解释一下性质2:拿前两列为例子:1,1出现了一次,1,2出现了一次…都出现了一次,因此都一样多
在这里插入图片描述

5.1.3如何通过正交表设计测试用例

1.充分理解需求
2.确定因素和水平
3.画正交表并填写
4.将正交表转成测试用例

以注册的需求为例:
姓名,邮箱,密码,确认密码,验证码必须全部输入,才能进行注册
1.需求:必须全部输入
2.因素:姓名,邮箱,密码,确认密码,验证码
水平:填写/不填写
3.在这里插入图片描述
4.在这里插入图片描述
上图是测试点
具体真正测试的时候还需要测试每个测试点的环境,操作步骤,测试数据,预期结果
在这里插入图片描述

6.场景设计法

6.1场景

假设找女朋友,分为
搭讪>要联系方式>聊天>请女神吃饭>表白>确定男女朋友关系
但是每个过程还有可能出现很多意外
在这里插入图片描述
我们管搭讪>要联系方式>聊天>请女神吃饭>表白>确定男女朋友关系这一套叫主事件流,中间可能出现的问题叫次事件流

6.2如何通过这个方法设计测试用例

1.充分理解需求
2.确定主事件流
3.确定次时间流
4.每一个时间流就是一个测试用例

再举个ATM取款的例子
在这里插入图片描述
在这里插入图片描述

7.错误猜测法

通常是根据测试人员的经验去设计的,怎么提升经验呢?那就是多写测试用例,多看测试用例
以注册为例
1、校验中特殊字符空格的处理?
2、密码校验中的大小写?
3、姓名中的特殊字符?
4、密码发送是否明文

8.额外设置

1.弱网
在fiddler设置
在这里插入图片描述
在这里插入图片描述
2.接口测试
可以用代码或者工具测试,这里用postman测试
在这里插入图片描述
可以根据http请求测试,还可以根据参数进行测试(传递所有参数,或者传递部分参数,不传参数或者传递其他参数等)
在这里插入图片描述
3.zip命令测试(可视化压缩工具测试用例设计)
功能:压缩的是一个文件夹/文件/图片
界面:压缩信息提示正确
性能:压缩5G和1kb的时间
安全:压缩完文件,解压之后文件不能损坏
4.水杯测试用例设计(实体)
在这里插入图片描述

5.微信发送朋友圈设计测试用例(软件的一个模块)
在这里插入图片描述

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

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

相关文章

password game

目录 password game (1-2) (3) (4) (5) (6) (7) (8) (9) (10&am…

css3文字环绕旋转

目录 固定数量文字环绕旋转不固定数量文字环绕旋转效果图 固定数量文字环绕旋转 <!-- 文字旋转测试 --> <template><div class"page"><div><div v-for"(item, index) in [...Array(20).keys()]" :key"index" style&…

desc相关注入

desc相关注入 补充

HBuilderX vue项目打包上传到服务器

完成后有个’dist’目录,把真个目录通过FTP 上传到服务器,Mac电脑使用cyberduck 上传 服务器使用‘宝塔’进行一件部署,基本上就是傻瓜式的点击下一步

建行广东江门分行:科技赋能,数据助力纠“四风”

为进一步深化落实中央八项规定精神&#xff0c;持续加大“四风”问题查处力度&#xff0c;建行驻江门市分行纪检组根据《广东省分行贯彻落实中央八项规定精神持之以恒纠治“四风”实施方案》&#xff08;建粤党发〔2023〕1号&#xff09;安排&#xff0c;对驻在市分行开展“四风…

Vue项目中强制刷新页面的方法

我们在动态切换组件的过程中&#xff0c;导航栏和底栏不动&#xff0c;动态切换中间区域的情况&#xff0c;在首页可以进行跳转任意组件&#xff0c;在组件与组件之间不能相互跳转&#xff0c;路由发生了变化&#xff0c;但是页面未改变&#xff0c;这时我们就需要强制刷新页面…

如何用sklearn对随机森林调参

文章目录 一、概述二、实操1、导入相关包2、导入乳腺癌数据集&#xff0c;建立模型3、调参 三、总结 Link&#xff1a;https://zhuanlan.zhihu.com/p/126288078 Author&#xff1a;陈罐头 一、概述 sklearn是目前python中十分流行的用来实现机器学习的第三方包&#xff0c;其中…

凯美瑞 vs 太空船:Web3 游戏生长的两条路径

撰文&#xff1a;Teng Yan&#xff08;0xPrismatic&#xff09;&#xff0c;Delphi Digital 研究员 编译&#xff1a;TinTinLand 来源&#xff1a;https://0xprismatic.substack.com/p/my-short-web3-gaming-thesis 经常有人问我关于 Web3 游戏的看法&#xff0c;所以我想以这…

什么是数据库事务、事务的ACID、怎么设置/禁止自动提交?

数据库事务及ACID 数据库事务是指作为单个逻辑工作单元执行的一组操作。这组操作要么全部成功地执行&#xff0c;要么全部不执行&#xff0c;不允许出现部分执行的情况。数据库事务通常需要满足ACID属性&#xff0c;即原子性&#xff08;Atomicity&#xff09;、一致性&#x…

某城高速综合管控大数据大屏可视化【可视化项目案例-04】

🎉🎊🎉 你的技术旅程将在这里启航! 🚀🚀 本文选自专栏:可视化技术专栏100例 可视化技术专栏100例,包括但不限于大屏可视化、图表可视化等等。订阅专栏用户在文章底部可下载对应案例源码以供大家深入的学习研究。 🎓 每一个案例都会提供完整代码和详细的讲解,不…

Python开源项目PGDiff——人脸重建(Face Restoration),模糊清晰、划痕修复及黑白上色的实践

python ansconda 等的下载、安装等请参阅&#xff1a; Python开源项目CodeFormer——人脸重建&#xff08;Face Restoration&#xff09;&#xff0c;模糊清晰、划痕修复及黑白上色的实践https://blog.csdn.net/beijinghorn/article/details/134334021 友情提示&#xff1a; …

CSS3 过度效果、动画、多列

一、CSS3过度&#xff1a; CSS3过渡是元素从一种样式逐渐改变为另一种的效果。要实现这一点&#xff0c;必须规定两相内容&#xff1a;指定要添加效果的CSS属性&#xff1b;指定效果的持续时间。如果为指定持续时间&#xff0c;transition将没有任何效果。 <style> div…

Clickhouse 学习笔记(6)—— ClickHouse 分片集群

前置知识&#xff1a; Clickhouse学习笔记&#xff08;5&#xff09;—— ClickHouse 副本-CSDN博客 与副本对比&#xff1a; 副本虽然能够提高数据的可用性&#xff0c;降低丢失风险&#xff0c;但是每台服务器实际上必须容纳全量数据&#xff0c;对数据的横向扩容没有解决 …

基于工业智能网关的汽车充电桩安全监测方案

近年来&#xff0c;我国新能源汽车产业得到快速发展&#xff0c;电动车产量和销量都在持续增长&#xff0c;不仅国内市场竞争激烈&#xff0c;而且也远销海外&#xff0c;成为新的经济增长点。但与此同时&#xff0c;充电设施的运营却面临着安全和效率的双重挑战。 当前的充电桩…

Linux开发工具之编辑器vim

文章目录 1.vim是啥?1.1问问度娘1.2自己总结 2.vim的初步了解2.1进入和退出2.2vim的模式1.介绍2.使用 3.vim的配置3.1自己配置3.2下载插件3.3安装大佬配置好的文件 4.程序的翻译 1.vim是啥? 1.1问问度娘 1.2自己总结 vi/vim都是多模式编辑器&#xff0c;vim是vi的升级版本&a…

【Excel】补全单元格值变成固定长度

我们知道股票代码都为6位数字&#xff0c;但深圳中小板代码前面以0开头&#xff0c;数字格式时前面的0会自动省略&#xff0c;现在需要在Excel表格补全它。如下图&#xff1a; 这时我们需要用到特殊的函数&#xff1a;TEXT或者RIGHT TEXT函数是Excel中一个非常有用的函数。TEX…

UnRaid安装安装仓库管理系统GreaterWMS

文章目录 0、前言1、安装流程1.1、克隆GreaterWMS项目到UnRaid本地目录1.2、修改项目前后端端口1.3、修改baseurl1.4、修改Nginx.conf配置文件1.5、安装依赖插件1.5.1、Docker Compose Manager插件1.5.2、Python3环境 1.6、创建GreaterWMS容器1.6.1、为前后端启动脚本赋执行权限…

【数据结构】归并排序

#include<iostream>using namespace std;void Merge(int* arr,int left,int right,int mid, int*& tmparr) {int begin1 left, end1 mid;int begin2 mid 1, end2 right;int tmpi left;//下面合并两个数组为一个有序数组&#xff08;升序&#xff09;&#xff1…

AI系统ChatGPT源码+详细搭建部署教程+AI绘画系统+支持GPT4.0+Midjourney绘画+已支持OpenAI GPT全模型+国内AI全模型

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

JDBC(二)

第4章 操作BLOB类型字段 4.1 MySQL BLOB类型 MySQL中&#xff0c;BLOB是一个二进制大型对象&#xff0c;是一个可以存储大量数据的容器&#xff0c;它能容纳不同大小的数据。 插入BLOB类型的数据必须使用PreparedStatement&#xff0c;因为BLOB类型的数据无法使用字符串拼接写…