用15分钟左右的时间,快速过滤掉不合适的人选。
注意,通过本话术面试的候选人,不一定是合适的;
反过来,通不过的候选人,肯定不合适
我看到你简历上最近的一个项目是 XXX, 我们聊聊这个项目的情况吧。
问题一: 介绍一下你们测试的对象吧?简要讲讲你测试的这个 App/网站/系统 是干嘛的?
评分标准:2分钟左右讲清楚测试对象
差:说不上来,啰嗦,无条理,想到哪说到哪,没重点,念稿子等;听完后你还是不清楚测试对象是啥。
中:能完整介绍测试对象,听完后你能清楚测试对象是什么。
好:清晰,有条理,有重点描述清楚测试对象。听完后你对测试对象有不错的了解。
参考回答:
我们测试的是一个 (电商|知识付费|在线教育|外卖|...) 类的 App,
用户可以使用这个App做这些事情: 1. 2. 3. ...
这个App的主要功能模块有: 1. 2. 3. ...
这个App有 iOS/Android/H5/小程序/... 等版本和后台管理系统
项目的每个月发布一次版本...
...
问题二: 项目组织架构?各个角色人员数量?一共有几个测试?你们是怎么分工的?
评分标准:2分钟左右讲清楚团队情况、分工和自己的职责
差:回想半天也说不清楚
中:勉强能回答
好:干脆利落,如数家珍
参考回答:
这个项目一共有10个人,
1个产品负责人,1个项目经理,1个技术负责人,
2个前端一个负责iOS,一个负责Android,3个后端开发,1个测试负责人带1个测试
测试负责人和产品负责人、开发负责人和项目经理对需求、计划和进度。
我负责 (iOS|Android) 端App的模块(A|B|C...)的功能测试和接口测试。
功能测试我需要先设计好模块的用例,提交评审,评审一般有(...)参加
我还负责(跟踪问题|整理测试报告|...)
问题三、用例设计覆盖 (5分钟左右)
考察流程覆盖、细节考虑,建议用一个常见的、大家都熟悉的功能场景。
比如手机话费充值
Q:针对手机话费充值这个场景,要求尽量覆盖功能流程,考虑细节。你会如何写用例?
好的回答:
1. 能覆盖完整功能流程,包括正常流程和异常流程
正常流程:
点击充值,跳转到充值页面
选择金额/输入金额,输入手机号码/为本机充值
点击提交,检查成功/失败页面
检查通知信息
检查新的账号余额
异常流程:
错误手机号
错误金额
支付余额不够
网络中断/切换
点击取消按钮
2. 有对细节的考虑,比如充值号码、充值金额等输入的有效性验证、余额检查等
差:零散的用例,不能覆盖全部流程,没有细节考虑
中:能覆盖流程但是缺少细节考虑 或者 勉强覆盖流程,细节考虑全面
好:能覆盖完整流程,细节考虑全面,条理清晰,主次分明
问题四、常用测试工具使用(5分钟左右)
只考察候选人简历中提到的工具/或者JD中要求的工具。
这些问题是由浅到深、从易到难排列的,
不一定要问全部问题,答不上来就不用继续往下问了。
是/否的问题可以追问细节
有参考答案的问题可以检查候选人是否提到了某些关键词
评分标准:
差:仅能回答第1,2个问题
中:能回答3个及以上的问题
好:全部能回答
Fiddler/Charles 抓包
Q: 用 Fiddler/Charles 抓过包吗?
Q: 有在实际测试项目中使用过吗?
可以追问具体是什么项目,用来具体做了什么。
Q: 一般什么场景下使用?
定位测试中的问题,弱网模拟,协议数据查看,协议数据修改等
回答出1个以上
Q: 一般看哪些数据?
请求的URL,请求的参数,请求头,Cookie,POST数据,响应码,响应头,响应正文
能回答出3个以上
Q: 了解 HTTP 协议吗?GET/POST有什么区别?
GET使用URL参数传递数据,有长度限制
POST使用请求Body传递数据,没有限制
因为GET使用url参数传递数据,容易泄露敏感信息
POST使用请求body传递数据,相对安全
GET请求可以被浏览器缓存
POST请求不会被浏览器缓存
能回答出2个以上
Q: 有哪些响应码?各是什么含义?
1开头的响应码 表示 提示信息,比如 100
2开头的响应码 表示 成功,比如 200
3开头的响应码 表示 重定向,比如 301,302
4开头的响应码 表示 客户端错误,比如 401,403,404
5开头的响应码 表示 服务端错误,比如 501,502,503
能回答出来3个以上
ADB 安装、提日志、Monkey等
Q:使用过 ADB 吗?
Q:ADB使用环境怎么配置?
安卓手机打开 “开发者模式”,用USB数据线连上电脑
Q:安装apk包的命令是什么?
adb install
Q:提取Android设备日志的命令是什么?
adb logcat
Q:用ADB还做过哪些任务?
monkey测试、adb shell monkey
查看设备、adb devices
JMeter 压力测试、性能测试
Q:用过 JMeter 吗?
Q:什么场景下使用?
Q:具体怎么使用的?
Q:压力测试/性能测试关注哪些指标?
测试结果指标:响应时间,并发、吞吐率、错误率等
服务端指标:CPU,内存,平均负载,磁盘IO等
各能回答上2个以上
Q:写过性能测试报告吗?
问报告中包含哪些内容,一般会包含测试结果指标、服务端指标、结论、优化建议等
Postman 接口测试
Q:使用过 Postman 吗?
Q:什么场景下使用?
Q:具体是怎么做的?
一般按照开发提供的接口文档手动或者写脚本测试
Q:GET和POST区别?
参考前面抓包工具部分
数据库使用
Q: 你测试中需要查询数据库吗?会写SQL语句吗?解释一下 left join 和 right join 的区别?
差:没用过
中:会写简单SQL查询
好:会写复杂 join 查询,能讲明白两种 join 的区别
left join: 根据join字段,以左表记录为准,右表缺失的记录在查询结果中为NULL
right join:根据join字段,以右表记录为准,左表缺失的记录在查询结果中为NULL