51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2956|回复: 3
打印 上一主题 下一主题

[转贴] 为什么要做接口测试(本文讨论的接口均是服务级的接口,非代码级)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-10-24 13:50:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、接口是什么?

在讨论为什么要做接口测试之前,我们可以先稍微了解一下接口是什么?
接口可以很不准确的理解成是与资源打交道,这个资源可能是本系统的,也可能是其他系统的。

举个例子,假如我们在开发1bug管理系统,该系统需要拿到公司的所有开发和测试人员的信息,这样开发和测试人员不用注册都可以登录进去了,这应该很好理解。
那么这些人员的信息储存在哪里呢?一般存储在hr系统里。现在的需求更加明确了,我们要到hr系统中去拿到人员信息,获取hr系统中的人员资源。
怎么拿呢?很多种方式,可以直接把hr系统的数据库拷贝一份放到bug管理系统里,不过这样不好,因为数据的同步会有点麻烦;还可以直接连hr系统的数据库去查,这样也不太好,这样我们就需要了解hr系统的数据存储结构和逻辑,一旦hr系统的数据字段发生改变,bug管理系统也要去该,以便同步。
比较好的做法是,hr系统暴露一些接口,通过这些接口去获取人员信息资源,这样bug系统就不需要关心hr系统的数据存储实现了。

这些接口可能是这样的:
    登录的接口,提供人员的用户名和密码,去hr系统中判断该人员是否存在,如果存在验证用户名和密码,如果验证通过就返回1token,该token就是这个人员的通行证,通过token可以登录到bug管理系统中去;
    获取人员信息的接口,返回该人员的职位:测试还是开发,以及用户名,昵称等信息;

综上:接口可以理解成是不同系统或模块之间资源交流方式;接口测试实际上是黑盒测试。

作为黑盒测试,基本的测试思路是通过输入和输出判断被测系统或者对象的逻辑。
获取人员的信息,我需要把人员的用户名传给hr系统接口,这样hr系统的接口会返回给我用户的一些更加具体的信息。这里的输入是用户名,输出是用户的详细信息。


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

既然是接口获取和操作资源的方式,而大部分系统和产品中,资源一般都是产品的核心,比如微信核心资源就是通讯录关系链和聊天记录等,因此资源是必测的。
另外接口中大部分的内容是数据,通过数据的对比我们能推测到系统和产品的逻辑,测接口就是测逻辑。
最后接口中的返回相对单纯,不像web页面,html代码中有太多ui的东西,ui最不稳定,变化太快,接口相对稳定一点点,但是里面的干扰信息更少,断言相对容易很多。


3、接口测试用例怎么写?

还是3a原则,这个我以前的回答里有。
   A: arrange 初始化测试数据,就是造数据,这里的数据有我们输入的数据,也有目标接口所涉及的资源,比如hr系统中的用户信息,我们必须先有几条人员的详细信息才能去测获取人员信息的接口(当然只是正常的流程,我们有时候还需要清掉数据以便测试资源为空的情况);
   A: act 调用接口,传入输入数据;
   A: assert 断言,对返回的资源信息进行断言,比如获取用户信息的接口返回了用户信息之后,我们要判断返回的用户是不是我们想要的那个用户,我们获取的是李雷的信息,接口如果返回韩梅梅,那么接口的逻辑就是不对的;



4、有哪些常见的接口
    携程订飞机票,飞机票的信息一般都是通过各大航空公司的接口拿到的;
    淘宝的物流信息,一般淘宝的物流信息都是通过各个物流公司的接口拿到的;
    第三方微博客户端,个人用户的微博等信息都是通过微博的接口拿到的;


5、常见的接口测试工具
   postman:推荐。基本功能免费。最简单的基于http接口的调试和测试工具;
   jmeter:后置处理器配合断言基本上可以满足接口测试需求,就是测试报告要做二次开发;
    自己撸代码:推荐。配合类似xunit测试框架,基本可以满足一切需求;零基础实现python接口自动化视频教程,一起撸代码吧;
   soapui: 收费的;
   insomnia:强力推荐。postman的弱化版,基本功能免费,重要的是工具代码开源,可以自己改;
    paw: 强力推荐。mac上最强,淘宝买个授权好像就百把块钱。




博为峰网校,入门提升进阶必备~http://www.atstudy.com/


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

使用道具 举报

  • TA的每日心情

    2024-10-20 14:47
  • 签到天数: 564 天

    连续签到: 1 天

    [LV.9]测试副司令

    3#
    发表于 2017-10-27 15:18:43 | 只看该作者
    这个也看看!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-27 19:29 , Processed in 0.062962 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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