掌握接口测试就等于涨薪,为什么会这么说?

小编热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、学习方法、心得及踩过的一些坑,记录下来。也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己的方法,并应用到实际中。

小编整理了一些零基础入门软件测试到精通全套自学资料,还有不少工具和视频的【网盘资源】,需要的朋友可以

目录

什么是接口测试

为什么要做接口测试

接口测试的范围

接口测试的重点

测试原则

接口测试常用工具


测试工程师是一个高技术含量的岗位,但现在不少人误以为测试工程师就是“点工”,拿到软件“点点点”,就可以完成测试了,没啥技术含量,而一些测试工程师错误的工作方法也滋长了这种误解。

什么是接口测试

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

为什么要做接口测试

a)互联网的快速发展,公司内部系统或与外部系统的关联越来越多,一个业务流程关联多个后端系统,它们的关联都是基于接口来实现,接口测试可以将复杂的系统关联进行简化,只要做好每个接口的测试就能够较好的保证系统质量。
b)单个系统的变更,是否会影响到关联业务系统,比较难用常规的测试方面来覆盖相关的应用系统(例如使用此接口的外部 系统有N个,不可能每个做功能兼容性测试),但可以通过对接口功能的覆盖来验证是否影响它人对接口的调用。
c)接口功能比较单一,能够比较好的进行测试覆盖,也相对容易实现自动化持续集成,,可以减少人工回归成本与时间,缩短测试周期。
d)接口相对于界面功能,会更底层一些,测试覆盖会更容易(如业务在调用接口时做了判断,当不满足条件时链接就不显示,此时从界面无法测试相关功能是否做好判断,通过接口就比较容易)

接口测试的范围

a)业务功能(包括正常、异常场景是否实现)
b)业务规则(覆盖度是否全面)
c)参数验证(边界、业务规则是否达到要求)
d)异常场景(重复提交、并发提交、事务中断、多机环境、大数据量测试)
e)性能测试(响应时间、吞吐量、并发数、资源要求)
f)安全测试(权限验证、SQL注入等)

接口测试的重点

a)检查接口返回的数据是否与预期结果一致。
b)检查接口的容错性,假如传递数据的类型错误时是否可以处理。
c)接口参数的边界值。例如,传递的参数足够大或为负数时,接口是否可以正常处理。
d)接口的性能,http请求接口大多与后端执行的SQL语句性能、算法等比较相关。
e)接口的安全性,外部调用的接口尤为重要。

测试原则

基础原则:

•自动化:接口测试是非交互式的自动化执行,不需要人参与。

•独立性:接口测试之间不应该相互依赖。

•可重复:接口测试可重复执行,不受环境影响。

•接口测试遵守BCDE原则,保障接口交付质量。

  • Border:边界测试。

  • Correct:正确的输入,正确的预期输出。

  • Design:按照需求和设计文档编写测试逻辑。

  • Error:错误输入,预期输出。

•数据准备:数据准备通过系统服务进行,不能通过直接插入db方式。

•可测性:对于不可测的代码需要进行重构成合理的结构。

•覆盖性:接口测试需要覆盖所有UC,同时代码覆盖率和分支覆盖率应达到一定标准,新增代码必须被覆盖。

•持续性:如果代码修改导致已有接口测试执行失败,必须修复代码问题或者测试代码逻辑。

•时间要求:接口测试应该在项目发布之前完成,不应放到项目发布之后补充。

以上的基本原则应适用于所有层的自动化测试用例,在编写接口测试时,除了上面这些原则,还有其他原则需要遵守,先看一张图:

从系统角度来分析入口调用,以HSF服务为例:

•外围系统调用由我们系统提供的服务。

•系统执行了一堆代码逻辑,其中包含有分支逻辑。

•系统执行过程中依赖外部HSF服务,进行了调用,并得到了返回值。

•系统执行过程中依赖DB查询或者落地了数据,依赖缓存查询或者落地了数据。

•系统执行过程中对外发送了消息。

•给上游系统返回HSF执行结果。

有效接口测试的关键原则是要覆盖所有入口,mock所有依赖,校验执行过程中所留下的痕迹,总结如下:

•入口覆盖:接口测试用例必须覆盖HSF服务入口、消息入口、定时任务入口。

•依赖mock:在基本原则中,有可重复这个原则,即接口测试不能受环境依赖,需要mock掉对外依赖。但对于db依赖,不建议完全mock掉,一方面mock成本高,另外可能覆盖不到sql和表约束逻辑。

•校验完整:有效的接口测试,应该具备完整的校验,没有校验的接口测试是没有意义的。只要执行过程中,留下的痕迹对业务有影响,都要进行完整校验,方能保障接口测试的有效性。

  • HSF接口返回值校验:按照场景和接口约定进行HSF返回参数校验。

  • DB校验:校验落地数据的正确性。

  • 缓存校验:校验存入缓存中数据的正确性。

  • HSF依赖入参校验:通过mock工具获得依赖HSF调用的入参,进行入参校验。

  • 消息校验:通过mock工具获得发送的消息对象,进行消息体校验。

接口测试常用工具

1、JMeter
JMeter是Apache组织开发的基于Java的压力测试工具,能够将请求转换为脚本来实现,并允许使用正则表达式创建断言来对请求返回结果进行判断,具备接口测试功能和性能的能力。


2、SOAPUI
SoapUI是一个完整的自动化测试解决方案。支持SOAP和REST的Web服务,JMS企业消息层,数据库,丰富的互联网应用,等等。而在SoapUI,你从它的直观和强大的用户界面这一切。对于自动化程度较高,SoapUI还提供了命令行工具,让您运行的功能/负载测试和几乎所有的任务调度程序,或作为您的构建过程中的一个组成部分MockServices集。


3、PostMan
Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件,具备Fiddler\httpwatch之类的工具调试请求的功能,同时具备接口管理功能,官网提升脚本保存同步功能,支持接口导入导出


加油吧,如果你需要提升技术储备,那就行动,在路上总比在起点观望的要好。一切的迷茫都是因为想得太多而做的太少

以上就是今天的分享,如果觉得有用,欢迎分享转发给更多朋友

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340