当前位置: 首页 > news >正文

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

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.lryc.cn/news/226835.html

相关文章:

  • Shell编程入门--概念、特性、bash配置文件
  • 读书笔记:彼得·德鲁克《认识管理》第14章 工作、做工与员工
  • diffusers库中stable Diffusion模块的解析
  • 智慧城市照明为城市节能降耗提供支持继电器开关钡铼S270
  • 固高GTS800控制卡开发数控系统宏程序心得
  • linux入门---线程池的模拟实现
  • jQuery HTML/CSS 参考文档
  • QT 布局管理综合实例
  • 使用 pubsub-js 进行消息发布订阅
  • TA Shader基础
  • VScode + opencv(cmake编译) + c++ + win配置教程
  • Vue中的常用指令v-html / v-show / v-if / v-else / v-on / v-bind / v-for / v-model
  • ChatGPT 提问技巧
  • 2023-11-09 LeetCode每日一题(逃离火灾)
  • 阿里云-maven私服idea访问私服与组件上传
  • Ubuntu上的TFTP服务软件
  • jedis、lettuce与redis交互分析
  • C++算法:矩阵中的最长递增路径
  • OpenWRT配置SFTP远程文件传输,让数据分享更安全
  • 已解决:rm: 无法删除“/opt/module/zookeeper-3.4.10/zkData/zookeeper_server.pid“: 权限不够
  • Flink(四)【DataStream API - Source算子】
  • GIS入门,xyz地图瓦片是什么,xyz数据格式详解,如何发布离线XYZ瓦片到nginx或者tomcat中
  • [工业自动化-14]:西门子S7-15xxx编程 - 软件编程 - STEP7 TIA博途是全集成自动化软件TIA portal快速入门
  • 【教3妹学编程-算法题】Range 模块
  • SpringBoot+MybatisPlus Restful示例
  • 【数据结构】树与二叉树(十一):二叉树的层次遍历(算法LevelOrder)
  • 【PyQt】(自制类)处理鼠标点击逻辑
  • JAVA IDEA 下载
  • DevOps简介
  • 体验前所未有的显示器管理体验:BetterDisplay Pro Mac