51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1943|回复: 0
打印 上一主题 下一主题

[原创] 提升接口测试覆盖率,都要考虑哪些点?

[复制链接]
  • TA的每日心情
    无聊
    前天 09:05
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2021-10-8 10:39:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    接口测试一般需要关注以下几点:
      1.输入
      2.输出
      3.逻辑处理
      4.数据库
      5.安全性
      6.性能
      7.接口超时
      8.兼容性
      9.接口设计(较少关注)
      以下为各部分介绍。
      1.输入
      输入,接口的入参,一般使用等价类和边界值设计用例。需要考虑输入的正常与异常情况,其中异常包括有参数异常以及数据异常。
      A.正常的入参
      根据接口设计文档的入参标准,输入正常的参数,接口按接口设计文档的描述,得到正常的响应返回。
      B.参数异常
      参数异常包括:
      1)参数为空
      2)多参
      3)少参
      4)错误的参数
      C.数据异常
      数据异常包括:
      1)数据类型错误
      2)长度不符合设计
      3)非空参数为空
      4)特殊字符或敏感字符
      5)不在字典(接口设计)范围内的数据
      6)非法参数(非常规参数的处理,如号码、邮箱的判断机制)
      7)存在关联关系的参数数据异常
      2.输出
      在考虑接口异常时,不一定能覆盖所有错误码,可以通过接口定义返回的错误码补充异常情况的用例。
      如:
      A.网络异常
      B.无效的规则
      C.无效的参数
      D.无效的业务ID
      E.无效的任务
      F.服务器异常
      利用errorcode补充用例,可以发现前后端输出是否正常,敏感信息处理机制,及提示信息是否符合规范等。
      3.逻辑处理
      接口测试一般会提供接口设计文档,另外还应获取或整理业务流程图,针对业务流程中的处理逻辑,结合接口的输入限制、业务状态等进行测试点的考虑。
      A.限制条件
      1)数值限制:字典,等级,行业相关限制,金额限制,分数限制等
      2)状态限制:在线或离线,是否开通服务等
      3)关系限制:如账号与个人信息的绑定
      4)权限限制:三权分立(管理员,操作员,监控员等),用户之间的信息隔离等
      B.对象分析
      操作的对象是否合法,如对问题账号的转账,冻结用户的登录等。
      C.状态转换的分析
      在金融行业中状态转换的分析及处理较为重要,如商城购物,退款、付款中取消了订单、继续进行订单付款、是否可多次支付、业务流程跳转的状态处理等。
      D.时序分析
      时序分析多为针对业务流的处理分析。对于一些复杂活动,如办理业务需要进行的流程顺序,其业务流的处理。如资料的填写、上传是否只能按顺序进行?是否可返回上一步?流程步骤之间的跳转如何处理?资料填写到一半,去办理其他事务或切换窗口会导致什么情况?
      4.数据库
      接口在进行数据传输交互时,都需要对数据库进行操作,因此亦需要关注数据库的以下内容:
      A.数据读写是否正常
      B.数据存储是否正常(乱码、重复数据等情况)
      C.对资源的使用情况(CPU、内存等)
      D.对线程的占用、释放情况(读写线程的处理机制等)
      E.对数据的处理是否正常(增、删等操作)
      5.安全性
      对于接口的安全性测试,一般包含以下内容:
      A.信息的加密(包括但不限于 登录口令、用户身份信息等)
      B.传输方式(http/https)
      C.接口的鉴权方式
      D.sql注入防范
      E.越权访问
      后续如有安全测试,可能还包括非正常接口的访问、DDoS防护等。
      6.性能
      接口的性能不佳,会影响用户使用,甚者还会影响业务的正常进行。在金融行业中更是最为注重的测试点。
      接口的性能主要关注以下几点:
      A.最大并发
      B.响应时间
      a)平均响应时间
      b)最大响应时间
      c)最小响应时间
      C.吞吐量
      D.资源使用情况
      E.错误率
      7.接口超时
      接口测试的非正常情况处理包括接口超时,在金融行业中亦是较为注重的测试点,超时处理不当,可能会引起进程阻塞、逻辑混乱等情况。如提交订单后限制多长时间内完成付款,超时则订单无效。网络问题导致的长时间未成功付款等。
      8.与历史版本的兼容性分析
      如软件系统为迭代发布,则需要考虑对旧版本的接口兼容或接口废弃处理。需要考虑以下几点:
      A.废弃的协议或接口是否已注释,是否已不可使用
      B.新、旧接口之间是否兼容
      C.旧接口是否会影响新接口的使用
      D.接口的更新是否影响其他接口或外部系统的调用
      9.接口设计合理
      对于接口的设计应遵循以下几点:
      A.只提供必要的接口字段
      B.只返回必要的期望信息
      C.方便调用
      D.可拓展
      同时亦可关注以下内容:
      a.接口定义是否满足所有调用者的需求
      b.接口参数使用是否方便
      c.接口的业务规则是否正确
      d.接口对服务使用的影响
      以手机银行基金买卖提交接口为例,进行简单的接口用例分析:
      测试对象:手机银行基金买卖提交接口:



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-23 19:41 , Processed in 0.064484 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表