点击关注公众号,实用技术文章及时了解

来源:cnblogs.com/puresoul/p/5388586.html

本文主要分为两个部分:

第一部分: 主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做?

第二部分: 主要介绍为什么要做接口测试,并简单总结接口持续集成和接口质量评估相关内容。

第一部分:

首先,在做接口测试的过程中,经常有后端开发会问:

  1. 后端接口都测试什么?怎么测的?

2. 后端接口测试一遍 ,前端也测试一遍,是不是重复测试了?

于是,为了向开发解释上述问题,普及基本的测试常识,特意梳理了接口测试的相关内容以及其与前端测试的区别,使开发团队与测试团队在测试这件上达成基本的共识,提高团队协作效率,从而更好的保证产品质量。

然后,我们试着回答上面的问题:

问题1:后端接口都测试什么?

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

图片

问题2:我们怎么做接口测试?

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

问题3:后端接口测试一遍 ,前端也测试一遍,是不是重复测试了?

回答这个问题,我们可以直接对比接口测试和app端测试活动的内容,如下图为app测试时需要覆盖或考虑内容:

图片

从上面这两张图对比可以看出,两个测试活动中相同的部分有功能测试、边界分析测试和性能测试,其它部分由于各自特性或关注点不同需要进行特殊的测试,在此不做讨论。接下来我们针对以上三部分相同的内容再进行分析:

1、基本功能测试:

由于是针对基本业务功能进行测试,所以这部分是两种测试重合度最高的一块,开发同学通常所指的也主要是这部分的内容。

2、边界分析测试:

在基本功能测试的基础上考虑输入输出的边界条件,这部分内容也会有重复的部分(比如业务规则的边界)。但是,前端的输入输出很多时候都是提供固守的值让用户选择(如下拉框),在这种情况下测试的边界范围就非常有限,但接口测试就不存在这方面的限制,相对来说接口可以覆盖的范围更广,同样的,接口出现问题的概率也更高。

3、性能测试:

这个比较容易区分,虽然都需要做性能测试,但关注点确大不相同。App端性能主要关注与手机相关的特性,如手机cpu、内存、流量、fps等。而接口性能主要关注接口响应时间、并发、服务端资源的使用情况等。两种测试时的策略和方法都有很大区别,所以这部分内容是需要分开单独进行测试的,理论上来说这也是不同的部分。

综论:

1、接口测试和app测试的活动有部分重复的内容,主要集中在业务功能测试方面。除此之外,针对各自特性的测试都不一样,需要分别进行有针对性的测试,才能确保整个产品的质量。

2、接口测试可以关注于服务器逻辑验证,而UI测试可以关注于页面展示逻辑及界面前端与服务器集成验证

第二部分:

1、什么是接口测试?

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

2、为什么要做接口测试?

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

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

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

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

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

3、接口测试持续集成:

对接口测试而言,持续集成自动化是核心内容,通过持自动化的手段我们才能做到低成本高收益。目前我们已经实现了接口自动化,主要应用于回归阶段,后续还需要加强自动化的程度,包括但不限于下面的内容:

a) 流程方面:在回归阶段加强接口异常场景的覆盖度,并逐步向系统测试,冒烟测试阶段延伸,最终达到全流程自动化。

b) 结果展示:更加丰富的结果展示、趋势分析,质量统计和分析等

c) 问题定位:报错信息、日志更精准,方便问题复现与定位。

d) 结果校验:加强自动化校验能力,如数据库信息校验。

e) 代码覆盖率:不断尝试由目前的黑盒向白盒下探,提高代码覆盖率。

f) 性能需求:完善性能测试体系,通过自动化的手段监控接口性能指标是否正常。

4、接口测试质量评估标准:

a) 业务功能覆盖是否完整

b) 业务规则覆盖是否完整

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

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

e) 接口覆盖率是否达到要求

f)  代码覆盖率是否达到要求

g) 性能指标是否满足要求

h) 安全指标是否满足要求

推荐:

主流Java进阶技术(学习资料分享)

PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我们吧!

后端接口都测试什么?怎么测?相关推荐

  1. 后端接口都测试什么?要怎么测?

    作者:Glen.He 来源:http://www.cnblogs.com/puresoul/ 本文主要分为两个部分: 第一部分: 主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两 ...

  2. 你写的接口都测试吗?测什么?怎么测?

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:https://www.cnblogs.com/puresoul/p/5388586.html 本文主要分为两个部分: 第一部 ...

  3. 后端服务接口都在测试什么?怎么测?

    本文主要分为两个部分: 第一部分: 主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系.但该部分只交代了怎么做和如何做?并没有解释为什么要做? 第二部分: 主要介 ...

  4. 前后端不分离到分离演变,优势,前后端接口联调,排错

    前后端分离,不分离简介 前言 前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构 ...

  5. 公司项目里如何进行前后端接口联调

    最近我的朋友Jack进入一家新的公司,正好公司项目采用的是前后端分离架构,技术栈是Jack非常熟悉的vue全家桶,后端用的是Java语言. 在前后端开发人员碰面之后,协商确定好了前端需要的数据接口(扯 ...

  6. 后端开发都应该了解点接口的压力测试(Apache Bench版)

    背景 小A:小B,最近调你的接口老是超时呀,8秒都还没返回结果,是不是有性能问题呀! 小B :我看看~~ 类似这样的对话,在现实中是时有发生的,不是特别严重的话,往往大家也不会去重视这个事. 尤其是在 ...

  7. 如何调后端接口_看了都说好:浅谈前后端分工协作

    点击上方 "程序员小乐" ,关注公众号 8点20分,第一时间与你相约 每日英文 If you're brave enough to say GOODBYE, life will r ...

  8. (凯思奥2020-03月)问题记录3,GUI问题记录3 4,国际化异常,微信平台接入 = 数据库修改 + 自动化填充 + 前后端接口修正 + 联调测试问题 + 微信与数字账号绑定 + 思考+部署

    问题记录3: 1. UserPage: 未登录状态(报解构异常),或直接登出再登录,没有获取用户数据. 2.WorkContentPage gui相关(大片红字报错)(国际化message类型问题) ...

  9. 接口测试,后端接口还没开发完,如何测?解决看这一篇就够了......

    目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...

最新文章

  1. HDU2255 奔小康赚大钱(km模板题)
  2. line-height的一点见识
  3. java多线程之hashmap concurrenthashmap的状态同步
  4. 面试题-- 什么是偏向锁
  5. java plug机制_插件机制 - OpooPress - 基于 Java 的静态博客生成器
  6. Spark算子篇 --Spark算子之combineByKey详解
  7. c语言的数据类型复数型,C语言数据类型
  8. Swing编程基础 之三
  9. FPGA实现CAN接口(SJA1000)
  10. [python]python jieba 模块
  11. SQLite 3.7.13的加密解密(三)—— 创建加密解密函数
  12. Atitit.计算机图形图像图片处理原理与概论attilax总结
  13. 乱码 问号 java_java 中文 乱码 问号
  14. 计算机图形学的反走样
  15. 多校9 HDU-6164 Dying Light 几何数学
  16. Android拼接合并图片生成长图
  17. 考研全流程,两年经验分享
  18. 游标+bulk collect into limit的不同方法查询数据
  19. 2021年中国网络零售行业发展现状及行业发展趋势分析[图]
  20. Praat脚本文件教程之Scripting2.How to script setting windows

热门文章

  1. 在游戏设备上砸钱 其实小姐姐们更疯狂!
  2. 小米MIX 4要来了?这硬件“堆”的也是没谁了 全是最新技术
  3. 三星发布A60 元气版:骁龙675 售价1499元
  4. 贾跃亭吹过的牛,苹果来实现?
  5. 红米7正式首发:4GB+64GB版本售价999元
  6. 潘石屹回应丁磊“5G言论”:生活在4G的人理解不了5G
  7. 国内APP乱象再现 京东金融APP被质疑窃取用户隐私
  8. 都安排上了!春晚主持阵容、春晚直播平台、春晚餐桌C位
  9. 初次接触 Lottie
  10. 程序bug导致了天大的损失,要枪毙程序猿吗?