文章目录
一、接口相关理论
1、UI功能测试 和 接口测试 哪个先执行--为什么?
yacas
结论:接口测试先执行
原因:UI功能测试需要等待前端页面开发完成、后台接口开发完后且前端与后端联调完成。
2、UI功能测试 和 接口测试 的区别?
yacas
UI功能:服务器功能测试(验证UI调用的接口是否正确)+页面布局+兼容+易用性+UI专属的功能(JS和a标签等)
接口测试:测试服务端功能(逆向功能比UI更方便)
3、UI功能测试 和 接口测试 哪个更高效?
yacas
结论:接口测试更高
原因:接口测试只测服务端功能以及没有多页面操作因素。
4、分析API文档目的是啥?
yacas
1、查看api文档中被测接口的信息是否描述完整。
①请求接口的必要信息是否描述。(方法、路径、参数及参数类型、是否必填)
②响应数据标准格式及错误提示。(返回哪些字段、错误提示信息,比如密码错误返回什么等)
2、接口之间的业务依赖关系。
5、接口如何设计测试点?
yacas
1)参数名(key):错参(错参=多参、少参)、无参
示例: wwww.baidu.com?id=123&name=sdf&age=18
{"id":"","name":"","code":1002} 多参、少参
2)参数值(value):功能(等价类、边界值、空、格式、特殊符号)+业务规则()
3)接口依赖:要测!!!-->投资的逆向业务中,验证一次即可。投资失败(未登录)
结论:优先级测试 接口依赖------>参数值------>参数名
提示:参数名(错参、无参)可以不测。
原因:接口是给客户端(web/app)调用,在客户端中必测正向流程,如果正向流程都跑通,说明客户端调用接口参数名没问题,不会无缘无故的少调或出错。
6、多参、少参、无参是否需要设计测试点?
yacas
一、业务角度梳理:
- 1、接口测试是否做冒烟?--必须做。
- 2、接口开发出来被谁调用?(程序、人)-- 程序
- 3、接口的参数一般都是通过程序进行调用,冒烟测试通过后,不需要对参数名进行测试。
二、技术角度梳理:
后台提取接口传递参数,一般采用固定参数名来进行读取,如果传入一个不存在的参数名或未传参数名,那么默认读取出来的值为空。
data = { "name" : "zhangsan"} --> print(data.get( "age" )) =None
7、被测接口信息如何获取?
yacas
1、通过98%情况下,直接根据API来测。
2、测试的接口不是自己公司的接口,临时借用。-->抓包内容
①请求
url\方法\请求信息头参数类型(url\form\json\multipart\form-data)\请求体
Content-Type : (POST\PUT\DELETE)
cookies:登录及依赖关系
请求体:
8、RESTful风格
yacas
URI:统一资源定位符
URL:具体的资源访问地址
资源:接口的世界里,万物皆资源。图片、订单、员工、分类
格式:协议://服务器地址:端口号/资源集合/单个资源/赟源集合/单个资源
二、接口如何测试
2.1 设计用例
yacas
假如: 参数10个(5个必填 + 5个非必填)
正向:
-1、必填参数(5个)
-2、全部参数(10个) 必填+非必填
-3、是否还要测试组合参数??? 测试5个参数(5个必填),6个参数(5个必填+1个非必填),····测10个参数
提示:全部参数包含了组合参数,因此不需要测试组合参数

2.2 使用工具
yacas
可视化工具:postman、jmeter
代码:python+requests+pytest