• 0
  • 0
分享
  • ​SoapUI测试接口工具有哪些弊端?盘点它的优缺点——软件测试圈
  • 恬恬圈 2022-03-14 11:12:33 字数 1564 阅读 853 收藏 0

我司是从2013年开始做接口自动化,那时候选用了测试接口工具--SoapUI。当时觉得非常好用,简单易上手,即使是代码小白,也能通过几次培训课,上手该工具。非常适用于代码基础薄弱,仅仅懂得业务的测试团队。

随着业务的发展,一个项目的接口从几十个扩大到几百个,继续使用接口工具,无疑对后期脚本的维护产生了非常大的工作量。虽然说提供界面化管理,让做接口变的简单,但是却因为无法做接口分离,导致代码耦合性太高,大家都不愿意去维护老的接口。出现了老接口的case因为调试不通,而被无情删除的情况出现。

事实上,只要接口仍然被软件调用的情况下,无论是老接口还是新接口。我们都是不能随意删除的。不然所谓的可持续集成,也就没有意义了。对于我来说,既然接口做了自动化,就必须是100%全覆盖。这样我才对服务器的正确性,胸有成竹。发布前以及发布后,动动手指轻点一键跑一下接口自动化,短短几分钟内就能知道发布是否宣成功。

那么接口工具到底有哪些弊端,想让我摆脱它的束缚呢?接下来就来盘点下它的弱点。

用过SoapUI的伙伴,可能遇到过这样的情况,比如case一多,文件一大,就出现out of memory的情况。如果接口改了,那就要到非常多的case里面去找这个接口,如果多个case调用到的话,我们还要一一做调整和修改。还有在想复用断言代码的时候,为了隔离环境,想在容器里面跑的时候.......工具的一些弊端就体现出来了。

假如说测试团队的小伙伴有一些代码基础了,强烈建议用python去写接口自动化,当然用其他语言也ok。Python相对学起来更简单,上手更容易,代码量也少。很适合想要将接口工具切换到代码来管理和维护自动化的团队。

当然如果想通过代码方式去实现接口自动化,就要很好的去做代码层级的规划。如果揉在一起的代码,无疑也是不可维护的,与其这样还不如用接口测试工具来管理。所以考虑接口分层必不可少。

如何做到分层?就要从接口的构成开始分。接口组成要素1)url 2)请求体 3)响应。所以我们就可以创建3个文件。首先是创建管理接口url的文件,然后是创建管理请求参数的文件,最后就是创建管理响应的文件。

举个例子:

图片 1.png

这段代码是我们把整个url,请求参数,断言都是揉在一起的一个用例。接下来我们进行拆分。

拆分一:

通过一个interface的文件,将url以及接口的请求method来进行封装,并返回response

图片 2.png

拆分二:

通过一个reqParam的文件来管理请求的参数

图片 3.png

拆分三:

通过一个respCom的文件来管理返回的响应

图片 4.png

这个时候我们其实可以在interface这个文件中,进行一些改造,将return的响应结果通过resp_base再包一层,变成如下

图片 5.png

写case:

这下有了接口必要的部件后,我们就可以开始写case,将这些部件整合,case看起来更加简洁。

图片 6.png

从代码量和文件数量上来说,由于这样的拆分貌似是多了很多,但是对于后期维护来说确实是非常的清晰,比如说接口改了一个url的地址时,大家就不再需要去看case,只需要修改interface里面该接口的url即可。请求参数如果是一个非常复杂的dict时,通过这种写法,case仍然只有了了几句。如果不拆,那么case里面将是一大段一大段的dict,无论是修改和阅读都是非常费劲的。

当然上面的拆分还不是最细的,我们还可以将断言封装,将请求method封装,将url主域名放到一个config文件里面进行读取以及将传入的参数单独写文件等等。尝试一下,你会体会到自己写代码所带来的自由自在,不再受接口工具的束缚。


作者:Atstudy网校

文章来源:https://www.toutiao.com/a7065605105990648327/?log_from=312ad5be14b2c_1646895266948

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 新浪科技讯北京时间12月6日晚间消息,据报道,知情人士今日称,Twitter CEO埃隆·马斯克(Elon Musk)已将Twitter旧金山总部的部分办公室改造成了卧室,以便通宵工作的员工们使用。两位知情人士称,Twitter的员工们周一发现,公司总部的一些办公室和会议室里面变得光秃秃的,只有床垫和窗帘。当然,有的房间布置得比较齐全,有一张大床、一个床头柜、一盏台灯、两把扶手椅,以及明亮的橙色地毯。目前尚不清楚共有多少间办公室被改造成了卧室,但一位知情人士称,每层楼可能有四到八间卧室,这些房间看起来“挺舒服”。另一位知情人士称,其中几间卧室位于一个基本没有使用过的楼层上。其中一间卧室的垃圾桶...
            0 0 1009
            分享
          •       沐沐今天想和大家分享一下性能测试过程中一些常见的问题,可以帮助性能学习初学者解决一些小疑惑。一、性能测试都分为哪些种类? 负载测试:主要检查被测系统在既定负载下的性能表现,即通过逐步加压的方法,达到既定的性能阈值的目标(阈值的设定应是小于等于某个值,例如cpu<=80%等)。压力测试:主要检查被测系统在极端条件下的表现,即通过逐步加压的方法,使得系统的某些资源达到饱和,简言之就是测试什么条件下可以把系统压奔溃。并发测试:主要是验证系统的并发处理能力,即在同一时间内,多个虚拟用户同时访问同一模块、同一功能,通常的测试方法是设置集合点。基准...
            2 0 4133
            分享
          •   1、压测机  无论是从成本角度还是维护的难易方面,压测机的数量,适量就好。举个例子,8C16G的一台服务器,部署Jmeter后,根据我个人的测试比对数据,配置≤1500个线程数,最好。太多了性能损耗较大,延时高;太少了又浪费。controller与agent:模拟的并发线程数超过5K,建议留出一台做专门的controller机器,主要是避免agent机器数据上报带来的影响。服务授权:如果压测启动和服务配置都是root权限,那么在linux环境下,需要给jmeter和jmeter-server授权,命令为:  chmod 777 jmeter  2、服务通信  所有的压测...
            0 0 1142
            分享
          •   据第一财经报道,在结束访华行程前,挪威首相今晚在上海表示,此访签署了《中国和挪威关于建立绿色转型对话的联合声明》。  挪威首相提到,挪威不是欧盟国家,没有共同贸易政策,同时挪威也不生产汽车零部件,不会参与对华电动车加征关税。  据此前报道,8 月份挪威共售出 11114 辆汽车,电动汽车占比达 94%,创下新的世界纪录。今年 1 至 8 月,挪威电动汽车占新售乘用车销量的近 87%。  挪威是主要的石油和天然气生产国,但该国已设定目标在 2025 年之前仅销售零排放车辆,比欧盟的目标提前 10 年。作者:沛霖(实习)原文链接:IT之家(ithome.com)
            0 0 295
            分享
          • 面试中,针对“用户登录”界面设计测试用例这个题目可以说是非常的耳熟能详了!可能你会说,“用户登录”这个测试对象也有点太简单了吧,我只要找一个用户,让他在界面上输入用户名和密码,然后点击“确认”按钮,验证一下是否登录成功就可以了。的确,这构成了一个最基本、最典型的测试用例,这也是终端用户在使用系统时最典型的 Happy Path 场景。但是作为测试工程师,你的目标是要保证系统在各种应用场景下的功能是符合设计要求的,所以你需要考虑的测试用例就需要更多、更全面,于是你可能会根据“用户登录”功能的需求描述,结合等价类划分和边界值分析方法来设计一系列的测试用例。那什么是等价类划分和边界值分析方法呢?首先...
            14 15 3381
            分享
      • 51testing软件测试圈微信