问题1:请自我介绍下?
问题2:请介绍下最近做过的项目?
问题3:请介绍下你印象深刻的bug?
问题4:Fiddler工具怎么使用的?
问题5:说一下你常用的Linux命令?
问题6: 数据库在哪里使用过?
这6个面试题该如何回答才能不踩坑?
面试题1:请自我介绍下?
核心要素:
个人技能优势+工作背景+经验亮点
参考回答:
第一种:基本信息+离职理由
面试官您好,我叫张三,来自番茄市,在软件测试行业有3年的工作经验。做过 Web/APP及小程序项目的测试工作,有独立负责整个项目的测试经验。
由于个人原因从上家公司离职,目前为离职状态,以上是我的个人介绍。
第二种:基本信息+项目介绍
面试官您好,我叫张三,来自番茄市,在软件测试行业有3年的工作经验,做过 Web/APP及小程序项目的测试工作,有独立负责整个项目的测试经验。
最近做的项目是 xxx,这是基于(B/S 或 C/S)架构的 xxx 产品,在该项目中我主要负责 xxx 业务和xxx 业务及 xxx 模块和 xxx 模块的功能,接口及自动化测试。
在功能测试中主要运用到 xxx 测试工具和 xxx 缺陷管理系统,在接口测试中主要使用到 xxx 工具,自动化测试是基于 Python+Requests+pytest+Jenkins 实现的测试框架搭建和测试实现。以上是我的个人介绍。
面试题2:请介绍下你最近做的项目?
核心要素:
项目是干什么的,包含几个平台,给谁用的, 分别是用来做什么的,核心业务是什么,自己负责哪些模块。
参考回答:
我最近的项目是金融的借贷项目,包括前台(Web/APP)和后台管理系统(Web)。
前台包括:首页,品质理财,智能投顾,社区,个人中心(个人借款和我的投资的信息板块,可以相互切换)。
后台包括:系统首页,借款中心,资?管理,用户管理,认证管理,内容管理,消息通知,客服等。(基金理财,保险理财,银行严选专区)
核心业务:
贷款流程(分为个人借款和在线借款)
个人借款:
注册–登陆–开通资金托管账户–申请额度–额度审核成功–借款方式(信用抵押)–填写借款申请–提交借款申请成功–后台初审
管理未审核–后台管理员初审标审核通过(未通过,驳回,借款?在未通过时撤销)–借款申请成功
在线借款:
未注册–在线申请借款-借款申请审核通过–后台添加用户–用户前台开通资金托管并申请额度–额度后台审核通过–发布借款–初审标通过–借款成功
投资流程
注册–>投资人登录–>开启资金托管–>小额充值–>风险评测–>选择款标进行投资–>满标 -->满标审核通过–>借款人还款
我主要负责借款和P2P投资两个核心模块的功能测试和相关接口测试。
面试题3:请介绍下你印象深刻的Bug?
核心要素:
结合自己的项目说。
参考答案:
我之前有测过一个功能,点击了按钮之后,这个页面是没有反应。我就把这个问题给后端提了一个 bug 。
这个后端的开发看了日志之后就把这个 bug 给我打回来了,说这个不是后端的 bug ,我用抓包工具看了一下接口和响应之后才发现这个是前端的一个 bug 。
这个bug之所以深刻,是因为自己没有多思考就提了bug,在以后的工作中的话,我碰到 bug 首先就首先的话自己先去复现,然后去定位这个 bug 的前端还是后端,然后再进行提 bug 。
面试题4:fiddler工具用过吗?你怎么使用的?
核心要素:
fiddler工具使用经验+fiddler工具功能总结
参考回答:
1、Fidder我在项目的登录注册模块有用到,在前台注册有效邮箱提交,用fidder进行拦截,抓包后在fidder中修改成无效的邮箱,提交看是否能注册成功,成功了就是后台接口没有进行验证。还可以对支付订单信息这里进行抓包修改数据,修改钱数,花1分钱买东西。
2、曾经接手过一个项目,什么文档都没有,还要对项目接口进行验证。Fiddler打开,然后访问项目网址,抓项目的网络请求,看看具体访问了哪个接口,传了什么样的数据,和返回数据,然后整理成文档。方便后期使用。
Ps:Mac抓包不用fiddler。得用Charles。
fiddle的作用主要是下面4个吧:
1、分析缺陷是前端的问题还是后端的问题。
例如:提交订单的请求地址:
① 界面组织提交订单商品数据,点击【提交订单】,触发发送请求。
② 后台代码进行处理,处理完成之后,返回订单相关数据。返回的数据由开发者来决定(需求来决定到底返回哪些数据)订单编号、订单金额例如订单金额在界面显示错误,抓取提交订单响应数据,查看接口返回信息中订单的总额是否是正确。如果接口中订单总额正确,则是前端的问题,如果是响应信息中订单总额是错误,则是后端的问题。
2、前端对于输入信息做了对应限制,不代表后端代码也做了限制,每个请求地址对应懂IT的人的来讲都是能够直接跳过前端页面进行操作的。验证后端对于异常输入的是否也有做对应限制。
3、接口测试测试每个请求的实现情况。部分公司的开发没有编写接口文档,则可以通过抓包工具获取到具体接口地址。
4、做手机端弱网测试。
面试题5:说一下你常用的Linux命令?
核心要素:
Linux应用场景总结+具体命令,功能
参考回答:
作为测试,我使用Linux主要是再下面4个场景中:
1)开发人员提测,我这边就要用linux去搭建测试环境。
2)比如说开发人员提测后,我要去将他的代码部署到指定的路径下,就需要用到解压的命令。还要进行编译和安装。
3)还有的时候测试时服务器挂了,要重启服务,我?的是service的那个命令。还有的重启后要查看下进程啊,和端口啊什么的。
4)但是呢大部分用的比较多的就是测试时出现错误就会去服务器查看一下日志信息 ,用的是tail -f 日志文件。
一些简单的,比如ls ll cd pwd这些我就不说了,用的比较多的linux命令有下面这些:
查看进程:ps -aux 查看端口:netstate -tnulp | grep 端口号。
杀死进程:kill 强制结束进程kill -9。
远程拷贝:scp find 查找指定的文件。
tail -f 实时查看?志 cat ?于显示指定文件的全部内容。
mkdir 创建目录 touch 创建新的文件。
tar.zxvf 解压 chmod -R 777 赋予777权限。
grep 查找文件里符合条件的字符串。
vim编辑 命令模式,文本模式,末行模式。
面试题6:数据库在哪里使用过?
参考回答:
1 执行测试用例时,有时需要到数据库验证数据的准确性与完整性。
2 进行bug定位时,有时需要到数据库查看数据的详细信息。
3 构造某种测试场景时,可以在数据库里直接修改数据,要比使用界面更有效率。
4 软件升级过程中,经常会涉及到对历史数据的处理,这种情况需要执行升级sql,并验证结果。
insert into插入数据,update修改数据,内连接查询,左右连接查询,子查询,个人都非常熟。
个人用的比较多的是数据库可视化工具是navicat。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
在如此生活工作的繁忙中,也要随时培养出学习的习惯和能力,只有掌握了好的方法,人生进步才能进步。
低头不是认输,是要看清自己脚下的路,仰头不是骄傲,是为了看更大的天!如果你在本该努力的年纪选择安逸,那么你将一败涂地。
这个世界是永远比你想的更精彩的,不要败给生活。趁你还有时间,尽你最大的努力,做成你最想做的那件事,成为你最想成为的那种人,过你最想过的那种生活。