目录
6. 某手机软件有用TF卡导出数据的功能,请写出测试此功能的思路
在上篇文章中,我们学习了基于需求设计测试用例、通过等价类、边界值、判定表设计黑盒测试用例的方法。本篇文章中,我们将介绍如何通过正交表法、场景设计法、错误猜测法设计黑盒测试用例。
1. 正交表
1.1 概念
什么是正交表呢?
在以上的概念中,有以下几点需要注意:
- 行数(Runs):正交表中的行的个数,即试验的次数,用N代表。
- 因素数(Factors):正交表中列的个数,用C代表。
- 因素:变量。
- 水平:变量的取值。
正交试验设计(Orthogonal experimentaldesign) 是研究多因素多水平的一种设计方法,它是根据正交 性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了 解全面试验的情况,找出最优的水平组合。正交试验设计是一种基于正交表的、高效率、快速、经济的试验。
正交表的两条性质:
- 每一列中各数字出现的次数都一样多。
- 任何两列中的各有序数对出现的次数都一样多。
1.2 正交表法设计测试用例
1.2.1 步骤
- 充分理解需求
- 确定因素,确定水平
- 画正交表
- 补充正交表
- 将正交表转换成测试用例
1.2.2 举例
以用户注册的需求为例:
姓名、邮箱、密码、确认密码、验证码必须全部输入才能进行注册。
因素:姓名、邮箱、密码、确认密码、验证码
水平:填写/不填写
我们通过 allpairs 来设计正交表:
allpairs 设计正交表步骤:
- 将因素、水平填写到 excel 表格里
- 将 excel 内容复制到 txt 文件里
- cdm 进入 allapirs 安装路径下
- 通过命令产生正交表
接下来,我们具体实现一下:
首先在 excel 中填写如下表格(将因素和水平均填写完毕):
按下 ctrl + A 和 ctrl + C 全选表格中的内容,复制到文本文件中:
命名为 20230715.txt 保存至 allpairs 的下载路径中。
点击 windows + r 打开命令行窗口,输入 cmd :
接下来在命令行窗口中进入 allpairs 路径下:
可以看到执行后生成了结果文件:
打开文件即可看到生成了测试用例,我们只需要关注 测试用例 TEST CASES 部分即可:
~ 表示当前取值可以是填写,也可以是不填写。
接下来,我们需要对生成的测试用例进行补充,比如添加 均不填写 的测试用例。
最后,通过思维导图我们来看一下具体是如何设计测试用例的。
2. 场景设计法
2.1 概念
什么是场景呢?场景 即一个特定的环境。
现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。该方法可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,使测试用例更容易理解和执行。
主事件流:用户经常操作的场景(比如,通过美团点外卖)。
次事件流:基于主事件流(比如,在点外卖时手机没电了)。
2.2 场景设计法设计测试用例
2.2.1 步骤
- 确定主事件流
- 确定次事件流
- 将这些事件转换成测试用例(一个场景对应一个测试用例)
2.2.2 举例
ATM 机取款
以上流程为主事件流。
接下来,基于主事件流需要思考次事件流有哪些。
3. 错误猜测法
3.1 概念
错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。这个方法强调的是对被测试软件的需求理解以及设计实现的细节把握,还有个人的经验和直觉。错误推测法和目前流行的 “ 探索式测试方法 ” 的基本思想一致,这类方法在敏捷开发模式下的投入产出比很高,被广泛应运于测试。这个方法的缺点是难以系统化,并且过度依赖个人能力。
3.2 举例
以注册为例1 、校验中特殊字符空格的处理 ?2 、密码校验中的大小写?3 、姓名中的特殊字符?4 、密码发送是否明文
4. 案例
4.1 模拟弱网
模拟弱网可以使用很多工具,此处我们应用 Fiddler 进行模拟弱网。
首先,在 Fillder 中打开弱网设置:
接下来,点击用户相关的规则:
按住 ctrl + F 键进行搜索,搜索 BeforeRequest :
从此处向下翻,找到下图所示进行修改:
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = "300";
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = "150";
}
因此,我们修改一下 数字 即可模拟弱网。
4.2 cd linux 命令测试
cd 当前路径下的一个文件夹
cd 文件(不是一个目录 报错)
cd 上一个路径
cd 路径
zip 是一个命令,同样也是一个可视化 PC 端。进行测试时可以从 界面、功能、性能等方面设计测试用例。
4.3 测试一个接口
接口请求方法:get, post...
使用 get 可以请求成功,使用 post 无法请求成功。
在 postman 中进行测试:
按照同样操作将 GET 改为 POST:
将 GET 请求修改为 POST 请求后,发现无法正常返回内容,提示信息表明不支持 POST 请求方法。
同样,还可以对参数进行测试。
参数全部填写,参数全部不填写,参数填写部分。
参数类型:符合接口的参数类型, 不符合接口的参数类型。
5. 测试用例设计
测试用例万能公式:界面、性能、易用性、安全、兼容、功能。
5.1 水杯测试用例设计
界面 | 实体:从外观看,是否美观 |
性能 | 水杯使用寿命 水杯抗摔 水杯高温、低温耐用 |
易用性 | 水杯拿着是否舒服 水杯携带方便 水杯是否可以折叠 |
安全 | 从水杯材质考虑,水杯材料是否安全 水杯装一些化学物质时。是否会产生有毒物质 |
兼容 | 除了装水是否能盛其他物品 |
功能 | 水杯用来做什么 带刻度 |
5.2 微信发送朋友圈测试用例设计
需要注意的是,在拿到一个测试的题目时,不要直接说测试点,而是要先将测试用例进行归类(界面、性能、易用性、安全、兼容、功能)。
6. 某手机软件有用TF卡导出数据的功能,请写出测试此功能的思路
考虑方向
| 检查点 | 测试思路描述 |
---|---|---|
正向
| 导出数据正确性 | 导出数据,验证数据正确性 |
逆向 |
导出数据有效性
|
无数据时,导出功能是否正确
|
边界容量
|
TF
卡空间不足
|
只能容纳部分数据
|
边界容量
|
TF
卡容量已满
| |
容错
|
TF
卡写保护
| |
容错
|
TF
卡无法识别
| |
容错
|
人为中断
|
导出时拔掉
TF
卡
|
容错
|
导出时断电、关机等
|
再开机后检查能否正确导出
|
性能
|
连续多次导出
|
脚本实现,大量导出,查看数据是否正确
|
性能
|
检查导出速度
| |
兼容性
|
不同品牌和容量
| |
兼容性
|
不同分区格式
FAT,FAT32,
NTFS
|
不使用手机自带的
T
卡格式化功能
|