51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5184|回复: 16
打印 上一主题 下一主题

[原创] 1. 接口测试,想说爱你“很”容易

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-7-7 10:07:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
接口测试没什么高深,只是测试的对象是接口而已。
案例
某公司发现,价值100元的商品,在该公司网上商城被以0.01元买走了很多。攻城狮们火速定位,问题原因很快被找到了,原来是购买商品接口的bug。该接口需要3个参数:商品id、商品单价、购买数量,而服务器根据接口传过来的商品单价(0.01元)生成了订单。服务器本应根据数据库中的商品单价100元来生成订单。如下图,我们将页面上的单价修改后,再购买,提交到服务器的商品单价就是0.01元。
作为测试工程师的你,有做过这种测试吗?
如果没有强烈建议你赶紧补充测试。侥幸是测试工程师的最大天敌之一。

what-接口是什么?
在计算机中,接口是计算机系统中两个独立的部件进行信息交换的共享边界。举个例子,我提供加法的计算接口,你给我两个数,我就给你返回一个和。
what-什么是接口测试?
狭义的接口测试指的是对接口进行测试,上个例子中测试的是不同输入参数时,我加法的返回是否正确。一般讲的接口测试是这种。
广义的接口测试包含接口提供方、接口调用方的测试。 比如,你调用我的接口执行加法,我返回错误的响应,或者我响应超时,这时你的处理是否正确。

为什么要做接口测试?
上面的案例就能说明做接口测试的重要性。一般做接口测试有如下原因:
  • 一般的功能测试,覆盖不到多种情况。(如上例所示)
  • 从安全角度考虑,只依赖于前端的校验不能满足要求,需要服务端也要做校验,比如:APP上一个充值的界面,充值金额输入框不能输入负数,测试时,我们要确保服务器也做了这个校验。有一万种手段绕过前端验证。
  • 从安全的角度考虑,用户密码、其他用户隐私信息传输时都需要进行加密。
  • 当APP的代码不更新,而服务端代码更新时,直接通过接口自动化测试就能快速知道是否影响APP的功能。
  • 很多系统是没有界面的,只提供接口功能,没法通过界面的方式进行测试。
  • 接口测试相对容易实现自动化,也容易实现持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。

How-怎么做接口测试?
“怎么做接口测试”这个问题可以分解为两个问题:
  • 怎么设计接口测试用例?
  • 怎么执行接口测试?
怎么设计接口测试用例?
怎么执行接口测试?
  • Fiddler、SOAPUI、PostMan等可以做半自动的接口自动化测试;
  • 使用Robot Framework做全自动化的接口自动化测试;
  • 自己用代码做全自动的接口自动化测试,如Java+testNG;
  • 找其他第三方平台做全自动的接口自动化测试。

总结
本文讲了接口测试what、why、how的问题,在后续的文章中会逐步深入,讲工具的使用、接口自动化测试的框架搭建、接口测试出现问题的一般分析思路等。一部大片刚刚拉开帷幕,敬请期待!




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

使用道具 举报

  • TA的每日心情

    2024-7-8 09:00
  • 签到天数: 943 天

    连续签到: 1 天

    [LV.10]测试总司令

    2#
    发表于 2017-7-7 10:12:28 | 只看该作者
    图片都没显示出来呀
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2017-1-23 15:52
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    3#
    发表于 2017-7-7 15:22:56 | 只看该作者
    对呀,图片没有显示
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2017-7-12 20:20:02 | 只看该作者
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-1-20 10:46
  • 签到天数: 25 天

    连续签到: 1 天

    [LV.4]测试营长

    7#
    发表于 2018-5-3 16:44:49 | 只看该作者
    高深的问题分析简单了,
    5W1H思路写的很明确,学习了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-5-3 18:09
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
    发表于 2018-5-3 18:21:46 | 只看该作者
    建议:接口执行里提到了自动化,可以引申到持续集成/交付以及交付流水线 这块儿大有天地
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-1-20 10:46
  • 签到天数: 25 天

    连续签到: 1 天

    [LV.4]测试营长

    10#
    发表于 2018-5-4 10:01:01 | 只看该作者
    梦想家 发表于 2017-7-7 10:12
    图片都没显示出来呀

    没图片啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-1-20 10:46
  • 签到天数: 25 天

    连续签到: 1 天

    [LV.4]测试营长

    11#
    发表于 2018-5-4 10:01:55 | 只看该作者
    菜鸟@大虾 发表于 2018-5-3 18:21
    建议:接口执行里提到了自动化,可以引申到持续集成/交付以及交付流水线 这块儿大有天地

    持续集成没搞过,但很流行
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-5-3 18:09
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    12#
    发表于 2018-5-4 11:08:34 | 只看该作者
    就是爱测试 发表于 2018-5-4 10:01
    持续集成没搞过,但很流行

    如果说没引入持续集成或者持续交付而大谈自动化,嘿嘿。。。。你懂的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-2-13 09:16
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]测试连长

    13#
    发表于 2018-5-4 14:39:45 | 只看该作者
    老师,是不是每一个与服务器有数据交互的都要做接口测试啊?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2020-2-2 12:43
  • 签到天数: 630 天

    连续签到: 1 天

    [LV.9]测试副司令

    14#
    发表于 2018-8-3 17:19:36 | 只看该作者
    接口还是你牛逼
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2020-2-2 12:43
  • 签到天数: 630 天

    连续签到: 1 天

    [LV.9]测试副司令

    15#
    发表于 2018-8-3 17:20:09 | 只看该作者
    基本是灰盒测试
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2024-7-8 09:00
  • 签到天数: 943 天

    连续签到: 1 天

    [LV.10]测试总司令

    17#
    发表于 2018-8-23 13:51:14 | 只看该作者
    图片都没显示出来呀
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-14 21:54 , Processed in 0.075360 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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