接口测试是百人计划分享中的一部分,在16次分享中有3次是关于接口测试的。所以这里对接口测试做个小结。对于接口测试我之前也曾百度过,但对接口的理解仍显得“高深”,so这篇文章会更通俗。
下面先从概念和接口测试的好处来讲(文章来自测试的小密圈,感谢秋之川)
概念:接口,其实就是由一段具备逻辑处理的程序代码组成的,可被其他方法、服务或应用所使用。
对于调用接口的那一方,可以把接口看作一个黑匣子,只需要负责按约定传入参数,再接收返回的数据,可以不知道黑匣子里的逻辑。
接口的作用:
1,系统与系统之间的调用,比如我们现在的大宗交易网与银行的对接,客户给我方转账后,在我们系统内就会出现一条转账信息,这条转账信息是银行系统通过接口传过来的,穿递过程是这样的:首先银行会根据我方的银行卡号来判断,凡是给我方银行卡号转进来的钱,通过接口,将转账信息(转账的银行卡号、摘要、转账金额、交易日期、交易时间等数据)传给我们的大宗交易网。现在系统内每2分钟,会查询识别一次。
2,前端应用对后端的调用,比如,app调用服务端的接口,服务端调用DAO(Data Access Object)的接口。拿航班的app来说,app本身其实主要就包含两大块,一块是交互,一是数据展示,app通过服务端提供的接口将需要查询的航班名称传输给服务端,服务端调用DAO的接口从数据库中获取到相应的Data,服务端接口再将Data做相应的处理并最终返回给App,app将其展示出来。
3,服务与服务之间的调用,比如注册用户时,会先调用查询用户信息的服务,目的是检查该用户是否已经注册,如果返回结果是该用户名已存在,注册用户的接口就会把该结果返回给前端页面。(这里不是前端与后台的调用吗???---回答:实际的注册接口应该是包含了去重的检查,这里只是把这两个看作两个内部服务)
接口测试:
接口测试就是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各子系统之间的交互点。测试的重点是检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
为什么做接口测试:
1,现如今,互联网app产品的系统复杂度不断上升,只靠手工的前端测试,很难确保很高的覆盖度,但通过接口测试,我们能模拟出各种类型的入参,包括从前端模拟不出来的入参,我们能根据接口文档的定义,设计出相对晚上的入参值,力争在接口层面先保证质量,剩余的绝大多数问题就是app自身的交互和数据展示问题了。
2,接口测试相对于UI/功能测试来说,更容易实现自动化,执行起来也比较稳定,维护成本也比较低。
3,缴扣测试使用与现网巡逻,回归测试等,可以减少人工回归的人力成本。
4,现在很多系统前后端分离,从安全层面讲,只依赖于前端进行Input Validation已经完全不能满足系统的安全要求,因为绕过前端相对容易,所以就需要后端同样进行input Validation,这就只能依赖接口测试去验证。
网友评论