• 0
  • 0
分享
  • 超好用的自动化测试工具Python脚本——软件测试圈
  • quinn 2022-09-29 11:53:33 字数 1214 阅读 1871 收藏 0

前言

自动化测试会越来越受到重视

在移动互联时代,对于质量的要求PC时代的多,投产出最的动化测试,将会是部分公司的选向,但需要严格掌握门语。

快速、高效的测试工具及脚本,能使程序猿的开发工作事半功倍。笔者进入到研发中心工作之后,参与到一个报文平台的重构项目中。该项目老平台基于C语言编写,架构老旧,可维护性与扩展性较差;为了紧跟研发中心的技术迭代步伐,新平台使用新的工具进行重构,使其构建发布、参数配置更灵活,便于后续维护与扩展。

在新平台的重构开发过程中,报文的路由测试是很关键的部分。由于系统涉及一百多种不同格式的报文,且系统安全性要求较高,每个报文在系统中交互时都要进行加验签检查,所以需要对整个系统进行全面、严密且覆盖所有报文类型的测试工作。

之前开发中的测试均通过手动将报文粘贴到测试工具中触发,此方法不仅效率低,且容易造成人为测试噪点,后续回归测试更是噩梦。为了解决此类问题,提升个人开发效率,笔者在开发测试环境中使用python语言实现了报文平台的自动化测试。

自动化测试分为三个部分,分别是测试数据的产出、发送测试数据和监控测试结果,如图1所示:

11.png

图1 整个自动化测试流程图

第一部分

测试数据的产出是从常备测试环境拉取历史日志,通过使用log_split.py脚本,按照日志里的语法规则对所需的测试数据进行切割,并去除冗余数据。接下来,根据切割后数据的关键字进行分类,分别放入不同类别的测试目录下,部分脚本代码如图2所示:

22.png

图2 log_split.py脚本部分代码

第二部分

发送测试数据分为两种形式,分别是手动单条报文发送和多条报文定时发送。单条发送多用于验证不同场景下的业务逻辑,而多条定时发送则可进行一定程度上的回归与压力测试。以手动单条测试为例,通过使用send_wb_testdata.py脚本读取指定的测试数据并放入到对应的数据队列中,部分脚本代码如图3所示:

33.png

图3 send_wb_testdata.py脚本部分代码

第三部分

最后为监控测试结果,当测试进入到报文平台处理程序时会调用read_test_resdata.py脚本,通过测试数据的标识号对程序日志进行匹配,并使用语法规则对日志里的关键信息进行截取,然后输出此次测试的结果。

Python语言非常灵活与简便,语法简洁,易学易上手。笔者构想与编写整个自动化测试脚本只花费了几个工作日中的零碎时间,但是使用自动化测试脚本后让整个开发测试周期节省的时间远超几个工作日。python语言逐渐普及,绝大部分linux操作系统均安装了python2.7,无需别的配置工作可直接上手编写。python能很好的支持调用linux命令,在一定程度上可取代shell,可快速编写服务器执行程序。如果你有同样的需求,不妨用python试下。


作者:软件测试凡哥

原文链接:https://blog.csdn.net/m0_70618214/article/details/125045977

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、adb环境部署准备下载jdk及安卓adt1、jdk下载地址(https://www.oracle.com/java/technologies/javase-downloads.html)配置环境变量① 打开配置环境入口右键此电脑-高级系统设置-环境变量② 配置JAVA_HOME在系统变量中新增JAVA_HOME,变量值中输入jdk安装路径(C:\Program Files\Java\jdk-15.0.1 版本号及路径可能不一致,不能直接复制)③ 编辑Path在系统变量Path中新加两条:%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin(每条以英语分号隔开)④ 编辑CL...
            0 0 937
            分享
          •   软件测试课程快来领取呀!点击下方链接参与测试行业问卷调查,价值398的课程马上领,还能参与抽奖活动,别错过!链接:http://vote.51testing.com/   PageSpeed Insights  谷歌开发的一个免费的网页分析工具,在地址栏中输入被分析的网站 url 地址,点击分析。  可模拟移动设备访问页面结果分析:  桌面设备访问页面结果分析:  前端开发工程师,可以根据这个报告进行页面优化。  Lighthouse  简介  Lighthouse 是谷歌开源的一款 Web 前端性能测试工具,用于改进网络应用的质量,适用于网页版和移动端。能生成一个包括...
            0 0 755
            分享
          • 前言开发人员与测试人员齐心协力,相爱相杀, 荣辱与共,方能打造出优秀的产品。若是bug描述不知所云,bug修复仓促随意,bug管理如同儿戏,则金玉其外已是造化,败絮其中当属必然。bug描述好的描述能降低沟通成本,让人审题时如沐春风,解题时酣畅淋漓。bug描述的主体,应该包含如下部分:标题:指明所测模块,简明扼要地描述问题现象[前提条件] 说明完成测试的预设条件是什么[重现步骤] 句子简练,步骤清晰,表达无歧义[实际结果] 按照步骤执行下来,实际结果是什么;不要有主观色彩[期望结果] 正确的结果应该是什么;应该有说服力,不要唯经验论Tips:其他如所测版本,附件信息,bug优先级等,不一而足,也...
            0 0 964
            分享
          •   一、前言  众所周知,市面上有很多出名的抓包工具,比如Fiddler、Charles、wireshark、mitmproxy;这些抓包软件都各有各的好处,不过今天小编不介绍这几种抓包软件,今天小编要为大家带来的是阿里开源的一款抓包软件-------LightProxy,翻译过来就是光代理,听名字就很牛X的样子,下面我们一起来感受下光代理的魅力。  二、说明  很多人好奇,LightProxy是什么语言写的,其实它是用前端的Elctron来进行打包并生成的,而且他的部分代理是基于Whistle,Whistle也是和Fiddler一样的抓包工具,只不过他是可以运行在nodejs上的抓包工具,设...
            0 0 4686
            分享
          • 问题引出不知道大家有没有遇到这样的测试场景:一个Web应用,待测功能很简单,只需要点击按钮启动运行,经过一系列内部运算,返回给用户一个结果列表。从可见的交付给用户的最上层UI功能来看,待测功能只是一个简单的“启动”—“观察结果”。但是,我想当测试人员接手这样一个测试项目的时候,恐怕应该是先“惊喜”后“恐慌”吧?!“惊喜”:这么简单,点一下看一下结果不就测完了?“恐慌”:这么简单?会不会还有什么测试点我遗漏了,怎么感觉有点惴惴不安呢?!这样的测试场景,我想几乎每个测试人员在职业生涯中都会遇到。那么,是不是真的就是“点一点”看看结果就行了呢?显然不是。那么,对于这样类型的待测项目我们应该怎么去设计...
            0 0 1455
            分享
      • 51testing软件测试圈微信