接口测试

接口测试到底什么?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等。

 

推荐文章:Http接口测试实战之Postman

 


 

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

 

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

 

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

 

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

 

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

 

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

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

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

 

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

 

  • 业务功能覆盖是否完整

  • 业务规则覆盖是否完整

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

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

  • 接口覆盖率是否达到要求

  • 代码覆盖率是否达到要求

  • 性能指标是否满足要求

  • 安全指标是否满足要求

posted @ 2017-11-15 08:42  RoyFans  阅读(230)  评论(0编辑  收藏  举报