因为前后端架构分离技术的兴起,接口测试也越来越重要,最近一直想总结下,作为一个近三年的测试人员,接口这个词是耳濡目染的,而开发张口闭口也都是这个接口或那个接口怎么怎么样,自己遇到的bug也很多是接口问题,本着不懂装懂的原则,自己网上扒了些资料,有不准确的地方,欢迎指出。

1,什么是接口

  百度说:接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式

  上面这句有点抽象,反正我是看不懂,网上的资料也是一大把(黑纠结),来自某个大佬的通俗解释:

  1,设计概念的接口,就是一系列约定,这种约定既可以是行为的约定,也可以是外观的约定(比如国标插头和美标插头具有相同的行为约定和不同的外观约定)。

  2,而编程语言层面的接口,是为了实现设计要求而产生的,接口可以是方法,属性,事件,索引器的任意组合。

  从程序方面来说,接口习惯别叫做API(application programming interface),可大致分为程序接口和协议接口两类,见文章https://www.cnblogs.com/fanjq/p/7835438.html,

  程序接口(也可以看作是程序模块接口,具体到程序中一般就是提供了输入输出的类、方法或函数,一般需要使用与开发程序接口相同的语言)

  协议接口(一般是指系统通过不同的协议提供的接口,这种类型的接口对底层代码做了封装,通过协议的方式对外提供调用,不受语言的限制)

  发展至今包括:

  ①、操作系统接口

  ②、web接口

  ③、应用程序接口

  ④、数据库接口

  ...

  它们可能本质差别不大,姑且这么分个类,我们这里着重讲Web接口。

2,什么是接口测试

  百度说:接口测试是测试系统组件间接口的一种测试;接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点;测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

  接口测试也是一种完整的测试体系,也分为接口功能测试、接口性能测试、接口稳定性测试、接口安全性测试。类比功能测试,有个通俗的解释:接口测试就是通过测试不同情况下的入参与之相应的出参信息来判断接口是否符合或满足相应的功能性、安全性要求,见文章https://www.cnblogs.com/feng0815/p/7509541.html

  借鉴上面的文章,常见的web接口:

  1、webService接口:是用soap协议包装后用http运输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有SoapUI、jmeter、loadrunner等。

  2、http api接口:直接用http协议运输,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。可以使用的工具有postman、RESTClient、jmeter、loadrunner等。

  web应用中,客服端需要与服务端通信,也就是前端和后端通信,都是通过接口交互;根据是否是外部接口,web接口测试可分两类:服务端接口测试和外部接口测试。

3,接口测试的重要性

  在软件开发生命周期中发現缺陷越早,那么修正缺陷的代价就越小,所以应更早的介入测试,而接口测试就是一种及早介入的方式。

  为什么做了功能测试还要做接口测试,上面两篇文章说得很清楚:

  ①、不依赖前端页面,可以发现很多在页面上操作发现不了的bug

  ②、 检查系统的异常处理能力

  ③、检查系统的安全性、稳定性

  ④、前端随便变,接口测好了,后端不用变

  ⑤、一般能集成自动化,能提高测试效率,用于冒烟测试和回归测试

  当然由于接口测试的特殊性,需要依赖一些测试工具或代码模拟http请求的发送和接收,对测试人员的要求更高。

4,如何做接口测试

  接口测试也属于功能测试,每个公司的流程或侧重点可能不同。

  第一种轻量级测试方案:

  1, 分析出测试需求,并拿到开发提供的接口说明文档;

  2,从接口说明文档中整理出接口测试案例,里面要包括详细的入参和出参数据以及明确的格式和检查点;

  3, 和开发一起对接口测试案例进行评审;

  4,结合开发库,准备接口测试案例中的入参和出参数据,整理成测试用例

  5, 执行测试用例,反馈接口测试结果。

  第二种类似功能测试流程(接口文档 —> 接口测试计划 —> 接口测试用例 —> 接口测试执行 —> 接口测试报告):

  1,接口文档

  类似于需求文档,由项目组长制定相关接口规范,开发人员一起更改维护,其中应该包括接口说明、方法、uri(请求地址,url是uri的子集)、请求参数、返回参数。

  2,接口测试计划

  类似于测试计划,5w原则,包括测试目的,测试方案,测试范围,测试资源安排,进度安排,风险控制等。

  3,接口测试用例

  测试用例设计,根据接口文档,主要对请求参数进行分析,包括通过性测试用例,多业务场景测试用例等。

  4,接口测试执行

  执行接口测试用例,就是对接口进行请求,验证返回参数,可能还需要准备测试数据。

  5,接口测试报告

  及时反馈测试结果,如阻塞的测试,未通过的测试等。

  5,接口自动化测试

  做接口测试后可以顺便集成接口自动化,那么项目适合开展自动化吗?

  ①、需求稳定,不会频繁变更

  ②、多平台运行,组合遍历型、大量的重复任务

  ③、软件维护周期长,有生命力

  ④、被测系统开发较为规范,可测试性强(如果接口文档都没有,你知道的。。。)

  ⑤、人力资源足够

  接口自动化测试适用场景:

  (1)开发自测,冒烟测试:一个新的自动化接口测试案例开发完成后,直接发给接口对应的开发,安排在开发本地环境执行,一旦开发确认完成接口开发,就开始执行接口测试案例,基本上可以实时拿到测试结果,方便开发快速做出判断。

  (2)回归测试:开发本地测试通过后,或整个需求手工测试通过后,把自动化的接口测试案例做分类整理,挑选出需要纳入到回归测试中的案例,提高测试效率。

0基础入学、100%就业关注公众号领取10G学习资料点点点,赞和在看都在这儿!

大华web对接文档_分分钟了解Web接口测试相关推荐

  1. java web技术文档编写_Portal-Basic Java Web 应用开发框架 v3.0.1 即将发布(开发工作已完成,正在编写开发文档)...

    Portal-Basic Web 应用开发框架(简称 Portal-Basic)是一套功能完备的高性能 Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 访问接口(已内置 Hib ...

  2. web服务器文档根目录在哪里,web服务器根目录在哪

    web服务器根目录在哪 内容精选 换一换 SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(访问方式为HTTPS),实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄 ...

  3. 接口对接文档规范2023年最新版(Restful API风格)

    接口对接文档 服务共享 1.设计模式 使用Restful API风格, Restful API的优势是具备更好的易用性,让异构系统更容易集成,且开发执行效率比较高,面向资源要求也比较高. 2.设计约束 ...

  4. echarts4离线使用文档_适合写API接口文档的管理工具有哪些?

    现在越来越流行前后端分离开发,使用ajax交互.所以api接口文档就变的十分有意义了,目前市场有哪些比较优秀的接口文档管理工具呢? 1.MinDoc 网址:https://www.iminho.me/ ...

  5. api数据接口文档_接口文档示例(Taobao/jd/pinduoduo/开放接口调用)

    api数据接口文档_接口文档示例 本文主要是提供了一个接口文档的范文,内容修订历史.目录.时序图.接口要素描述.接口说明.使用示例.字典.FAQ.  使用MD格式文档(makedown),选择原因,容 ...

  6. 各大手机厂商开发者文档网址

    各大手机厂商开发者文档网址 小米官方文档 华为官方文档 三星官方文档 OPPO官方文档 VIVO官方文档 魅族官方文档 小米官方文档 https://dev.mi.com/console/doc/ 华 ...

  7. 淘宝授权登录对接文档

    对接淘宝授权登录 官方对接文档:https://open.m.taobao.com/doc.htm?spm=a219a.7386653.0.0.c549669anDR2sm#?treeId=420&a ...

  8. 计算机网络校园局域网课题,毕业论文基于VLAN技术的校园局域网建设word文档_全文免费在线阅读(推荐阅读)...

    <[毕业论文]基于VLAN技术的校园局域网建设.doc>由会员分享,可免费在线阅读全文,更多与<[毕业论文]基于VLAN技术的校园局域网建设(word文档)_全文免费在线阅读> ...

  9. 浙政钉DING消息对接文档

    浙政钉DING消息对接文档 专有钉钉平台:https://openplatform-portal.dg-work.cn/backendManage/#/docs?apiType=serverapi&a ...

最新文章

  1. mysql select time,MySql查询时间段的方法
  2. Python基础教程:赋值、深拷贝与浅拷贝(内存地址)
  3. python 如何获取当前时间并转换为年月日
  4. 编程基本原则——避免冗余代码
  5. python_sting字符串的方法及注释
  6. rnn神经网络 层次_精讲深度学习RNN三大核心点,三分钟掌握循环神经网络
  7. (1)vmware安装ubuntu13.10之后无法进入桌面;(2)ubuntu13.10无法显示eclipse的下拉菜单...
  8. Zookeeper的Leader选举
  9. android模拟器检测常用方法,Android模拟器检测方案优化
  10. backup exec 安装时报‘Microsoft sql express安装失败
  11. 2020-2022年最全湖南省矢量数据(路网含城市道路、铁路(包括地铁、轻轨)高速、国道、省道、县道、乡道+几百万个poi数据+省市县乡镇行政区划+河流水系网+建筑轮廓+30米dem等shp数据
  12. 图片转Excel表格 文字识别 表格识别
  13. RBM算法模型应用在推荐系统 Python代码实现
  14. 10015---Linux IO模式及 select、poll、epoll详解
  15. thinkphp 3.1.3 php版本,ThinkPHP
  16. UNITY个人版设置深色主题
  17. SpringBoot实现导出Excel功能
  18. kartoSLAM报错 transform_tolerance修改解决
  19. 30个很有效的破冰游戏_20170513210952
  20. 四大金刚 数据结构_学习JavaScript数据结构与算法(三):集合

热门文章

  1. python——selenium框架实现无头浏览器访问 + 规避检测配置
  2. 阿里为什么建议给MVC三层架构多加一层Manager层?
  3. linux fedora安装、运行mybase7.3.5报错:error while loading shared libraries: libpng12.so.0
  4. 基于nginx实现minio分布式集群访问的负载均衡配置示例
  5. GeoMesa-空间数据存储引擎入门学习手册
  6. docker命令:删除所有为stop状态的docker容器
  7. ReentrantLock可以是公平锁,sync只能是非公平锁。
  8. Hadoop hdfs文件操作常用命令
  9. zuul路由前缀配置
  10. synchronized与java.util.concurrent.locks.Lock的相同之处和不同之处