在面试测试工程师的时候会遇到面试官提各种各样的问题,特别是对于没有经验的人来说往往都很难正确的回答上,
所以这里根据我个人的工作经历整理了一部分经常会遇到的问题。
1、接口测试用例的设计要点有哪些?
对于这个问题我们可以从接口的组成来进行分析,一个接口主要有请求地址、请求方法、请求参数,其中请求地址和方法都是固定的,
所以我们主要应该从请求参数入手,主要可以从以下几个方面考虑:
1、参数字段个数:必填字段和可选填
2、参数合法性:输入输出合法、非法参数
3、边界:请求参数边界值等
4、容错能力:大容量数据、频繁请求、重复请求(如:订单)、异常网络等的处理
5、响应数据校验:断言、数据提取传递到下一级接口
6、逻辑校验:如两个请求的接口有严格的先后顺序,需要测试调转顺序的情况
7、性能:对接口模拟并发测试,逐步加压,分析瓶颈点
8、安全性:构造恶意的字符请求,如:SQL注入、XSS、敏感信息、业务逻辑(如:跳过某些关键步骤;未经验证操纵敏感数据)
2、post和get有什么区别?
这个问题应该是每一个做接口测试人员都能回答的问题,但是要注意说到重点:
1、get方法的参数是在URL中,post的参数是在body中 (本质区别)
2、get的参数是不加密的,post的是加密的
3、get方法的安全性没post的高
4、get方法能被缓存而post不可以
5、GET请求在URL中传送的参数是有长度限制的,而POST没有。
当然还有其他的很多区别,但是回答这几个主要的就差不多了。
3、你会使用哪些抓包工具?
抓包工具有很多种,但是我们技术人员最常用的不外乎就是Fiddler、青花瓷、F12这几种,所以选一个你自己最常用的就可以了。
当然面试官接下来的问题多半会问你为什么会用抓包工具?公司不是有接口文档吗?
4、使用抓包工具做什么?
对于中大型公司里面的开发人员都会编写好有完整的接口文档,那我们做接口测试的时候对照接口文档不就可以了吗?所以对于还
没有真正接口项目经验的小伙伴就不知所措了。那么我们测试人员抓包其实一般都是为了验证我们测试的数据在接口传递过程中是否正常
或者为了判断某个问题是前端问题还是后端问题。
5、怎么判断一个bug是前端问题还是后端问题?
这是很多面试官都会问到的问题,而且在工作中为了防止前端开发和后端开发人员相互踢皮球也是我们测试人员必须要掌握的知识点,
其实很容易判断,我们可以先抓包看请求报文,对着接口文档,看请求报文有没问题,有问题就是前端发的数据不对,请求报文没问题,那就看返回报文,返回的数据不对,那就是后
端开发的问题,这样我们测试人员才能有自己的判断,而不是任由开发相互扯皮。
6、你们公司是用什么做接口测试的?
每个公司做接口测试所使用的工具都是不一样的,有的会使用postman来做一些简单的单接口测试,但是对于一定数量的接口测试postman就很难胜任了,所以这时候不少公司就
会选择开源的jmeter来做,因为脚本也相对比较好管理维护也方便。
但是对于不少公司来说jmeter也满足不了自己的要求,这时候就会有测试人员自己编写测试框架(也就是测试开发),然后通过编码自己设计完成自己公司需要的功能。
7、接口测试框架你会吗?
很多小伙伴都会说我会使用unittest、pytest再或者testNG,其实这些框架对公司来说还不能满足要求,应该说我们的框架是在unittest或者pytest框架之上进行二次封装集成了
邮件系统和测试报告以及日志、重跑等功能,然后再说这样设计的优势,这样就会让人觉得这人是懂具体的框架实现过程的。
8、你们接口测试用例是在哪里?
这要看你们公司是用的什么工具来做接口测试的了,假如是postman和jmeter那么用例就是直接在它们的请求文件里面,但是假如是有自己的框架那么用例一般都在表格或者表
里面的。
总而言之我们在面试的时候要做好充分的准备,打铁还需自身硬。