• 如何提高接口测试覆盖率?


    接口测试是测试系统组件间接口的一种测试。

    接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。

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

    接口测试该如何提高测试的覆盖率呢?
    在这里插入图片描述

    一般需要关注以下几点:

    输入、输出、逻辑处理、数据库、安全性、性能、接口超时、兼容性。

    1.输入

    输入,接口的入参,一般使用等价类和边界值设计用例。需要考虑输入的正常与异常情况,其中异常包括有参数异常以及数据异常。

    正常的入参

    根据接口设计文档的入参标准,输入正常的参数,接口按接口设计文档的描述,得到正常的响应返回。

    参数异常

    参数异常包括:

    1.参数为空
    2.多参
    3.少参
    4.错误的参数

    数据异常

    1.数据异常包括:
    2.数据类型错误
    3.长度不符合设计
    4.非空参数为空
    5.特殊字符或敏感字符
    6.不在字典(接口设计)范围内的数据
    7.非法参数(非常规参数的处理,如号码、邮箱的判断机制)
    8.存在关联关系的参数数据异常

    2.输出

    在考虑接口异常时,不一定能覆盖所有错误码,可以通过接口定义返回的错误码补充异常情况的用例。如:

    1.网络异常
    2.无效的规则
    3.无效的参数
    4.无效的业务ID
    5.无效的任务
    6.服务器异常

    利用错误码补充用例,可以发现前后端输出是否正常,敏感信息处理机制,及提示信息是否符合规范等。

    3.逻辑处理
    在这里插入图片描述
    接口测试一般会提供接口设计文档,另外还应获取或整理业务流程图,针对业务流程中的处理逻辑,结合接口的输入限制、业务状态等进行测试点的考虑。

    限制条件

    1.数值限制:字典,等级,行业相关限制,金额限制,分数限制等
    2.状态限制:在线或离线,是否开通服务等
    3.关系限制:如账号与个人信息的绑定
    4.权限限制:三权分立(管理员,操作员,监控员等) , 用户之间的信息隔离等

    对象分析

    操作的对象是否合法,如对问题账号的转账,冻结用户的登录等。

    状态转换的分析

    在金融行业中状态转换的分析及处理较为重要,

    如商城购物,退款、付款中取消了订单、继续进行订单付款、是否可多次支付、业务流程跳转的状态处理等。

    时序分析

    时序分析多为针对业务流的处理分析。对于一些复杂活动,比如:

    1.办理业务需要进行的流程顺序,其业务流的处理。
    2.资料的填写、上传是否只能按顺序进行 ?是否可返回上一步?流程步骤之间的跳转如何处理?
    3.资料填写到一半,去办理其他事务或切换窗C I会导致什么情况?

    4.数据库
    在这里插入图片描述
    接口在进行数据传输交互时,都需要对数据库进行操作,

    因此亦需要关注数据库的以下内容:

    1.数据读写是否正常
    2.数据存储是否正常(乱码、重复数据等情况)
    3.对资源的使用情况(CPU、内存等)
    4.对线程的占用、释放情况(读写线程的处理机制等)
    5.对数据的处理是否正常(增、删等操作)

    5.安全性

    对于接口的安全性测试, -般包含以下内容:

    1.信息的加密(包括但不限于登录口令、驴身份信息等)
    2.传输方式( http/https )
    3.接口的鉴权方式
    4. sq|注入防范
    5.越权访问
    6.后续如有安全测试,可能还包括非正常接口的访问、DDoS防护等。

    6.性能

    接口的性能不佳,会影响用户使用,甚者还会影响业务的正常进行。 在金融行业中更是最为注重的
    测试点。

    接口的性能主要关注以下几点:

    1.最大并发
    2.响应时间: 1.平均响应时间2.最大响应时间3. 最小响应时间
    3.吞吐量
    4.资源使用情况
    5.错误率

    7.接口超时

    接口测试的非正常情况处理包括接口超时,在金融行业中亦是较为注重的测试点,超时处理不当,
    可能会引起进程阻塞、逻辑混乱等情况。比如:

    1.提交订单后限制多长时间内完成付款,超时则订单无效。
    2.网络问题导致的长时间未成功付款等。

    8.与历史版本的兼容性分析

    如软件系统为迭代发布,则需要考虑对旧版本的接口兼容或接口废弃处理。

    需要考虑以下几点:

    1.废弃的协议或接口是否已注释,是否已不可使用
    2.新、旧接口之间是否兼容
    3.旧接口是否会影响新接口的使用
    4.接口的更新是否影响其他接口或外部系统的调用

    最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几个月时间整理的非常全面的,希望也能帮助到有需要的你!
    在这里插入图片描述
    这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……

    如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流,同时我也把上面花几个月整理的资料放里边了,赶快加入吧。

    敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

    自学推荐B站视频:

    零基础转行软件测试:38天自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!

    自动化测试进阶:已上岸华为,涨薪20K,2022最适合自学的python自动化测试教程,自己花16800买的,无偿分享

    在这里插入图片描述

  • 相关阅读:
    Golang 编写测试用例(单元测试、压力测试等)最新教程,细到极致
    网络安全攻防演练项目介绍
    K_A08_001 基于 STM32等单片机驱动L298N模块按键控制直流电机启停正反转加减速
    java毕业生设计亿互游在线平台网站计算机源码+系统+mysql+调试部署+lw
    [Java、Android面试]_05_内存泄漏和内存溢出
    一起来学Kotlin:概念:17. Kotlin Extension Function / Method (扩展函数)
    使用Python,结合Flask框架,创建一个可以处理交易、挖矿新区块、验证区块链有效性,并能在网络节点间同步的区块链网络。(持续更新)
    表内容的操作(增删查改)【MySQL】
    在Vue里面使用v-for出现警告
    使用API接口获取商品数据:从入门到实践
  • 原文地址:https://blog.csdn.net/xfw17397388089/article/details/126763525