测试学科-- 自动化测试--03接口测试
自动化测试
引言
1 接口测试是什么?
2 如何来设计接口测试用例?
3 接口测试发现的典型问题有哪些?
4 接口自动化测试如何实现?
接口定义:
Application Programming Interface(API) 应用程序接口
接口测试: 测试组件间接口的一种测试。
主要用于检测外部系统与系统之间,系统内部各子系统的交互点。
很多应用方案,前端和后端都是分离的,单独只从前端验证,远远不够,绕过前端太容易了,还需要从接口层面进行验证。
(范围: 只涉及软件部分的接口,硬件的接口不涉及。)
例如 : 百度地图,单独从前端页面验证,操作,界面UI,是远远不够的,绕过前端太容易了,还需要从接口层面进行验证。只有从接口层测试,才能观察uid是否每个请求都一样
#Request URL: https://map.baidu.com/?qt=deviceInfoNew&type=1&uid=9a5427cafe8b2c0bc51b75bc&routeInfo=&t=1571808291162
qt: deviceInfoNew
type: 1
uid: 9a5427cafe8b2c0bc51b75bc
routeInfo:
t: 1571808291162
正文
接口测试用例设计
接口用例设计模型
![](D:\老男孩IT教育\讲师Robert\讲师修炼IT教育\测试学科\测试开发备课知识点\测试学科-- 自动化测试--03接口测试\接口处理逻辑.png)
接口测试用例的设计方法
接口测试用例的设计 ,可以依据 黑盒测试用例设计的方法,例如 等价类划分法,边界值分析法,判定表驱动法,因果图法,正交实验法,场景法等等。还有接口自身的特点。
![](D:\老男孩IT教育\讲师Robert\讲师修炼IT教育\测试学科\测试开发备课知识点\测试学科-- 自动化测试--03接口测试\接口测试用例.png)
接口测试发现的问题:
接口测试经常遇到的bug和问题,如下:
(1)传入参数处理不当,导致程序crash;
(2)数据类型范围溢出,导致数据读出和写入不一致;
(3)因对象权限未进行校验,可以访问其他用户敏感信息;
(4)状态处理不当,导致逻辑出现错乱;
(5)逻辑校验不完善,可利用[漏洞](javascript:;)获取非正当利益等。
总结
1 接口测试的文档很关键,
2 http接口通常是word文档,人工手写
3 webservice通常是html文档,代码自动生成
参考测试用例设计方法:
![](D:\老男孩IT教育\讲师Robert\讲师修炼IT教育\测试学科\测试开发备课知识点\测试学科-- 自动化测试--03接口测试\用例设计方法.png)
接口自动化测试如何实现?
1 拿来法:
当前采用开源工具的实现是采用jmeter和postman来实现。
2 自主平台研发法:
自行开发测试平台,进行用例的增删改查,报告的输出
3 轻便型开发
采用pytest测试框架模式进行用例的自动化开发。
接口文档示例:
一 : word文档
http/https 接口
![1571819242661](D:\老男孩IT教育\讲师Robert\讲师修炼IT教育\测试学科\测试开发备课知识点\测试学科-- 自动化测试--03接口测试\1571819242661.png)
二,在线Html文档
swagger在线接口文档
![](D:\老男孩IT教育\讲师Robert\讲师修炼IT教育\测试学科\测试开发备课知识点\测试学科-- 自动化测试--03接口测试\接口文档web.jpg)