文章目录
测试用例
1、测试用例要素
- 测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合(测试环境、操作步骤、测试数据、预期结果等)
测试用例的好处
1.提高测试效率,节省测试时间
2.测试用例是自动化测试用例的前提
2.测试用例的设计方法
1.基于需求的设计方法
需求文档->梳理需求(掌握需求)->针对文档设计测试用例(基于需求设计测试用例)
只是针对需求进行了大概的测试
功能相关
业务流程相关(基于 需求规格说明书)
界面(UI设计稿)
易用性(符合用户操作、流畅使用)
非功能相关
兼容(各种PC浏览器、手机端、操作系统、界面相关)
性能(接口响应时间、接口请求的承载量、吞吐量必须符合期望,服务器CPU占用率,手机打开的耗电量)
安全(密码加密展示、加密保存、黑客攻击、防止SQL注入)
网络(弱网情况,charles/fiddler模拟)
2.具体设计测试用例的方法
1.等价类
根据需求将输入划分为若干个等价类,从等价类中选出一个测试用例。如果这个测试用例通过,则代表这一等价类的测试用例都通过。用较少的测试用例达到尽可能多的功能覆盖,解决了不能穷举测试的问题
有效等价类
- 满足用户需求输入的集合
无效等价类
- 不满足用户需求的输入集合
等价类思想设计测试用例的步骤
- 充分理解需求
- 划分有效等价类、划分无效等价类
- 从有效等价类中抽取其中一个数据,进行设计测试用例;从无效等价类中抽取一个数据,进行测试用例的设计
2.边界值
length>6 && length<16
length>=7 && length<=15
边界值分析法是对输入或输出的边界值进行测试,是对等价类划分法的补充
边界点
上点:边界上的点
内点:边界内的点
离点:边界值附近的一个点
闭区间:离点:区间外距离上点最近的点
开区间:离点:区间内距离上点最近的点
上点:6、15
内点:13
离点:5或者16
上点:6,15
内点:13
离点:7、16
边界值设计测试用例的步骤
1.充分理解需求 (6~15)
2.找边界点
上点:6、15
内点:13
离点:5或者16
3.针对边界点设计测试用例
3.判定表
-
判定表是一种表达逻辑判断的工具
-
关系:
与:所有条件必须满足。如果有一个不满足,就为假
或:满足其中一个条件,结果就为真。条件全部为假,就为假
恒等:如果条件为真,结果必定为真
非 : 条件为假,结果才为真
判定表设计测试用例的步骤
1.分析所有可能的输入和输出
2.找出输入和输出之间的关系
3.设计判定表
4.把判定表对应到每一个测试用例
4.正交表法
- 为了减少用例数目,用尽可能少的用例覆盖输入的组合
-UQq3wQtO-1717068042611)
4代表4行,3代表3列
名词
因素: 变量
水平:变量取值
性质
- 每一列中各个数字出现的次数都一样多(例如1/2/3都出现了三次)
- 任何两列中的各有序数对出现的次数都一样多(例如1/2列中,11、12、13都只出现了一次)
通过正交表设计测试用例
1.充分理解需求
2.确定因素水平
3.画正交表
4.补充正交表
5.正交表转换成测试用例
因素:姓名、邮箱、密码、确认密码、验证码
水平:填写、不填写
用allpairs画正交表
1.在excel中填写因素和水平
2.复制到allpairs目录下创建的txt文件
3.生成正交表
cmd 在allpairs目录中执行 allpairs.exe 文件名 > 结果文件名
F:\allpairs\release>allpairs.exe 240529.txt > 240529_result.txt
-
~意味着可以是填写、也可以是不填写
-
没有都不填写的,进行补充
5.场景设计法
主事件流:用户经常使用的场景
次事件流:意外事件
通常情况下,需要把用户经常用到的功能模块串联到一起进行测试
6.错误猜测法
以注册为例
1、校验中特殊字符空格的处理?
2、密码校验中的大小写?
3、姓名中的特殊字符?
4、密码发送是否明文
面试题
1.如何模拟弱网
借住工具,比如Charles、Fiddler
- 上传1kb数据,花费300ms时间
- 下载1kb数据,花费150ms时间
2.如何测试接口
依靠代码或工具 postman
针对接口的参数进行测试(传参数、不传参数、传入非法参数)
参数通过parameter传递还是json传递
3.对冒泡排序代码进行测试
方法参数(参数类型、不给参数,参数传递为空)
对异常的处理、代码的规范 、语句覆盖、条件覆盖、语句条件覆盖、判定覆盖
4.针对llinux命令测试
针对zip命令
- 功能:打包的文件不存在、是否能正常被压缩、一次能否打包多个、打包后内容是否丢失
- 界面:打包后的zip高亮、打包后的文件后缀名
- 易用:输入错误,有没有提示
- 性能:打包1kb文件的时间、20GB的文件、一次打包多个、节省的空间
测试用例设计万能公式
功能:物体:主要是干什么的,软件:软件要实现的功能
界面:物体:外表、材质、大小,软件:界面、字体大小颜色、页面布局
易用:操作简单、使用流畅、人性化
兼容:物体:除了本身的功能,还有没有其他功能。软件:操作系统、设备、不同版本等
性能:物体:使用寿命… 软件:响应时间、吞吐量、并发数
安全:物体:物体材质是否有毒、造成健康威胁 软件:sql注入、xss漏洞、恶意脚本、加密、权限
网络:网速、弱网、wifi、流量
中断:切换、电话来了等
5.水杯测试用例
功能:装水、不能漏水、水装满会流出、保温、刻度线准确、温度显示正确
性能:耐热性、耐寒性、腐蚀性、防摔性、抗压性、使用最长时间、使用最大次数。
界面:水杯logo展示是美观正确的、展示的温度字体的大小颜色美观、材质符合设计、生产信息展示美观正确
易用:过滤装置、拿着舒服、喝水方便、方便携带、使用方便、是否有吸管、防滑
兼容:装饮料、装酒精、泡茶、装水
安全:材质不能和水发生化学反应、不能烫手、高温、低温是否会出现有毒物质
6.微信发朋友圈
-
功能:
朋友圈正文:只发送文字(最多多少字符、英文、中文、表情、文本连接)、只发送图片(图片大小、图片顺序、图片删除)、只发送视频(视频类型、大小、个数、是否发送成功)、文本+图片可以发送成功、文本+视频可以、图片+视频不行
设置位置:可选择的位置、默认不带位置
设置可见范围:默认所有人可见、设置谁不可见
朋友圈内容是否有上限
保存编辑内容
-
界面:布局、字体大小颜色、展开
-
兼容性:手机:IOS、Android 电脑PC windows、mac、Linux
-
性能:用户最大承载量、响应时间、吞吐量、带宽、连接数
-
安全:是否有敏感词过滤
-
易用性:是否操作简单、设计见名之意
-
网络:5G/4G/3G 、弱网、WIFI
-
中断:发朋友圈的时候,接到电话、闹钟、切屏退出。