一、你是怎么测试接口的?
考点:
- 是否具备接口测试实际经验
- 是否熟悉接口测试的流程
- 是否熟悉接口测试的具体步骤
- 是否熟悉接口测试用例设计
参考答案:
- 先了解接口的业务功能、入参出参以及接口对应的数据存储,再依据接口测试用例设计方法完成接口测试的设计,用例设计险业务场景在参数判断,比如参数的边界值、格式、组合等等,最后一句测试用例使用接口测试工具完成接口测试,并在测试过程中查看日志及数据以确保接口测试结果的正确性
二、没有接口文档如何做接口测试?
考点:
对接口测试的熟悉程度
测试软技能
- 没有接口文档,那就需要先跟开发开发沟通,然后整理接口文档(接口文档本是开发来写)
- 没有接口文档,可以抓包看接口请求参数,然后不懂的跟开发沟通
三、接口测试用例的编写要点有哪些?
考点:
接口测试用例设计
参考答案:
- 必填字段:请求参数必填项、可选项
- 合法性:输入输出合法、非法参数
- 边界:请求参数边界值等
- 容错能力:大容量数据、频繁请求、重复请求(如:订单)、异常网络等的处理
- 响应数据校验:断言、数据提取传递到下一级接口…
- 逻辑校验:如两个请求的接口有严格的先后顺序,需要测试调转顺序的情况
- 性能:对接口模式并发测试,逐步加压,分析瓶颈点
- 安全性:构造恶意的字符请求,如:SQL注入、XSS、没敢信息、业务逻辑(如跳过某些关键步骤;未经言则会那个操纵敏感数据)
四、接口测试中的加密参数如何处理?
考点:
- 是否熟悉加密解密方式
- 是否具备加处理密参数的能力
- 是否实际应用过
参考答案:
首先了解参数的加密方式,常见的有MD5、aes、res等等,如果是aes的需要早开发要西药,如果是rsa需要召开i发药公钥和私钥,然后在接口测试工具中引用加解密的代码实现参数的加密过程,实现参数加密的处理;如果公司有自定义的加密算法需要找开发要加解密的代码实现,然后在测试工具中使用。
五、接口应用题
问题一:设计接口测试用例时,涉及的是电商系统,齐总包括很多修改,如商品、商家、店铺等等,针对这些数据的修改,会涉及到很多参数。如商品的名称,商品的尺码,商品的颜色等等。那再设计实现“修改”接口是时,如何确定要传那些参数,是只需要传我要修改的参数,还是全部参数都要穿?
六、同步和异步区别?
考点:
- 考察对企业中接口通信机制的认识
- 考察同步通信和异步通信的原理
参考答案:
同步和异步是一种通讯方式
同步:执行一个操作时,需要等待其处理完成,然后在进行下一个操作
异步:执行一个操作时,不需要等待返回,就进行下一个操作,一般需要使用消息中间件
举例:
下单接口中,需要调用库存接口做库村判断,所以必须等待库存接口返回数据才能进行下一步操作,这是同步;
下单接口中,需要调用库存接口做库存判断,所以必须等待库存接口返回数据才能进行下一步操作,这是同步;
下单接口中,下单成功后需要调用邮件通知接口,不用等待接口返回成功,就可以直接进行下一步操作,这是异步。
七、pytest里如何进行case的组装
考点:
考察使用pytest组的case的能力
参考答案:
- 默认使用检查以test_.py或**test.py命名的文件名,在文件内部查找以test开头的方法或函数,并执行
- 可以使用自定义marker(标签),比如pytest运行的时候就只运行带有该marker的测试用例,比如下面的@pytest.mark.P0
- 在命令行使用 指定文件
- 参数 -k args 模糊匹配case(关键字args:可以是py文件名,也可以是函数名)
八、说说pytest里的钩子函数
考点:
pytest基础知识
参考答案:
几个常用的钩子:
pytest_configure(config):添加自定义的标签等
pytest_collection_modifyitems(items):在case收集后调用,可以对项目顺序或其它功能进行自定义
pytest_addoption(parser):为命令行添加自定义参数



