很多同学反馈现在面试的时候都会问到为什么要做接口测试以及如何做接口测试的问题,那么我们就稍微来科普一下。
本文讨论的接口均是服务级的接口,不是代码级。

接口是什么

在讨论为什么要做接口测试之前,我们可以先稍微了解一下接口是什么。
接口可以很不准确的理解成是与资源打交道,这个资源可能是本系统的,也可能是其他系统的。
举个例子,我们要搭建一个开发流程管理系统a,需要给公司所有开发测试同学的信息,才能给到权限,这些信息通常都在公司的人员信息数据库里。
方向更明确了,我们需要获取数据库里的人员信息,那怎么拿呢?
直接拷贝人员信息数据过来吗?这样做一有人员流动就需要及时更新,太麻烦了。
直接连数据库查询吗?这样数据库的字段一改,就有点牵一发而动全身,系统a里的代码也需要修改。
比较好的做法是,让数据库暴露一些接口,通过这些接口去获取人员信息数据,这样系统a就不用三天两头同步修改了。

接口测试实际上是黑盒测试

作为黑盒测试,基本的测试思路是通过输入和输出判断被测系统或者对象的逻辑。
获取人员的信息,我需要把人员的用户名传给数据库的接口,这样数据库的接口会返回给我用户的一些更加具体的信息。这里的输入是用户名,输出是用户的详细信息。

为什么要做接口测试

既然是接口获取和操作资源的方式,而大部分系统和产品中,资源一般都是产品的核心,比如微信核心资源就是通讯录关系链和聊天记录等,因此资源是必测的。
另外接口中大部分的内容是数据,通过数据的对比我们能推测到系统和产品的逻辑,测接口就是测逻辑。
最后接口中的返回相对单纯,不像web页面,html代码中有太多ui的东西,ui最不稳定,变化太快,接口相对稳定一点点,但是里面的干扰信息更少,断言相对容易很多。

接口测试用例怎么写

还是3a原则。
A: arrange 初始化测试数据,就是造数据,这里的数据有我们输入的数据,也有目标接口所涉及的资源,比如hr系统中的用户信息,我们必须先有几条人员的详细信息才能去测获取人员信息的接口(当然只是正常的流程,我们有时候还需要清掉数据以便测试资源为空的情况);
A: act 调用接口,传入输入数据;
A: assert 断言, 对返回的资源信息进行断言,比如获取用户信息的接口返回了用户信息之后,我们要判断返回的用户是不是我们想要的那个用户,我们获取的是李雷的信息,接口如果返回韩梅梅,那么接口的逻辑就是不对的;

常见的接口测试工具

postman: 推荐。基本功能免费,最简单的基于http接口的调试和测试工具。
jmeter:后置处理器配合断言基本上可以满足接口测试需求,就是测试报告要做二次开发。
自己撸代码:推荐。配合类似xunit测试框架,基本可以满足一切需求,就是比较费时间。
soapui: 收费的。
eolinker:强力推荐。功能和ui更接近postman,基本功能免费,重要的不用部署,可以直接在网页上使用。
paw: 强力推荐。mac上最强,可以直接tb买个授权,好像就百把块钱。

入门级接口测试工具:Eolinker的使用

关于Eolinker
Eolinker是国内比较友好的接口测试工具,因为UI和客服团队支持的原因,笔者会觉得比postman更适合初学者使用。

使用Eolinker
Eolinker支持Saas在线使用,可以免去下载安装或部署的时间,随时随地都可以进行开发。
使用地址:www.eolinker.com

Eolinker的测试界面

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/dc20181010/p/15015467.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!