接口自动化精选面试干货(一)
更新时间:2022-02-10 09:30:02 作者:多测师 浏览:234
只要技术过硬,准备充分,任何时候都是找工作的黄金时期。
一.请问你是如何做接口测试的?
大体来说,经历以下过程:接口需求调研、接口测试工具选择、接口测试用例编写、接口测试执行、接口测试回归、接口测试自动化持续集成。具体来说,接口测试流程分成以下九步:
第一步:分析出测试需求,并请开发提供接口说明文档;
第二步:从接口说明文档中整理出接口测试用例,里面要包括详细的入参(正常情况,异常情况包括输入参数个数,类型,可选/必选,考虑参数有互斥或关联的情况)和出参数据(符合接口文档需求)以及明确的格式和检查点;
第三步:与开发一起对接口测试用例进行评审;
第四步:结合开发库,准备接口测试用例中的入参数据和出参数据,并整理成Excel格式的文件;
第五步:结合接口测试用例文档和Excel格式的数据文档,编写接口自动化测试的业务逻辑代码;
第六步:开始执行接口自动化测试用例;
第七步:执行如有bug,提交至缺陷管理平台;
第八步:开发修改完成后,回归bug,跟踪状态;
第九步:完成后进行自动化持续集成;
二.接口测试如何设计测试用例?
主要从四个方面来设计接口用例:功能,业务逻辑,异常,安全。
功能:是否符合需求
1)从用户角度出发看接口能否实现业务需求,功能是否正常;
2)功能是否按照接口文档实现;
举例:比如博客园添加随笔,需要登录才能添加。也就是业务要求不支持游客添加随笔功能,如果设计一个没有登录的用户,然后去测试添加随笔接口,结果接口能添加到随笔,说明功能不正常,不符合需求和接口文档描述。
业务逻辑:是否依赖业务
1)接口实现逻辑;
2)业务逻辑覆盖(语句/条件/分支/判定/…);
举例:该接口调用之前,需要调用登录接口,如果不登录也能请求数据,不符合业务逻辑。
异常:参数异常和数据异常
1)参数异常:关键字参数,参数为空,多,少参数,错误参数;
2)数据异常:关键字数据,数据为空,长度不一致,错误数据;
举例:不管数据异常还是参数异常,测试点差不多,一个参数有key和value,key表示参数,value表示数据。第一,看看参数和数据能不能支持关键字,例如Java中的保留关键字等等;第二就是参数和数据都为空,看看是否做了判断;第三,参数多和少,例如有两个参数的接口,需要设计一个包含三个参数的用例,一个只有一个参数的用例。数据长度不一致,例如设计很长的字符串是否支持,因为数据库创建表过程都设置好了每个字段的长度。输入错误的参数和数据,如故意输错单词等等。
安全测试用例设计:
1)cookie:有cookie才能获取数据,如果不带cookie还有信息返回,说明有问题;
2)header:正常接口带header信息,删除header看是否能够返回数据;
3)唯一识别码:app手机识别码,一般是唯一的;
4)文本输入框sql注入和xss攻击。
三.接口测试执行中需要比对数据库吗?
接口的返回关键字段和字段值是需要校验的,不然接口测试就没有意义了。
一般有两种方式:
1)数据库预置数据,接口校验返回;
2)接口调用,比对数据库查询结果。
四.接口测试质量评估标准是什么?
一般来说,从以下八个方面评估:
1) 业务功能覆盖是否完整;
2) 业务规则覆盖是否完整;
3) 参数验证是否达到要求(边界、业务规则);
4) 接口异常场景覆盖是否完整;
5) 接口覆盖率是否达到要求;
6) 代码覆盖率是否达到要求;
7) 性能指标是否满足要求;
8) 安全指标是否满足要求;
五.接口产生的垃圾数据如何清理
造数据和数据清理,需用Python连数据库了,做增删改查的操作测试用例前置操作。
setUp做数据准备后置操作;
tearDown做数据清理;
六.其他接口要先获取接口信息,如何让登录的接口只在其他接口调用一次?
解决方法如下:
使用单例模式;
使用自定义缓存机制;
使用测试框架中的 setup 机制;
pytest 中 fixture 机制;
以上内容为大家介绍了接口自动化精选面试干货(一),希望对大家有所帮助,如果想要了解更多接口自动化测试相关知识,请关注多测师。https://www.aichudan.com/xwzx/
上一篇:自动化测试简介
下一篇:接口自动化精选面试干货(二)