您现在的位置是:首页 >技术杂谈 >软件测试中设计测试用例网站首页技术杂谈

软件测试中设计测试用例

熬夜磕代码丶 2024-08-16 00:01:02
简介软件测试中设计测试用例

在这里插入图片描述


前言

测试用例(Test Case):测试用例是为了实施测试而向被测试系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等
一个好的测试用例,即使是不懂业务的人也能根据用例很快的来进行测试。

测试用例的好处:
1.提高测试效率,节省测试时间
2.测试用例是自动化测试用例的前提条件

一、测试用例设计方法

基于需求的设计方法

需求文档 -> 梳理需求(掌握需求) -> 针对文档设计测试用例(基于需求设计测试用例)

如何基于需求的设计测试用例呢?我们以注册163邮箱为例:
在这里插入图片描述

在这里插入图片描述

等价类

依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。
等价类可分为:
1.有效等价类:对于程序需求是合理的、有意义的输入数据构成的集合
2.无效等价类:对于程序需求是不合理的,不满足需求的集合

我们可以设计一个密码长度 8 - 16之间的等价类,可以分为以下几步:
1.充分理解需求
2.划分有效等价类、无效等价类
3.从有效等价类抽出一个数据设计测试用例;从无效等价类抽取一个数据进行测试用例设计
在这里插入图片描述

边界值

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

边界点可以分为以下三种:
1.上点:边界上的点
2.内点:边界内的点
3.离点:边界附近的点(闭区间区间外上最近的点,开区间区间内距离最近的点)
我们举个例,我们以(2,14]为例:
上点:2,14 内点:11 离点:3 15

我们可以设计一个密码长度 8 - 16之间的边界值,边界值设计测试用例方法可以分为以下几步:
1.充分理解需求
2.找边界点
3.针对边界点设计测试用例
在这里插入图片描述

判定表

判定表是一种表示测试用例设计的矩阵,通常使用逻辑表达式表示程序的输入条件和预期结果的关系。判定表可以帮助测试人员在不同输入条件下系统地设计测试用例,以减少测试工作量并提高测试的覆盖率和效率。
关系:与(全真为真,一假为假)、或(有真为真,全假为假)、恒等(条件为真,结果一定为真)、非(条件为真,结果为假)

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

假设我们618购物,订单金额大于300如果有红包,可以进行优惠
输入:订单金额大于300,有红包
输出:优惠、不优惠

1.订单金额大于300,有红包,有优惠
2.订单金额大于300,没有红包,不优惠
3.订单金额小于300,有红包,不优惠
4.订单金额小于300,没有红包,不优惠

在这里插入图片描述
在这里插入图片描述

正交表法

正交表(Orthogonal Array)是一种设计实验用的组合表,通过在一定数量的测试步骤中选择最小的测试用例集来尽可能覆盖各种可能的输入组合。正交表的设计基于正交性原则,即在各个测试步骤中对每个因素进行均等且充分的测试。

常见名词:
因素:变量
水平:变量取值
在这里插入图片描述
正交表的性质:
1.每一列中各个数字出现的次数都一样多
2.任何两列中各有序数对出现的次数都一样多

如何通过正交表设计测试用例?
充分理解需要 -> 确定因素水平 -> 画正交表 -> 补充正交表 -> 将正交表转换成测试用例

比如以下场景:我们需要姓名、邮箱、密码、确认密码、验证码全部输入,才能注册成功
因素:姓名、邮箱、密码、确认密码、验证码
水平:填写、不填写

我们在画正交表时需要借助allpairs
在这里插入图片描述
我们复制表格数据到记事本
在这里插入图片描述
我们首先命令行切换到allpairs的目录下
在这里插入图片描述
在这里插入图片描述
TEST CASES就是我们的测试用例,~代表可填写,可以不填写,我们的一行就是一个测试用例

在这里插入图片描述

场景设计法

场景设计法是软件测试中一种比较常用的测试用例设计方法,其基本思想是根据系统的功能需求或用户使用场景来设计测试用例,以尽可能地覆盖各种可能的测试场景。场景设计法的核心是找到系统的所有关键场景,并根据这些场景设计相应的测试用例。

我们以小明追女神为例:
在这里插入图片描述
相当于是我们的一个主事件流,但往往会有一些突发情况,也就是我们的次事件流
在这里插入图片描述

错误猜测法

错误猜测法(Error Guessing)是一种常用的测试用例设计方法,其基本思想是根据测试人员对系统功能或代码实现可能出现错误的了解和经验,尝试猜测和发现各种可能的错误情况,并设计相应的测试用例来验证这些猜测。

错误猜测法可以分为以下几个步骤:

1.收集信息:测试人员需要仔细研究需求、设计文档以及代码等相关材料,收集有关系统的各种信息。

2.思考可能出现的错误:根据测试人员对系统功能或代码实现的了解和经验,尝试猜测和思考各种可能出现的错误情况。

3.设计测试用例:对于每个猜测的错误情况,设计相应的测试用例进行验证,并尽可能地覆盖各种可能的情况。在设计测试用例时应该将错误描述清楚,包括输入数据、操作步骤以及预期结果等。

4.执行测试用例:按照设计好的测试用例执行测试,发现问题并及时反馈给开发人员进行修复。

错误猜测法的优点是能够充分利用测试人员的经验和判断,发现可能存在的问题,并通过针对性的测试用例进行验证。同时,错误猜测法也具有灵活性和适用性,适用于各种规模的项目和各种类型的软件系统。

二、常见面试题

如何模拟弱网

可以借助许多工具(Charles、Fiddler)
Fiddler
在这里插入图片描述
首先打开弱网模式

在这里插入图片描述
选择用户模式,或者直接Ctrl + R
在这里插入图片描述
Charles:
在这里插入图片描述

1,点击【Proxy】–>【Throttle Setting】
在这里插入图片描述
2,勾选上【Enable Throttle】,也可以勾选【only for selected host 】 设置一个指定注解访问进行网络限制,不影响其他软件
在这里插入图片描述
3,在【Throttle preset】选择常见预设的网络情况,也可以在【Bandwidth】自己设置网络的上传和下载速率
在这里插入图片描述

接口如何测试

这里我们是依靠postman进行测试
在这里插入图片描述
针对接口的参数进行测试(传参数,不传参数,传入非法参数)

参数通过parameter、json传递

代码如何测试

比如我们写一个快速排序,如何对代码进行测试?
方法参数(参数类型,不给参数,参数为null)
异常处理
代码规范
白盒测试(语句覆盖、条件覆盖、语句条件覆盖、判定覆盖)

Linux命令

对zip命令如何测试?
功能:打包不存在的文件;命令正确,文件存在,是否被压缩;能否一次性打包多个文件;打包后的内容是否有缺失

界面:打包后的zip包高亮、打包后的文件后缀名.zip、

易用:输入错误,有没有提醒

性能:打包一个1KB文件时间是多少;打包文件是20GB时间是多少;一次打包多个

测试用例万能公式

测试用例设计万能公式:功能、界面、易用、兼容、性能、安全、网络、中断
功能:物体(物体是用来干嘛的)、软件(软件实现的哪些功能)
界面:物体(外表,材质,大小,容量)、软件(界面、字体大小、字体颜色、页面布局)
易用:经验(操作简单、使用流畅)、人性化
兼容:物体(本质功能,还有没有其他功能)、软件(操作系统、设备、浏览器版本)
性能:物体(使用寿命)、软件(响应时间、吞吐量、并发数)
安全:物体(材质是否有毒、对人体健康是否有威胁)、软件(SQL注入、xss漏洞、输入有毒的脚本)
网络:2G - 5G、弱网、WIFI
中断:电话中断、断电、断网

水杯测试用例

在这里插入图片描述

微信发朋友圈

在这里插入图片描述

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。