测试用例是什么?
测试用例是为了满足需求,设定的条件,步骤,而得到的预期结果用文字的形式整理出来。
通俗的讲:就是把我们测试系统的操作步骤按照一定的格式用文字描述出来。
写测试用例有什么好处?
1、理清思路,避免遗漏
2、跟踪测试进展
3、历史参考
1. 什么是黑盒?什么是白盒?白黑和黑盒的测试方法有哪些?
黑盒测试也称为功能测试或者数据驱动测试,把程序看作一个不能打开的黑盒子,在完全不考虑内部结构和内部特性的情况下,对程序接口进行测试,来验证界面和功能
常用的黑盒测试方法:等价类划分法,边界值分析,因果图,场景法,正交实验,判定表,错误推算法
白盒测试:也称为结构测试或者逻辑驱动测试是针对被测单元内部如何工作的测试
常用的白盒测试方法:
1. 不用运行程序的测试
2. 需要执行代码 通过运行程序找到问题
2. 测试流程:
需求评审-系分评审-测分评审+用例评审-冒烟测试-功能测试-回归测试-验收-测试报告-线上测试
3. web测试和app测试不同点
架构
web测试是基于B/S架构一般是浏览器的测试
app 是C/S架构需要安装各种客户端的
性能
web性能方面关心响应时间
app关心流量、cpu、内存,电量
兼容
Web是基于浏览器的所以更倾向浏览器和电脑硬件、电脑系统方面的兼容
App测试考虑分辨率,屏幕尺寸,操作系统、网络,安装,卸载,更新、弱网、面容手势
4. 缺陷按优先级分为哪些类型? p1-p5 面试重点
- 缺陷必须立即解决
- 缺陷要求正常排队等待修复
- 缺陷可以在方便时被纠正
- 下一个版本修复
- 不修复
5. 测试用例的内容是什么? 面试重点
用例编号
用例模块
用例标题
前置条件
测试步骤
预期结果
实际结果
6.测试结束的标准是什么? 面试重点
测试用例全部执行
验收通过
bug 已经全部修改完成且通过验证,未修改的有相应的状态,暂缓的有相应的解释
测试报告已经编写完成
由相关测试负责人 PD、开发确认
7. 简述缺陷的生命周期? 面试重点
软件测试人员提交缺陷(new);
测试负责人审核后将缺陷分配给相关开发人员修复(修复中)
缺陷被修改后有测试人员根据缺陷报告中修改记录进行返测(已修复待验证)
返测通过的缺陷由负责人关闭;(close)
返测未通过的缺陷直接返回给开发人员重新修改,然后再由测试人员返测,直到测试和开发达成一致处理意见(reopen)
🍉Q:网页崩溃的原因是什么?
1. 内存泄漏
2. 网页代码复杂和浏览器bug
3. 网页数据过多
🍉Q:偶然闪退的排查?
一般成熟的团队都会有 crash 的监控平台,可以从 crash 平台上去查看 crash 发生位点。
手工尝试复现 crash,一般偶然的闪退,都不会特别容易复现,可能需要适当施加一些比较苛刻的条件(弱网、断网、快速点击、快速划动等等)。
查看 crash 日志,比如 Android APP 可以用 adb 命令去查看:
adb logcat +文件路径| grep crash
Q:网页卡顿的原因是什么?
原因一:http 请求次数太多
解决:规范接口设计,减少 http 请求次数。
原因二:接收数据时间过长,如下载资源过大
解决:对 HTTP 传输进行压缩,可采用 gzip 无损压缩,压缩效果最佳。
原因四:CSS、JavaScript、图片等需要重复加载
解决:静态资源统一放在一个静态域名上,减轻重复下载静态资源的负担。
原因五:cookie 影响
解决:减小 cookie 的影响 。去除没有必要的 cookie,如果网页不需要 cookie 就完全禁掉。此外,对 cookie 瘦身和设置合适的 cookie 过期时间,也能削弱 cookie 的影响。
🍉Q:10%的用户反馈用不了功能,你讲如何排查?
APP 版本影响,可能是接口改动没有考虑版本控制,对低版本用户造成影响。
操作系统版本,可能是用户的操作系统过高或过低,没有做好兼容。
灰度测试或 AB 测试,可能是功能缺陷导致对部分灰度用户产生影响。
跟会员用户有关,可能是一些功能仅仅只对 VIP 会员开放,然而这部分功能有缺陷。
跟用户分布地域有关,比如说:有些地区没有开放功能,但是也给这些用户展示了入口。
🍉Q:登录的按钮不能点击,如何排查问题?
登录按钮不能点击,大概率前端会有问题:
- 前端没有响应用户点击事件,导致请求发不出去。
- 前端发起 HTTP 请求,但是后端接口返回异常,前端捕获异常之后,没有处理。
- 网络异常,发不出去请求,但是前端也没有作出提示。
- 内存不够,导致页面卡死
🍉Q:压测的时候,QPS一直上不去,你会怎么排查?
看被测服务器的性能,看是否资源被打满,导致请求无法连接 解决办法:被测服务器扩容。
看接口是否出现报错,以及响应时间是否变慢 解决办法:接口性能优化。
看压测机器的性能,是不是网络 IO 占满,并发数达不到 解决办法:多台压测机器并发。
看压测工具是否支持并发请求 解决办法:采用多线程或协程的方式去并发请求
🍉Q:APP提示无法连接网络,你会如何排查?
检查 4G 和 Wifi 是否可用,可以先看手机网络连接图标状态,有无信号,是否弱网,并且可以切换其他 APP,测试网络是否可用。
检查是否有网络限制,比如仅公司内网可用的 APP,你在别的网络环境是无法连接的。
检查是否连接了代理或代理连接是否出现异常,手机连接电脑代理之后,如果不安装证书,发起 https 的请求将出现异常。
- 抓包,检查 APP 请求的域名是否正确
- 抓包,检查后端接口是否响应超时
- 抓包,检查后端接口是否返回异常,而 APP 没有做相关的异常提示
🍉Q:怎么判断一个BUG到底是前端的BUG还是后端的BUG?
样式和交互层面的 Bug,大概率都是前端的 Bug
数据和文案相关的 Bug,大概率都是后端的 Bug
拿移动端来说,最简单但是又最实用的办法是对比测试,即 Android 和 iOS 对比测试,
假如说 Android 和 iOS 都有问题,可能是后端 Bug;
假如说 Android 和 iOS 有一端有问题,则可能是 Andorid 或者 iOS 某一终端的 Bug,但也不一定绝对,也有可能是后端的 Bug。