• 0
  • 0
分享
  • API接口测试——软件测试圈
  • 北极 2021-11-09 14:26:02 字数 1542 阅读 1001 收藏 0

引言:

不知不觉中成为一名测试攻城狮已将近7年之久,在这期间做过不少API接口测试。最早接触的API接口在项目中称之为(webservice),期间走了不少弯路。也收获了不少的经验,现分享下在测试的路上走过的坑。

第一阶段小白初体验:

初始接触API是在11年,第一次接触API接口一脸的懵逼,很茫然不知如何下手测试,对http网络协议也不了解。后来由研发同学提供对应接口web界面,测试时进入对应接口界面,在textbox输入对应参数值提交后查看返回值。但刚幵始一脸懵逼,返回值也不清楚是否正确,每次都是把研发同学叫过来直接看结果。严重耽误了效率,后来不断的自我反思,在研发同学的不断讲解API知识。不断前行最终自己可以独立测试,虽然中间过程也比较坑。比较囧(在这里特别感谢研发的同学非常耐心的讲解API知识,也非常感谢大芽同学的帮助)

第二阶段菜鸟阶段

经过不断的摸索和不断学习API知识,提高自己。从http网络协议入手,到一次网络请求的工作过程。如下图

1.png

HTTP网络协议,目前常用的请求类型:POST;GET;PUT等。目前用的比较多的是POST,GET这2种。一般涉及到写操作使用POST请求,只是读操作使用GET请求。

通过不断测试API接口和阅读API接口开发文档,总结经验设计API功能测试用例。例如初始时设计发表评论接口:设计Case如下

  1. 有Userid,有评论内容;

  2. 无Userid,有评论内容;

  3. 有Userid,无评论内容;

  4. 无Userid,无评论内容;

  5. 有Userid,有评论内容(查询数据库,是否存储一致);

  6. 有Userid,评论内容等于限制数7.有Userid,评论数大于限制数。

用例设计完成,剩下的就是执行用例。不断的总结经验,根据发现的Bug,补充自己的测试用例。在测试过程中发现了Bug,尽量描述全。把请求的参数,以及返回的参数全贴到Bug描述里面,这样研发在复现Bug,也很节省时间。这样也是提高了大家的工作效率。使用Excel比较不错,设计用例时候排列组合就好。

第三阶段工具运用:

在繁重的测试过程中发现这种由研发提供的web界面方式效率比较低下,回归测试时非常不便捷。测试数据每次都要重新输入,增加了大量的重复工作。每次回归测试都需要消耗大量的时间,主要是测试数据的管理在WEB页面没办法保存。通过网上查找和同事咨询,引入了接口测试工具SoapUI。在SoapUI中创建API的项目,添加对应API接口。创建API接口测试用例,把测试数据配置好就可以了。在执行测试任务时,执行对应的API接口测试用就可以了。使用SoapUI后重复输入的工作解放了出来。提高了非常不错的工作效率,节省了不少工期.

第四阶段菜鸟业务提升

在测试过程发现自己设计的用例,数量上太过于庞大。而且大多数用例都是用来测试接口本身,反而忽略了接口本身的业务。

例如login接口,设计功能用例:

  1. 有帐号,有密码;

  2. 有帐号,无密码;

  3. 无帐号,无密码;

  4. 无帐号,无密码;

  5. 有帐号,有密码(登录用户,与数数据库校验一致)。

但实际的用户可不单单一类用户,按照注册来分可以分为新注册用户,老用户。按照权限来分比如京东,分为普通会员,铜牌会员、银牌会员、金牌会员、钻石会员。所以实际测试需要测试这2大类用户登录。这个时候需要提炼出实际业务测试用例,实际的业务有的是不单调一个接口,是多个接口组成。中间还涉及到B接口需要从A接口获取参数。

设计业务用例:

  1. 新注册会员登录;

  2. 普通会员(老用户)登录;

  3. 铜牌会员登录;

  4. 银牌会员登录;

  5. 金牌会员登录;

  6. 钻石会员登录;

  7. 非注册用户登录。

确定了测试用例,剩下的就按照测试用例执行就可以了。


作者:collar

原文链接:https://www.cnblogs.com/collar/p/6402726.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 使用说明:http://quan.51testing.com/pcQuan/lecture/97开源项目地址: https://gitee.com/samllpig/SafeTool-51testing (谢谢大家点亮star)安全测试工具架构:安全测试工具v1.2版本更新内容:请求拦截功能,支持多个请求拦截   2. 响应拦截功能动图比较大,可以再git上看说明文档 https://gitee.com/samllpig/SafeTool-51testing
            3 3 2474
            分享
          • 软件测试是软件生存周期中必不可少的环节,软件的典型生存周期可以用下图来形容:软件测试的目的是尽可能早的发现软件缺陷并确保其得以修复,因此软件测试是提高软件质量的重要手段,大量的经验实践证明,软件测试越早参与到软件开发过程中,开发出来的软件质量相对越高,时间和物力也越经济。根据软件工程的基本理论,多模块程序的测试共包括以下4个层次:各阶段测试的具体内容会在以后章节具体介绍,下面介绍一下软件测试的经典技术。软件测试的经典技术分为黑盒测试和白盒测试技术。其中黑盒测试技术忽略程序内部结构,看不到程序的代码细节,只针对程序的功能进行测试,黑盒测试的方法有:具体方法会在以后章节中具体介绍,敬请期待。说完黑...
            11 11 2361
            分享
          • 回归测试详细阐述回归测试回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试,在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是很有意义的。简单概括:回归测试是指重复以前的全部或部分的相同测试。新加入测试的模组,可能对软件其他的模快内部、外部会产生“副作用...
            0 0 1276
            分享
          • 作为软件开发从业者,API 调试是必不可少的一项技能,在这方面 Postman 做的非常出色。但是在整个软件开发过程中,API 调试只是其中的一部分,还有很多事情 Postman 无法完成,或者无法高效完成,比如:API 文档定义、API Mock、API 自动化测试等等。Apifox 就是为了解决这个问题而生的。接口管理现状一、常用解决方案使用 Swagger 管理 API 文档使用 Postman 调试 API使用 MockJs 等工具 Mock API 数据使用 JMeter 做 API 自动化测试二、存在的问题维护不同工具之间数据一致性非常困难、低效。并且这里不仅仅是工作量的问题,...
            13 12 503
            分享
          •   一、我们经常遇到的问题  在我们的测试日常中,不免会遇到网页性能感知测试的工作,比如:测试访问某个网页耗时。针对此类测试,笔者经历过两种简单的方法:测试网页使用的后端接口响应耗时等同为网页耗时;使用秒表计算网页响应耗时。  测试网页响应耗时,我们需要知道触发网页请求时,直至网页刷新、响应,整个过程到底包含了些什么。从大体来分,主要包含两部分耗时:后端接口请求响应耗时和前端页面资源加载耗时。而抛开前端页面资源加载时间,单纯将后端接口响应耗时等同为网页响应耗时是不准确的;而不清除浏览器本身资源配置和消耗,简单使用秒表计算网页响应耗时,结果是粗泛不准确的。  那么,我们应该怎么测试网页响应耗时呢...
            14 14 1012
            分享
      • 51testing软件测试圈微信