主要基于黑盒测试设计测试用例。
测试用例的重要要素:测试环境、操作步骤、测试数据、预期结果 等
注意:测试用例要素中不需要执行结果,因为执行结果是执行了测试用例之后才会有的。
测试用例的优点:
避免了重复测试,提高测试效率,节省测试时间
手工测试用例是自动化测试用例的前提
需求文档 -> 梳理需求 -> 针对文档设计测试用例
需求文档 :是需要产品经理进行讲解的
梳理需求:测试人员进行的,需要充分理解需求(掌握需求)。
针对文档设计测试用例:就是用到了基于需求进行设计测试用例
163邮箱注册(基于需求设计测试用例)
基于需求设计测试用例的万能公式:
上面的测试用例的设计只是针对需求进行了大概的测试,很难完整的列举出来,所以我们需要一些设计测试用例的方法
在图书馆中的图书进行分类摆放:数学,人文,语言,经济……这个就是等价类的思想
软件测试的等价类:依据需求将输入的数据集合(特殊情况下会考虑输出)划分为若干个类别,从每一类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的这一类测试通过。这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。
等价类思想设计测试用例步骤
以下面的需求为例
|用户名 | 必填,录入用户名 | 6至15
用户名长度6~15位(等价类设计测试用例)
通常边界值分析法是作为对等。价类划分法的补充,这种情况下,其测试用例来自等价类的边界 。
边界点:
边界值设计测试用例方法:
以下面的需求为例
|用户名 | 必填,录入用户名 | 6至15
用户名长度6~15位(边界值设计测试用例)
通常情况下会把等价类和边界值法一起来设计测试用例
为什么不用因果图法?
通过因果图设计测试用例,就是把因果图专化为判定表。
判定表(Decision table):是另一种表达逻辑判断的工具
判定表的关系:
如何通过判定表设计测试用例:
(1)分析所有可能的输入和可能的输出。
(2)找出输入与输出之间的对应关系。
(3)设计判定表
(4)把判定表对应到每一个测试用例。
案例:
假设业务单据的处理规则为:“淘宝618活动,订单已提交,订单合计金额大于300元或有红包,则进优惠”。
分析所有可能的输入和可能的输出。
找出输入与输出之间的对应关系。
设计判定表
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
---|---|---|---|---|---|---|---|---|
订单提交 | Y | Y | Y | Y | Y | Y | Y | Y |
金额大于300 | Y | Y | N | N | Y | Y | N | N |
有红包 | Y | N | Y | N | Y | N | Y | N |
优惠 | Y | Y | Y | N | N | N | N | N |
不优惠 | N | N | N | Y | Y | Y | Y | Y |
淘宝618(判定表设计测试用例)
找到输入与输出的关系和测试用例不是一样吗?为什么还要有设计判定表,对应到测试用例。
因为第四步是测试点,后期要针对测试点补充测试用例要素的。标准的测试用例要有测试用例的要素的(测试环境、操作步骤、测试数据、预期结果)
最简单的正交表是L⁴(2³),含意如下:“L”代表正交表;L 下角的数字“4”表示有 4 横行,简称行,即要做四次试验;括号内的指数“3”表示有3 纵列,简称列,即最多允许安排的因素是3 个;括号内的数“2”表示表的主要部分只有2 种数字,即因素有两种水平1与2。正交表的特点是其安排的试验方法具有均衡搭配特性。
名词的意思:
正交表的两条性质:
通过正交表设计测试用例:
充分理解需求 -> 确定因素水平 -> 画正交表 -> 补充正交表 -> 将正交表转换成测试用例
以注册的需求为例:
姓名、邮箱、密码、确认密码、验证码必须全部输入,才能进行注册 。
因素:姓名、邮箱、密码、确认密码、验证码
水平:填写,不填写
allpirs画正交表。
将水平和因素填写到excel中。
姓名 | 邮箱 | 密码 | 确认密码 | 验证码 |
---|---|---|---|---|
填写 | 填写 | 填写 | 填写 | 填写 |
不填写 | 不填写 | 不填写 | 不填写 | 不填写 |
将excel表格复制到txt文件中
在allpirs安装路径下进入cmd
执行一个命令 allpirs.exe 文件名 >结果文件名
allpairs.exe 20230906.txt > 20230906_result.txt
执行结果:
~意味着此时这个取值可以是填写也可以是不填写
补充正交表:
姓名、邮箱、密码、确认密码、验证码都不填写
针对全流程设计测试用例。
主事件流:用户经常使用的场景
次事件流:此事件流基于主事件流,用户在使用的时候可能会出的意外的事件。
通常情况下,需要把用户经常用到的功能模块串联到一起进行测试。保障了用户经常使用的功能没有问题。
依赖于测试人员的经验。
以注册为例
1、校验中特殊字符空格的处理? 开始位置,中间位置的空格的处理。
2、密码校验中的大小写?
3、姓名中的特殊字符?
4、密码发送是否明文
可以借助许多工具(Charles,Fiddler……).
打开限速模式:
打开用户规则:
用postman来进行接口测试。
方法参数(参数类型,不给参数,参数传递为空)
异常处理
代码规范:语句覆盖,条件覆盖,语句条件覆盖,判定覆盖。
功能:
打包的文件是一个不存在的文件
命令使用正确,文件存在,文件是否被压缩
能否一次性打包多个文件
打包后的内容是否有缺失
界面:
易用:
性能:
水杯的测试用例
功能:
界面:
易用:
兼容:
性能:
安全:
网络:
微信发送朋友圈 - 飞书云文档 (feishu.cn)