【测试开发】用例篇(2)
文章目录
- 【测试开发】用例篇(2)
- 1. 正交表法
- 1.1 什么是正交表
- 1.2 两个重要概念
- 1.3 如何通过正交表设计测试用例
- 1.3.1 充分理解需求
- 1.3.2 确定因素、确定水平
- 1.3.3 allpairs画正交表
- 1.3.4 补充正交表
- 1.3.5 将正交表转换成测试用例
- 2. 场景设计法
- 2.1 场景
- 2.2 如何通过这个方法设计测试用例
- 2.2.1 充分理解需求
- 2.2.2 确定主事件流
- 2.2.2 确定次事件流
- 2.2.3 一个事件流就是一个测试用例
- 3. 错误猜测法
- 4. 常见案例练习
- 4.1 用FIddler代理来模拟弱网
- 4.2 接口测试
- 4.3 对冒泡排序进行测试
- 4.4 Linux的zip命令
- 4.4.1 功能测试
- 4.4.2 界面测试
- 4.4.3 性能
- 4.4.4 安全
- 4.4.5 可视化压缩工具测试用例设计
- 4.5 水杯测试用例设计(水杯是一个实体)
- 4.6 微信发送朋友圈设计测试用例(软件的一个模块)
最简单的正交表是L4(23),含意如下:
- “L”代表正交表
- L角的指数“4”表示有 4 横行,简称行,即要做四次试验
- 括号内的指数“3”表示有3 纵列,简称列,即最多允许安排的因素是3 个
- 括号内的数“2”表示表的主要部分只有2 种数字,即因素有两种水平1与2(每一个变量的取值只有两种)
正交表的特点是其安排的试验方法具有均衡搭配特性。
因素:输入的变量
水平:每一个输入变量(因素)的取值
以下是一个正交表:
试验号/列号 | 1 | 2 | 3 | 4 |
---|---|---|---|---|
1 | 1 | 1 | 1 | 1 |
2 | 1 | 2 | 2 | 2 |
3 | 1 | 3 | 3 | 3 |
4 | 2 | 1 | 2 | 3 |
5 | 2 | 2 | 3 | 1 |
6 | 2 | 3 | 1 | 2 |
7 | 3 | 1 | 3 | 2 |
8 | 3 | 2 | 1 | 3 |
9 | 3 | 3 | 2 | 1 |
正交表的两条性质:
以此正交表为例:
对于第一条:
- 1出现的频次是12
- 2出现的频次是12
- 3出现的频次是12
第一条每一列:
- 1出现3次
- 2出现3次
- 3出现3次
对于第二条:
- 可用第一条推出
针对一个注册案例进行设计测试用例:姓名、邮箱、密码、确认密码、验证码必须全部输入,才能进行注册
因素:
水平:
例如:
比如补充一条测试用例,全部都不填写的情况
补充正交表,不需要保证仍是正交表,补充的例子是我们人为写的,特别关注的测试用例~
当然,在这里,我们的两个水平是两个分类,所以这更像是在划分测试点,因为它没全包含测试用例的几个要素:
正交表在测试用例设计中有重要的意义
- 它是一种有效的测试用例设计技术,可以帮助测试人员在有限的资源和时间下,优化测试覆盖率,发现更多的缺陷。
正交表的科学依据源于统计学的设计理论
- 它可以通过有效的组合和排列,提供一组最小的测试用例
- 同时覆盖了系统中可能存在的多个独立因素或因素组合
通过使用正交表,测试人员可以在较少的测试用例数量下,覆盖更多的场景,减少测试的工作量和时间成本
针对用户使用软件的一系列操作,形成的一个场景
而按照这条路线,如果每个环节都没出现啥问题,是可以进行完毕的,这就是“主事件流”
以ATM取款场景为例
插卡
↓
输入密码
↓
选择业务
↓
选择金额
↓
出钞
↓
取卡
各个环节可能出现的问题:
主事件流:
次事件流:
对于每个事件流,补充测试要素即可~
依据测试人员经验(根据遇到过的错误,进行合理猜测)
所以没啥可讲的,重点在多看多练多实践…
常见的有:
- 注册:
- 校验特殊字符(例如空格)的处理
- 密码校验的大小写
- 姓名中的特殊字符
- 密码发送是否明文
- …
打开速度影响,根据用户相关规则,影响网络条件:
查看用户相关规则:
出现一个脚本:
ctrl + f 查找:
找到这个设置相关代码:
- 传输1KB花费时间300ms
- 下载1KB花费时间150ms
- 这个数值设置得越大,网络越差越弱
这里的接口就是前后端交互的接口,不是我们的接口类,但是本质上就是一个名词,差不多就那个意思,接口其实就是一些方法的集合罢了,而在此处,接口就是前后端交互的通道,而接口测试,其实就是模拟前端发送请求走这个通道给后端~
所以,就需要我们的一个软件=> Postman,其使用不再赘述
可以结合fiddler/浏览器进行抓包,找到接口,复制url,通过Postman构造请求进行发送
个人比较习惯用fiddler的Raw,用记事本去看,这样可以一眼看全部,当然如果对http请求和响应还不是很熟练,可以看看浏览器和fiddler其他的一些按钮,可以可视化的看到一些信息,自行研究!
对于复制请求,在postman上粘贴,我建议使用浏览器:
- 需要刷新,然后在这里看到接口
在postman进行import:
粘贴:
点击send,就相当于向该接口发起了一次请求
针对参数进行测试(传递所有参数、传递部分参数、不传递参数、传递其他的参数、改变参数的值…)
针对性能进行测试
这里是一类问题,就是对代码的测试,涉及白盒测试,于进阶篇讲解!
对test目录进行压缩:
zip使用手册:
对111.txt文件进行压缩:
对nohup.out进行压缩
压缩信息要提示正确!
对于5G网络条件下和压缩1KB大小的目录/文件,性能怎么样!
压缩完文件,下一次解压文件不能损坏!
跟上面的测试点一致,只不过现在是用户能看到的可视化页面了~
这是一道测试实体题
水杯是真水杯,不是啥专业名词
列出万能公式:
一些测试点可能适合在不同的划分里,不要太刻意去区分,这里不需要太严格!
补充测试点:
这是一道测试软件模块题
列出万能公式:
对于xss漏洞,就是web中嵌入了恶意脚本代码,导致脚本语言被执行,文本不显示等等的问题…
- 不是重点,不做赘述,参照博文:什么是XSS漏洞—漏洞原理学习_xss漏洞原理_Ping_Pig的博客-CSDN博客
文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭!我们应该根据具体情况打出组合拳,才能设计出好的测试用例!