51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7560|回复: 19
打印 上一主题 下一主题

接口测试第一课(基础知识篇)

[复制链接]
  • TA的每日心情

    2016-10-29 22:53
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]测试营长

    跳转到指定楼层
    1#
    发表于 2016-10-11 20:36:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    缺陷描述
    被测试软件名称及版本: -
    软件类别: -
    软件地址: -
    操作系统及版本: -
    浏览器平台及版本: -
    软件开发语言: -
    缺陷类型:
    缺陷等级:
    缺陷简要描述: -
    讲课之前先来学习一段历史小故事:



    公元307年楚国进攻韩国,于是韩国派人向秦国求援兵。之前说过了,我们宣太后就是从楚国出来的嘛!当然不愿意出兵啊!于是就讲了这样一个段子给使臣听:“妾事先王也,先王以其髀加妾之身,妾困不疲也;尽置妾之上,而妾弗重也,何也?以其少有利焉。”




    -----------------------言归正传,进入主题---------

    一、什么是接口测试?


    接口可以分下面几种
    1、系统与系统之间的调用,比如银行会提供接口供电子商务网站调用,或者说,支付宝会提供接口给淘宝调用



    2、上层服务对下层服务的调用,比如service层会调用DAO层的接口,而应用层又会调用服务层提供的接口,一般会通过服务之间的调用,比如注册用户时,会先调用用户查询的服务,查看该用户是否已经注册。



    而我们所要做的接口测试,先要了解是基于哪一种类型的接口测试,不同类型的接口测试方法可能是不一致的,总体来说,不管是那种类型,我们只要把被测接口当做是服务方,而把我们的测试手段当做是客户方,我们的目的就是,通过我们的测试手段,去验证服务端满足了他声明提供的功能。

    二、做接口测试的流程一般是怎么样的?


    接口测试的流程其实和功能测试的流程类似,因为接口测试依赖的主要对象也是需求说明书,所以,最初的流程就是参与需求讨论,评审需求。需求确定以后,开发会根据需求进行接口设计,会产出接口定义,在开发设计过程中,有能力的话,可以给出一些针对设计的建议,提高可测性,针对需求及设计,进行测试计划,测试设计,然后还需要和配管确定测试环境相关的事情。



    在开发完成接口定义之后,就根据需求文档及接口定义进行测试用例设计,测试用例设计主要从业务场景,功能,以及异常测试几个方面考虑。测试用例设计完成后,针对测试用例进行评审,然后,如果开发代码部分可测时,即可进入测试了,因为是部分可测,可能会使用到mock方法(mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。)。已有测试代码时,就要进行测试代码的持续集成了,我们是使用jenkins来进行持续集成的

    三、接口测试的数据准备,应该怎么做呢?



    接口测试的数据准备,可以从下面几个方面去考虑:
    1、如果是只测试一次的接口,可以使用硬编码的方式准备测试数据,在写测试代码的时候,使用到什么数据就写什么数据,为了避免数据重复,可能比较多的会用到随机字符或随机数

    2、可以直接通过调用其他API的方式准备测试数据,这种情况在测试最上层服务的时候比较有用,比如测试团购购买服务,就需要准备要购买的团购数据,购买团购的用户数据,这个时候,可以直接调用生产团购的api和生成用户的api直接生成测试数据

    四、接口测试怎么设计测试用例呢?



    我觉得接口测试用例的设计方法其实和功能测试用例的设计方法是类似的,因为接口是需要满足需求的,而接口测试所依赖的也是需求说明书,但是,因为接口测试毕竟是通过代码去测试代码,所以,为了保证覆盖率,可能会使用到单元测试的方法,具体的测试用例设计,参考如下:



    1.输入参数测试: 针对输入的参数进行测试,也可以说是假定接口参数的不正确性进行的测试,确保接口对任意类型的输入都做了相应的处理:
    输入参数合法,
    输入参数不合法,
    输入参数为空,
    输入参数为null,
    输入参数超长;


    2.功能测试:接口是否满足了所提供的功能,相当于是正常情况测试,如果一个接口功能复杂时推荐对接口用例进行结构划分,这样子用例具有更好的可读性和维护性。

    3.逻辑测试:逻辑测试严格讲应为单元测试,单元测试应保持内部逻辑的正确性,可单元测试和接口测试界限并不是那么清楚,所以我们也可以从给出的设计文档中考虑内部逻辑错误的分支情况和异常;


    4.异常情况测试:
    接口实现是否对异常情况都进行了处理,接口输入参数虽然合法,但是在接口实现中,也会出现异常,因为内部的异常不一定是输入的数据造成的,而有可能是其他逻辑造成的,程序需要对任何的异常都进行处理。





    五、接口测试工具有哪些?

    1.Wireshark:用来获取网络数据封包,包括http,TCP,UDP,等网络协议包

    五、如何抓包查看接口传入参数和返回参数是否正确?



    2.Postman:不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以说是Chrome插件类产品中的代表产品之一。



    3.HttpRequester:firefox上的一个插件工具,可以模拟多种请求,入下图,

    界面简单清晰,上手容易,也是小编比较喜欢的一款工具之一



    4.fiddler:史上最强大的app、web接口调试工具,没有之一,不解释!

    接下来的课程,我们都会围绕fiddler这个工具来讲了~~
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏17
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2017-11-26 18:46
  • 签到天数: 382 天

    连续签到: 1 天

    [LV.9]测试副司令

    2#
    发表于 2016-10-12 09:12:06 | 只看该作者
    谢谢楼主的分享!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-8-10 20:58
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2016-10-12 12:05:48 | 只看该作者
    谢谢楼主的分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-31 08:59
  • 签到天数: 975 天

    连续签到: 1 天

    [LV.10]测试总司令

    5#
    发表于 2016-11-1 13:40:07 | 只看该作者
    支持分享,希望继续下去
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2016-11-4 17:14:05 | 只看该作者
    感谢楼主分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2016-12-14 18:59:29 | 只看该作者
    还有第二篇文章吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2016-11-30 15:57
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    11#
    发表于 2017-1-4 13:48:59 | 只看该作者
    感谢楼主的分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2017-6-5 15:04
  • 签到天数: 29 天

    连续签到: 1 天

    [LV.4]测试营长

    13#
    发表于 2017-1-10 17:34:23 | 只看该作者
    谢谢楼主分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2017-1-10 18:48:09 | 只看该作者
    怎么加一些 大牛  技术的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2017-1-19 16:50
  • 签到天数: 5 天

    连续签到: 2 天

    [LV.2]测试排长

    16#
    发表于 2017-1-18 17:06:55 | 只看该作者
    顶一个,虽然每天都在做接口测试,但是没怎么认真想过,汇总过
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2017-2-4 10:30:26 | 只看该作者
    接下来的课程要在哪里看呀?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2017-2-25 14:07:00 | 只看该作者
    介绍简单易懂,工具也都说的很详细,很棒的一篇课程,第二篇课程什么时候出呢?,很期待
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-9 03:38 , Processed in 0.080060 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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