接口测试的工作原理以及常见问题总结

2017-11-16  本文已影响126人  米饭超人

接口测试到底是什么?Web与移动App所提到的接口测试一样么?

web开发中,接口的意思

两个不同的web工程,A和B,A工程如果要访问B工程中的某个函数方法,这就要通过接口的形式进行访问,即通过webservice的方式(如webservice的框架axis等)。

即发起一个http url请求,传入参数是什么,得到什么返回结果。

App开发中,接口的意思

App研发中的接口,意思是,app端发起一个http url请求,传入参数是什么,得到什么返回结果。

web工程开发中的接口和app研发中的接口,看似有区别,实际上没有什么区别。

都是在网络上,发起一个http url请求,传入参数是什么,得到什么返回结果(xml格式或者json格式的,序列化数据)。

即接口是一个黑盒。用户不用管黑盒里怎么进行数据加工的、工作原理是什么,我只需要知道以下三点即可:

入口的http url地址

传入参数

返回结果

接口测试都测什么?怎么测试?

从接口测试活动内容的角度下手,看一下面这张图,基本反应了当前我们项目后端接口测试的主要内容:

由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。

工具有很多如:postman、jmeter、soupUI、java+httpclient、robotframework+httplibrary等。

我们为什么要做接口测试?接口测试的质量评估标准是什么?

接口测试是测试系统组件间接口的一种测试。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

我们要做接口测试的主要原因如下:

如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。

接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。

现在很多系统前后端架构是分离的,从安全层面来说:

1、只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。

2、前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。

接口测试质量评估标准主要参考以下内容:

业务功能覆盖是否完整

业务规则覆盖是否完整

参数验证是否达到要求(边界、业务规则)

接口异常场景覆盖是否完整

接口覆盖率是否达到要求

代码覆盖率是否达到要求

性能指标是否满足要求

安全指标是否满足要求

上一篇下一篇

猜你喜欢

热点阅读