主要考察面试者的语言表达能力、逻辑思维能力、反应能力、理解能力、协调能力等,一般会在面试开始热身的时候问一两道题。
1、自我介绍
2、换工作的意图,遇到了什么问题,你想要新的公司/团队给你带来什么?
3、为什么选择软件测试这一行,觉得自己有什么优势或劣势?
沟通能力强,善于与人打交道;
是一个比较细心且有耐心的人;
有点强迫症,追求完美;
爱总结,会将测试过程中发现的问题进行归纳总结,形成经验教训;
爱学习并且善于学习,能很快掌握新工具的使用;
综合起来我觉得我是胜任这个工作的。
4、你未来的职业规划?
5、当开发人员说不是bug时,你如何应付?
主要考察面试者的基本能力,比如测试计划、流程、bug的定义、做过哪些测试。一般我们认为这些能力做的再好都是应该的,不会有加分;但如果做的不好,那就是个不合格的测试工程师了。
1、请描述你上个项目的测试流程?
参与需求评审->编写测试计划->设计测试用例->用例评审->执行测试用例->缺陷提单->编写测试报告
细一点的话,可以将冒烟测试-接口测试-UAT用户验收测试等也加入进去,视情况而定。
2、请描述下bug的几个要素?
包含:标题、问题描述,详细操作步骤,发现时间,系统环境,硬件环境,严重程度,功能模块,是否会重现,最好提供:有问题的账号、对应的报错截图、或者报错日志等。
3、测试分为哪几个阶段,分别由谁来负责?
一般来说分为5个阶段:单元测试、集成测试、系统测试、验收测试
单元测试一般由开发人员进行自测;
集成测试和系统测试,由测试工程师负责;
验收测试,则由甲方或者业务方进行验收。
如今是移动互联网的天下,大部分公司都有APP应用、小程序、公众号等,做好响应准备是必备的。
1、你是如何做应用的兼容性测试的?
主要涉及iOS和Android端,
(硬件方面)
1)设备类型:区分iOS不同机型、Android不同机型、平板电脑、穿戴式设备等;
2)生产商:Android手机不同厂商会有定制化差异
3)显示屏:屏幕大小、分辨率、刘海屏、大屏、小屏、折叠屏、曲面屏等
4)、不同系统(12、13、14、15等)
(软件方面)
操作系统:安卓不同版本的系统、鸿蒙系统、iOS不同版本的系统等;
(其他方面)
1)开发技术、语言的不同:RN、H5、native等;
2)网络:2G、3G、4G、5G、wifi、弱网等;
3)用户使用习惯:如大字体的适配、语言的变化(中文、英文、繁体)等。
2、举几个你测试过程中遇到的兼容性问题?
1)H5页面中CSS样式兼容:样式错乱、布局不灵活、样式便捷处理不好看,导致窄屏手机显示异常等;(一些属性的浏览器标示前缀没有添加,导致默认浏览器不认识这个属性,所以样式错乱)
2)H5页面缓存问题:页面一直显示修改前的样式,需要强制刷新页面或者清除缓存才生效;
3)上下滑动卡顿:安卓和大部分iOS手机上下滑动顺滑,小部分iOS手机卡顿等
3、你觉得哪些场景需要做兼容性验证?
4、有没有遇到过手机崩溃(闪退)?碰到了怎么解决,通常是什么原因造成的?一般怎么抓取日志?
1)系统不兼容,版本不兼容,导致一安装就闪退;
2)空指针:对象没有初始化就使用了(点击某个功能的时候闪退);
3)代码错误:没有经过测试的新功能,可能会导致App在生产环境中失败等。
1、在接口测试过程中发现的bug多不多?能举几个例子?
比如,输入框,在页面上输入负数,肯定是无法提交过去(前端页面会判断金额),如果我不走前端,直接用接口工具发请求,输入一个负数过去。 (假设服务端没做提现金额数据判断) 余额=当前余额(100)-提现金额(-100),那么提现-100,余额就变成200了,也就是越提现,余额越大了。
1)数字录入框:输入非数字
2)长度校验:输入超过最大长度、输入空等
2、你们公司的接口测试流程是怎样的?
首先是从开发那里拿到API接口文档,了解接口业务、包括接口地址、请求方式,入参、出参,token鉴权,返回格式等信息。
然后使用Postman或Jmeter工具执行接口测试,一般使用Jmeter的步骤是这样的:
1)在测试计划下新建一个线程组;
2)添加HTTP请求默认值(输入接口服务器IP和端口);
3)添加对应的HTTP请求,一个请求一个用例(包括输入接口路径,访问方式,参数等);
4)然后创建断言和查看结果树;
5)最后调试并执行用例,最后编写接口测试报告。
3、jmeter中如何实现关联?
先从上一个接口中通过正则表达式提取器或jsonpath解析器截取下一个接口需要的参数值保存到变量,然后在下一个接口中通过${变量名}去获取。
Jmeter,JSON提取器【提取满足特定条件的变量值】
4、谈谈你对HTTP协议的了解?
http:超文本传输协议,端口为80,特点(无记忆功能、快速)是由请求和响应两部分组成。请求由请求头、请求行、请求正文组成;响应是由响应头、响应行、响应正文组成,之前我们公司的接口是采用https协议的。
https:http+ssl协议,端口443,面向安全的超文本传输协议,较http更安全。
5、get和post请求有什么区别?
get和post请求都是客户端向服务器提交的一种请求方式
get是明文传输参数、倾向于请求服务器资源。比如打开网站
post传输数据不可见,安全性高,倾向于向服务器提交数据,比如注册等
1、说下左连接和右连接的用法?
left join (左连接)、right join (右连接)、inner join (等值连接或者叫内连接)、full join (全外连接)
用法:select * from A表 left join B表 on A.id = B.id;
2、写一个更新语句?
update 表A a set a.phone = '188XXXXXXXX' where a.id = '2212';
3、模糊查询用什么关键词?like
1、说说你常用的linux命令?
2、查日志一般用什么命令?tail
3、查日志时,搜索关键词的命令?
tail -f log |grep '188XXXXXXXX'
4、如何查看进程,CPU使用率?top
1、有做过敏捷项目吗,和传统的项目有什么区别,使用了什么措施?
敏捷项目:每日站会,看板监控,燃尽图,开短会,计划发布,迭代复盘会议等,
敏捷相对于传统项目迭代会更快,一般2周一个迭代,快速响应需求,需求变更频繁等。
2、敏捷测试下的工作流程?
1)更侧重于用x-mind编写测试场景,进行测试场景评审,减少测试用例、测试计划等工作的比重
2)在前后端联调期间即进行接口测试,尽早开始测试;
3)关注持续迭代的新功能,针对新功能进行足够的SIT测试;
4)引入探索性测试,由于时间原因,一般只进行一轮回归测试等。