很多团队想开展
接口测试
、接口自动化,但是不知道怎么样进行前期准备。
有时候你在面试的时候面试官也会问这种类型的问题。
那么如果一个没做接口测试的团队,突然决定要开展接口测试,那么要做些什么准备呢?
1.接口文档
要做接口测试肯定必须要有一个关于当前系统中主要接口的文档(越全面越好)。
有人说,不是可以抓包么? 当然可以抓包,但是你抓包能把整个系统需要测试的接口都捕获到了? 就算可以,这个成本也太具体了吧! 相当于给你一个 数据库 ,有100多张表,要你去猜这些表和表中字段的意思。
有接口文档,才有指导性的文档,也许这个文档并不全面,但是至少有主要接口的描述、参数、响应等。
这样测试才能有一定的目的性,再配合抓包工具,也能够开展起来。 但是完全没有,只能呵呵了。 当然一般团队中都会有接口文档,因为这个文档主要供前后端开发进行协作的,不只是用于接口测试。 一般团队会使用 swagger 等自动文档生成工具,或者使用小幺鸡、showdoc 等接口文档管理工具。 如果没有,可以尝试搭建一个 showdoc 之类的 ,简单易用,但是需要简单学学 markdown 语法。
2.数据库设计文档
接口测试过程中,
经常需要到数据库中判断接口对数据的操作结果 。
那么一份数据库设计文档是必不可少的,没有那就是上面说的,上百个表,要自己去猜表的用途和字段的含义。
这过于具体了。
3.团队配合
获取开发团队的配合是必不可少的 ,因为接口文档一般不会细致到每个参数、每个响应字段都有详细的说明。
这种时候就需要和开发人员多去沟通,理清待测接口每个参数和响应字段的含义,这样才能达到测试效果。
4.工具选择
“欲善其事必先利其器”, 选择合适的接口测试工具必不可少。
目前常用的接口测试工具有:
Postman Jmeter Robot Framework
语言框架:
Python + requests + unittest ( pytest )
JAVA + HttpClient + TestNG (没用过...)
辅助工具:
抓包工具:
Fiddler, Charles
数据库辅助工具:
Xmysql, Newman (Postman 辅助工具)
具体选择工具还是自己用语言搭建框架,根据团队的实际情况来。
使用工具呢,
Postman 入门容易,几个小时就可以掌握,但是无法连接数据库硬伤,需要辅助 xmysql 才行;
Jmeter 功能强大,但是学习成本相对较高,最大的好处是接口的功能和性能都可以测试;
Robot Framework 通用性很强,功能可以达到语言框架的灵活性,但是用例可读性有点不太好。
语言框架就不用说了,想怎么玩就怎么玩,有什么需要一行代码不能实现的就多写几行。 刚开始做,建议使用 Postman,如果接口的功能和性能都要考虑,可以选择 Jmeter。 如果团队成员普遍代码能力强,那也可以选择直接上语言框架。 工具只是辅助,更重要的是接口分析与
用例设计 。
作者:懒猫Nemo