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

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

两个不同的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、前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。

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

 

  • 业务功能覆盖是否完整
  • 业务规则覆盖是否完整
  • 参数验证是否达到要求(边界、业务规则)
  • 接口异常场景覆盖是否完整
  • 接口覆盖率是否达到要求
  • 代码覆盖率是否达到要求
  • 性能指标是否满足要求
  • 安全指标是否满足要求
时间: 2024-10-09 13:42:13

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

Memcached工作原理及常见问题

memcached是怎么工作的? Memcached的神奇来自两阶段哈希(two-stage hash).Memcached就像一个巨大的.存储了很多<key,value>对的哈希表.通过key,可以存储或查询任意的数据. 客户端可以把数据存储在多台memcached上.当查询数据时,客户端首先参考节点列表计算出key的哈希值(阶段一哈希),进而选中一个节点:客户端将 请求发送给选中的节点,然后memcached节点通过一个内部的哈希算法(阶段二哈希),查找真正的数据(item). 举个列子,

LVS-DR工作原理图文详解

为了阐述方便,我根据官方原理图另外制作了一幅图,如下图所示:VS/DR的体系结构: 我将结合这幅原理图及具体的实例来讲解一下LVS-DR的原理,包括数据包.数据帧的走向和转换过程. 官方的原理说明:Director接收用户的请求,然后根据负载均衡算法选取一台realserver,将包转发过去,最后由realserver直接回复给用户. 实例场景设备清单: 说明:我这里为了方便,client是与vip同一网段的机器.如果是外部的用户访问,将client替换成gateway即可,因为IP包头是不变的

再谈angularJS数据绑定机制及背后原理—angularJS常见问题总结

Angular 的数据绑定采用什么机制,详述原理? 脏检查机制.阐释脏检查机制,必须先了解如下问题. 单向绑定(ng-bind) 和 双向绑定(ng-model) 的区别? ng-bind 单向数据绑定($scope -> view),用于数据显示,简写形式是 {{}}. 两者的区别在于页面没有加载完毕 {{val}} 会直接显示到页面,直到 Angular 渲染该绑定数据(这种行为有可能将 {{val}} 让用户看到):而 ng-bind 则是在 Angular 渲染完毕后将数据显示. ng-

移动端车牌识别的工作原理以及特点

移动端车牌识sdk可以让我们的手机扫一扫就能实现车牌号识别.可以运用到多个领域当中:像智能交通.平安城市.互联网停车.智能停车.公安图侦. 一.移动端车牌识别的工作原理 移动端车牌识别工作原理有以下几步完成: 1.图像采集:通过手机摄像头对车辆进行拍照或视频扫描采集图像: 2.预处理:噪声过滤.自动白平衡.自动曝光以及伽马校正.边缘增强.对比度调整等: 3.车牌定位:在经过图像预处理之后的灰度图像上进行行列扫描,确定车牌区域: 4.字符分割:在图像中定位出车牌区域后,通过灰度化.二值化等处理,精

Fiddler的工作原理与主菜单介绍(一)

1.简介: 官网:https://www.telerik.com/fiddler Fiddler是比较好用的web代理调试工具之一,它能记录并检查所有客户端与服务端的HTTP/HTTPS请求,能够设置断点,篡改及伪造Request/Response的数据,修改hosts,限制网速,http请求性能统计,简单并发,接口测试,辅助自动化测试,等等.现在抓包工具成为测试人员的必备使用工具,开发人员也在普遍使用,进行问题的定位分析,是非常有助于工作的一款工具. 2.Fiddler工作原理 先来看看fid

Android ListView工作原理完全解析(转自 郭霖老师博客)

原文地址:http://blog.csdn.net/guolin_blog/article/details/44996879 在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况.ListView可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到屏幕内了. 另外ListView还有一个非常神奇的功能,我相信大家应该都体验过,即使在ListView中加载非常非常多的数据,比如达到

LVS集群之工作原理

  首先我们要了解LVS的工作机制: LVS里Director本身不响应请求,只是接受转发请求到后方,Realservers才是后台真正响应请求. LVS 工作原理基本类似DNAT,又不完全相像,它是一种四层交换,默认情况下通过用户请求的地址和端口来判断用户的请求,从而转发到后台真正提供服务的主机,而判断这种请求的是通过套接字来实现,所以四层就可以实现. 而且这个转发的过程对用户而言是透明的(简单的讲,就是用户访问DR的IP,而DR转发给RSS,而用户不知道这个过程) LVS的工作模式: 1.D

47 监控系统基础及zabbix介绍、zabbix工作原理及安装配置、zabbix on CentOS7、zabbix配置

02    zabbix工作原理及安装配置 配置环境 node1192.168.1.120CentOS6.7 node2192.168.1.121CentOS6.7 1.安装配置zabbix #安装前准备 [[email protected] ~]#yum -y install mysql-server mysq [[email protected] ~]# mysql mysql> CREATE DATABASE zabbix CHARACTER SET utf8; mysql> GRANT

inode工作原理及软连接与硬链接

 inode工作原理及软连接,硬链接 inode: 在linux文件系统中,不管什么类型的文件,保存在磁盘分区中时,系统都会分配一个编号,叫做索引节点index node,简称inode inode里面存储了文件的很多参数: 文件类型,权限.UID,GID,属主,属组 链接数(指向这个文件名路径名称个数) 该文件的大小和不同的时间戳 指向磁盘上文件的数据指针 .... 在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)