在对接口进行测试之前,得先了解一下接口的相关概念以及为什么要对接口进行测试
那么,什么是接口呢?
接口主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来通过一些特殊的规则也就是协议,来进行数据之间的交互。
接口类型又有哪些?
接口一般分为两种:1.程序内部的接口 2.系统对外的接口
系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。
程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,通过接口来达到内部模块之间的相互调用。
为什么要做接口测试
1、只靠前端测试很难确保很高的覆盖率。接口测试,可以模拟出各种类型的入参,包括一些在前端模拟不出来的入参,还能根据接口文档的定义,设计出相对完善的入参值,在接口层保证质量,剩余的绝大多数问题就是应用程序自身的交互和数据展示问题。
2、接口测试相对于交互界面测试和功能测试来说,更容易实现自动化,执行起来比较稳定,维护成本也比较低。接口自动化适用于回归测试等,可以减少人工回归测试的人力成本。
3、目前的大多数系统前后端代码会分给不同的开发团队,而前后端的联动需要接口来进行联调。
从安全层面来说,只依赖前端进行数据操作已经不能满足安全要求,因为绕过前端相对容易,若想在后端进行输入校验,就需要通过接口测试去验证数据的完整性与准确性。
如何进行接口测试?
由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。工具有很多如:postman、jmeter、以及最近很火的Apipost,其实工具大同小异,本篇文章小橘子就主要通过postman来给大家演示如何对企业微信外部接口进行测试
测试工具:postman
测试对象与类型:企业微信外部接口
测试文档:详情参考企业微信API
https://developer.work.weixin.qq.com/document
测试目的:通过对企业微信外部接口的测试,了解接口测试的基本场景与测试方法
测试流程:
1、拿到并熟悉熟悉API文档
2、评估测试工期,输出测试计划和测试方案
3、编写接口测试用例
4、搭建测试环境,执行测试
5、反馈或评估测试结果
7、输出测试报告
测试步骤:(此次测试仅为演示)
打开企业微信并进行登录(需要管理端),没有企业微信的小伙伴们不要慌,直接自己创建一个新企业默认就是管理员,不需要任何审核,完成测试之后注销即可。
添加自建应用
登录企业微信管理端 -> 应用与小程序 -> 应用 -> 自建,点击“创建应用”,设置应用logo、应用名称等信息,创建应用。
创建完成后,在管理端的应用列表里进入该应用,可以看到agentid、secret等信息,这些信息在使用企业微信API时会用到。
创建完成后,该应用会自动出现在可见范围内的成员的企业微信终端上(包括手机端、pc端、微信插件)
使用工具调试api
我们已经创建好一个自建应用,且拿到了可用的应用id及secret,如何调用api控制这个应用呢?下面以发消息为例说明如何调试api接口。
调用api的过程,本质上就是发送http请求给企业微信后台,在正式开发前,我们可以使用工具模拟http请求调试api。这里以 postman 为例,当然你也可以使用其它http模拟工具。
发消息api其实就是一个post请求
请求方式:POST(HTTPS)
请求地址: https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN
post 参数为 access_token 和 消息体。
1.获取access_token
access_token是应用调用api的凭证,由 corpid和corpsecret换取。
请求方式:GET(HTTPS)
请求URL:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET
使用postman发送这样一个GET请求即可得到access_token(请把截图中的corpid、corpsecret换为自己的corpid、应用secret)
2.构造消息体
参考发送应用消息,可以发送文本、图片、视频等多种类型的应用消息,这里以最简单的文本消息为例:(注意修改touser、agentid为自己想要的接收者userid列表、应用id)
{
"touser" : "abelzhu|ZhuShengben",
"msgtype" : "text",
"agentid" : 1000002,
"text" : {
"content" : "这是一个测试"
},
"safe":0
}
3.发送消息
如下图示,以上面两步得到的access_token和消息体为参数,在postman中发送post请求即可(红色箭头所指为需要注意的点)
如果发送成功,在接收者的企业微信中的相应应用里,会收到发送的文本消息。
至此,一条接口测试用例就执行完毕了,一般来说,在拿到API文档之后,我们需要对API文档进行整体规划测试,整理出测试方案,对新增或者已有接口进行用例设计,尽量将场景(正向流程or逆向流程)考虑周全,只有这样才能输出较为完善的测试报告
以上就是本篇文章的全部内容啦,若对文章相关内容有疑问,请私信
下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
最后: 可以在公众号:自动化测试老司机! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!