51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2977|回复: 1
打印 上一主题 下一主题

接口自动化测试(九):测试用例管理

[复制链接]
  • TA的每日心情
    无聊
    2024-11-5 10:03
  • 签到天数: 77 天

    连续签到: 1 天

    [LV.6]测试旅长

    跳转到指定楼层
    1#
    发表于 2018-6-15 14:38:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    前面的系列文章已经将接口(API)自动化测试的理论和基础请求框架、数据验证等知识面介绍完了,这
    就好比已经给你砖和钢材木板等基础物料,那么怎么用这些基础物料去搭建高楼大厦呢?

    接口该如何测?

    在讲如何盖楼之前,要先理解一下这个问题:接口到底该怎么测?(刚好有童鞋在群里问起,就在这里
    稍微说明下)给你个接口URL,在浏览器或工具中发起请求,得到一个返回结果,接口请求的过程就这
    么简单,那么如何测试呢?要注意哪些细节?通常接口测试的关注点可以包含下面几个部分:
    1、接口请求参数部分:参数部分其实就对应用户环境的各种操作场景,针对接口的参数,可以设置各
    种用例及组合用例,简单的举个栗子:比如一个查询起始日期参数,就可以设置成今天、昨天、明天、
    跨月、跨年、边界日期(1970-01-01、0000-00-00、2月29、12月31等)、日期格式验证(yyyy-MM
    -dd、yyyyMMdd、yyyy/MM/dd、yyyy_MM_dd等)、非法日期验证(特殊字符、null、空格等)等几
    十种用例。
    2、接口的返回结果部分:返回结果的验证,前面已有文章详细说明,如有需要可以参看前几个章节的
    文章,这里就不赘述了。
    3、接口的协议、版本兼容等,这里就属于接口兼容性测试的范畴,比如请求协议,可以是HTTP或HTT
    PS(通常支持HTTPS的都会兼容HTTP,反之不成立),接口版本是否遵循向下兼容原则等。

    测试设计

    很多人不知道接口测试如何下手,其实是不知道如何做接口测试设计……上面提到了接口请求参数可以设
    计组合成多种用例,那么接口测试的用例该如何设计?
    做过功能测试的相信都会写过测试设计,自动化测试也需要做测试设计,但这里的测试设计不需要像功能
    测试的测试用例那么详细,参考功测试设计的用例大纲那种粒度即可(通常用xmind脑图写)。也举一个
    浅显的例子吧,比如按日期查询这个很常见的功能(假如接口url类似:http://api.test.com/query?startD
    ate=&endDate=),对应的接口用例如何设计?下面用脑图简单发散了一下:
    测试设计

    测试设计是测试工程师的基本功,如果觉得写这个还有困难的话,那就要补补基本功了,多写几次测试用
    例练习下测试思维,基本上问题就不大了。
    用例组织

    测试设计好了以后,我们要将设计转换成一条条用例数据,这些用例数据放在哪里?这通常要分情况而
    定,没有很教科书式的答案,按自己喜欢也行,总之,循序原则:便于维护和管理,所以通常可以将用
    例数据放在:

    代码中,不推荐,除非是很简单的用例数据;
    文本文件中,同样是适合比较简单的用例数据,通常是存一个字段比较好(key-value形式);
    json文件中,比较推荐,可以存储多个字段,解析也方便快捷,便于维护,但数据不太直观,不便于结果
    的回写;
    excel文件中,推荐,可以存储多个字段,数据直观,便于结果和状态的回写,但读写解析相对来说要麻
    烦些;
    mysql数据库中,推荐,推荐用轻量级的数据库,可以存储多个字段,数据直观,便于结果和状态的回写
    ,读写解析也简单,但存在数据库维护成本;
    上面列举了常用的方式,大家可以根据自己的需要和喜好去选择,反正怎么方便怎么用,下面我贴一张
    我之前项目中用到的excel用例结构出来:


    用例结构
    测试方法管理

    上面用例组织好了之后,编写对应的测试方法代码,请求的参数和url从用例数据中读取即可,如需要回溯
    测试,可以将实际请求的url及结果等信息回写到excel或DB中。然后这些测试方法代码该如何管理?这个
    问题相信大家都知道了吧,直接用现成的测试框架Junit或TestNG,推荐TestNG,为啥?具体原因可以去
    搜我之前分享过的关于Junit和TestNG对比的文章(怕有人找不到还是贴一下:因为 TestNG 在参数化测
    试、依赖测试以及套件测试(组)方面功能更加强大。TestNG 意味着高级的测试和复杂的集成测试。它
    更加的灵活,特别是对大的套件测试。另外,TestNG 也涵盖了 JUnit4 的全部功能。那就没有任何理由去
    使用Junit了)。



    本帖子中包含更多资源

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

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

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-25 09:01 , Processed in 0.066182 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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