51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] 聊聊日常接口测试

[复制链接]
  • TA的每日心情
    擦汗
    3 小时前
  • 签到天数: 1046 天

    连续签到: 4 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2020-8-7 10:04:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    我有一朋友想从APP测试转到接口测试,虽然给了很多脚本,但是学起来依旧困难。我稍微整理了下日常工作中,我所接触到的接口测试主要测什么,怎么测。
      首先什么是接口测试?接口测试是测试系统组件间接口的一种测试,主要用于测试系统与外部其他系统之间的接口,以及系统内部各个子模块之间的接口。测试的重点是要检查接口参数传递的正确性,接口功能实现的正确性,输出结果的正确性,以及对各种异常情况的容错处理的完整性和合理性。这是百度上的详细介绍,用白一点的话来说,接口就是client和server数据交互的传递工具,client通过接口向server端发起请求,然后server通过接口返回参数给client传递server的执行结果。那么对于接口我们要做什么?
      在拿到接口的时候,首先查看接口URL和参数,是POST还是GET方法,然后写好最基础的接口请求(代码用Python来写),调试查看接口能正常有数值返回。
    接着我们来检验接口返回值里的节点,第一个就是code=0,表示接口已经正常进入到server里面,并且完成了操作,说明接口是正确的。然后对data里面的每一个参数进行校验,一是返回值是否符合接口定义,二是返回节点对应的数值是否正确。
      接下来,我们要检查下接口的功能是否实现了,那么怎么检验功能是否实现了?最直接的是[url=]数据库[/url]校验。检查数据库中对应的表是否增加了对应的数据?增加的数值是否正确?在数据库校验时,被人问过一个问题,你如何证明你校验的数据就是接口产生的数据?当时第一个反应是数据库里最新一条数据不就是吗?其实后面才发现,这个说法不一定准确,因为很多时候我们在进行接口调试的时候,参数基本上是保持不变的,如果本次接口让server没执行,那取最后一条数据依旧可以校验通过。在这种情况下我们可以先检验数据库的数据是否新增一行,如果执行前和执行后数据库新增了一行数据,且数据数值和传入参数一一对应,那么就可以认为是接口产生的。
      到上面为止,可以说接口的基本测试已经完成,但是任何接口测试都还有个很重要的步骤,那就是必不可少的错误流测试。错误流最基础的就是参数为空或者不存在的情况,还有一些边界值等校验。
      上诉是api接口的接口测试,有些接口可能还会涉及到并发测试,并发可以从单用户并发和多用户并发角度出发,校验极端情况下代码的处理是否正确。到此为止接口[url=]功能测试[/url]算是完成了,在测试过程中最重要的功能实现的校验,要根据不同的业务来判断难易,测试要的是校验的全面性,不能漏验。
      另外附加一个WEB页面的接口测试方法,通过session可以直接进行WEB页面的接口测试。希望大家在学习自动化上相互帮助,共同进步。





    本帖子中包含更多资源

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

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

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-14 12:32 , Processed in 0.059258 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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