什么是接口?什么是接口测试?什么是接口自动化测试?

一、为什么要做接口自动化

二、了解一波接口

  • 什么是接口
  • 常用接口
  • http登录接口文档范例
  • 获取接口关键信息

三、什么项目适合做接口自动化测试

四、接口自动化关键点

五 什么时候可以做接口自动化

六、与开发同步进行接口用例脚本开发

七、接口自动化测试的流程

为什么要做接口自动化,怎样做

  • 为什么要做接口自动化
    UI能模拟用户的真实行为,但是受外部的原因,如电脑卡顿,浏览器卡顿,网速,需求变动等,从而容易造成脚本执行失败,维护成本较高,投入较高等问题
    接口测试直接验证模块逻辑的正确性,去除UI干扰
    接口测试难度低于UI测试,执行效率高于UI,可测试的代码覆盖率高,维护成本低,属于低成本,高收益
  • 有些项目产品数据列表的内容比较多,不好定位,难以开展UI自动化测试
  • 接口自动化能够解放人力,提升工作效率

了解一波接口

  • 什么是接口

  • 接口一般来讲分为两种:

  • 程序内部的接口:方法与方法、模块与模块之间的交互,程序内部抛出的接口,如登录发帖,发帖就必须要登录,如果不登录不能发帖,发帖和登录这两个模块之间就要有交互,就会抛出一个接口,进行内部系统调用。

  • 系统对外的接口:从别人的网站或服务器上获取资源或信息,对方不会提供数据库共享,只能提供一个写好的方法来获取数据,如购物网站和第三方支付之间,购物网站支付时可选择第三方支付方法,但第三方不会提供自己的数据库给购物网站,只会提供一个接口,供购物网站进行调用。

常用接口

  • http接口走http协议,通过路径来区分调用方法,请求报文一般是key-value形式的,返回报文一般是json串,常用的是get和post方法来请求。
  • webservice接口走的soap协议,通过http传输,请求报文和返回报文都是xml格式的。

http登录接口文档范例

获取接口关键信息
开发提供接口文档/接口规范(正规流程),如上接口文档范例;
说明:如果没有接口规范/文档(不正规流程),需要使用抓包工具,如Fiddler、wireshark、httpwatch或直接在谷歌或火狐浏览器F12等获取接口关键信息;

接口关键信息:

  • 协议类型:http/htts
  • 请求URL/IP:如:网址:https://www.baidu.com/;ip:127.0.0.1
  • 端口:http默认端口:80,https默认端口:443或自定义端口
  • 请求方式:如post/get/put/delete
  • 表头信息:如内容类型Content-Type:application/json
  • 请求参数:注意参数的传参类型如json;参数的属性如名称、类型、是否必填,参数的个数;
    -响应结果:注意输出内容的类型如json
  • 返回状态 描述
    1xx 请求已被成功接收、理解、接受
    2XX 成功,操作被成功接收并完成响应
    3xx 重定向–要完成请求必须进行更进一步的操作
    4xx 客户端错误–请求有语法错误或请求无法实现
    5xx 服务器端错误–服务器未能实现合法的请求

什么项目适合做接口自动化测试

  • 任务需求明确,不会频繁变动
  • 项目周期较长,回归测试频繁(>=5次),开展自动化确实能提升测试效率及质量
  • 产出的效益高于投入
  • 测试预留的时间比较充裕

接口自动化关键点

  • 开发测试脚本需充分考虑脚本的复用性
  • 业务与数据分离

什么时候可以做接口自动化

  • 需求评审完毕,接口需求明确稳定
  • 版本升级项目发布之前的全流程回归测试

与开发同步进行接口用例脚本开发

软件开发未完成,接口还无法调试,测试如果需要同步开发接口,需根据接口文档规范,利用MOCK SERVER等接口模拟工具模拟接口,从而进行接口自动化用例调试开发

接口自动化测试的流程

  • 业务流程
    评估投入与收益比,是否需要进行接口自动化
    根据项目组成员的能力及项目属性,选取适当的自动化工具或开发语言
    分析业务,在功能测试用例提取主业务场景
    先开发一个主业务场景脚本,根据需要补充其他业务场景
  • 开发流程
    提取脚本可重复项,封装简化脚本,利用公共类或公共函数等方法,提高脚本的利用率、可读性及可维护性
    提取脚本中可变的参数,修改成变量
    利用csv、Excel、ini、数据库、yaml等参数化数据信息,使业务与数据分离,实现数据驱动测试
    引入日志,出现问题能迅速定位
  • 添加断言并生成可视化报告
    利用Jenkins持续集成工具,实现自动打包,按时发布并执行,生成结果邮件发送给项目相关人
    ————————————————
    如果对软件测试、接口测试、自动化测试、技术同行、持续集成、面试经验交流。感兴趣可以进到902061117,群内会有不定期的分享测试资料。
    如果文章对你有帮助,麻烦伸出发财小手点个赞,感谢您的支持,你的点赞是我持续更新的动力。

猜你喜欢

转载自blog.csdn.net/laozhu_Python/article/details/107619001