当前位置: 首页>关注 >

2023年十款开源测试开发工具推荐(自动化、性能、混沌测试、造数据、流量复制) 天天速讯

2023-02-15 07:59:15 来源:程序员客栈

先给各位读者粉丝拜个晚年!祝大家新年快乐,阖家幸福!今天为大家奉献一篇测试开发工具集锦干货。在本篇文章中,将给大家推荐10款日常工作中经常用到的测试开发工具神器,涵盖了自动化测试、性能压测、流量复制、混沌测试、造数据等。

1、AutoMeter-API 自动化测试平台

AutoMeter 是一款针对分布式服务,微服务 API 做功能和性能一体化的自动化测试平台,一站式提供发布单元,API,环境,用例,前置条件,场景,计划,报告等管理。


(资料图)

在项目开发,迭代交付过程中开发人员,测试人员需要针对系统提供的 API 做调试,回归测试,性能测试。自动化测试,一个好的平台本质上需要解决 API 测试的 5 大基本问题:

1.支持不同的角色,技术人员多人协作

2.支持定义多个不同的测试环境

3.支持定义各种被测系统,API

4.支持功能,性能,回归,自动化测试

5.功能/性能明细报告,统计报告

项目地址:

https://gitee.com/season-fan/autometer-api

2、QA Wolf 浏览器自动化测试工具

QA Wolf 可帮助你以 10 倍的速度创建、运行和维护端到端的浏览器自动化测试。

项目地址:

https://github.com/qawolf/qawolf

3、Mimesis 用于 Python 的高性能虚假数据生成器

Mimesis 是一个用于 Python 的高性能虚假数据生成器,它以多种语言提供用于多种用途的数据。虚假数据可用于填充测试数据库、创建虚假 API 端点、创建任意结构的 JSON 和 XML 文件、匿名化生产中的数据等。

支持的功能

简单:易于使用和学习

多语言:支持多种语言的数据

性能:可用于 Python 的最快数据生成器

数据多样性:支持多种数据提供者用于各种目的

通用数据提供者:从单个对象对所有提供者的简化访问

零依赖:不需要 Python 标准库以外的任何模块

基于模式的生成器:提供一种简单的机制来通过任何复杂的模式生成数据

项目地址:

https://github.com/lk-geimfari/mimesis

安装:

pipinstallmimesis

示例:

>>>frommimesisimportPerson>>>frommimesis.localesimportLocale>>>person=Person(Locale.EN)>>>person.full_name()"BrandeSears">>>person.email(domains=["example.com"])"roccelline1878@example.com">>>person.email(domains=["mimesis.name"],unique=True)"f272a05d39ec46fdac5be4ac7be45f3f@mimesis.name">>>person.telephone(mask="1-4##-8##-5##3")"1-436-896-5213"

4、Ddosify 高性能负载测试工具

Ddosify 是一个用 Golang 编写的高性能负载测试工具和 DDOS 攻击模拟。

特性:

协议不可知 - 目前支持 HTTP、HTTPS、HTTP/2。其他协议正在开发中。

基于场景 - 在 JSON 文件中创建你的流程。无需一行代码!

不同的负载类型 - 测试你的系统在不同负载类型上的限制。

项目地址:

https://github.com/ddosify/ddosify

5、AutoCannon HTTP/1.1 基准测试工具

AutoCannon 是一个用 Node.js 编写的 HTTP/1.1 基准测试工具,受到 wrk 和 wrk2 的极大启发,支持 HTTP 管道和 HTTPS。autocannon 可以产生比 wrk 和 wrk2 更多的负载。

项目地址:

https://github.com/mcollina/autocannon

6、Sharingan 流量录制回放工具

Sharingan(写轮眼)是一个基于 golang 的流量录制回放工具,适合项目重构、回归测试等。

特性

支持下游流量录制。相比 tcpcopy、goreplay 等方案,回放不依赖下游环境。

支持并发流量录制和回放。录制对服务影响小,回放速度更快。

支持时间重置、噪音去除、批量回放、覆盖率报告、常见协议解析等等。

支持写流量回放,不会污染应用数据。

不依赖业务框架,低应用浸入。

项目地址:

https://github.com/didi/sharingan

使用示例:

#Step1:下载sharingan项目$gitclonehttps://github.com/didi/sharingan.git$cdsharingan# Step2:使用定制版golang,以go1.13为例「慢?科学上网试试」$shinstall.shgo1.13#支持go1.10~go1.15,限mac、linuxamd64系统$exportGOROOT=/tmp/recorder-go1.13$exportPATH=$GOROOT/bin:$PATH#Step3:编译、后台启动replayer-agent「默认会占用3515、8998端口,可修改」#[回放接入文档]内有直接下载bin文件的链接,无需build$cdreplayer-agent$gobuild$nohup./replayer-agent>>run.log2>&1&#Step4:编译、后台启动example示例「默认会占用9999端口,可修改」$cd../example$gobuild-tags="replayer"-gcflags="all=-N-l"$nohup./example>>run.log2>&1&#Step5:打开回放页面$浏览器打开,http://127.0.0.1:8998#非本机替换IP即可$页面选择要回放的流量点执行#内置提前录制好的3条example示例流量

7、randdata 随机测试数据生成工具

randdata 是一款基于 JAVA 开发的测试数据生成工具,为了测试人员、软件开发人员、数据开发人员、售前工程师或产品经理演示提供生成随机相应数据的全力打造的,支持个人信息、地址、数字、网络、银行、是非等多种数据的随机生成,无需用户再去编写复杂 SQL 或程序就能生成附合中国人习惯的数据。从而大大的节约软件开发的成本。

特点:

无代码 : 无需编写代码,即生成相应数据。

运行简单:用户只要安装 JDK1.8 及以上版本即可运行。

数据随机性:最大限度保证数据不重复。

支持直接数据库表生成:可直接导入某些数据库的表结构,而无须手工建表,通过给表指定生成数据类型即可。

运行环境要求低:windows、linux 等 PC 机可直接运行,项目只有一个 jar 包,可通过 java -jar 包名即可运行。

项目地址:

https://gitee.com/chenlinux0768/randdata

8、DrissionPage WEB 自动化测试集成工具

DrissionPage,即 driver 和 session 的合体,是一个基于 python 的 Web 自动化操作集成工具。

requests 爬虫面对要登录的网站时,要分析数据包、JS 源码,构造复杂的请求,往往还要应付验证码、JS 混淆、签名参数等反爬手段,门槛较高。若数据是由 JS 计算生成的,还须重现计算过程,体验不好,开发效率不高。使用 selenium,则可以很大程度上绕过这些坑,但 selenium 效率不高。

因此,这个库将 selenium 和 requests 合二为一,不同需要时切换相应模式,并提供一种人性化的使用方法,提高开发和运行效率。除了合并两者,本库还以网页为单位封装了常用功能,简化了 selenium 的操作和语句,在用于网页自动化操作时,减少考虑细节,专注功能实现,使用更方便。

特性

允许在 selenium 和 requests 间无缝切换,共享 session。

两种模式提供一致的 API,使用体验一致。

人性化的页面元素操作方式,减轻页面分析工作量和编码量。

对常用功能作了整合和优化,更符合实际使用需要。

兼容 selenium 代码,便于项目迁移。

使用 POM 模式封装,便于扩展。

统一的文件下载方法,弥补浏览器下载的不足。

简易的配置方法,摆脱繁琐的浏览器配置。

项目地址:

https://gitee.com/g1879/DrissionPage

9、Chaos Mesh 在 Kubernetes 上进行混沌测试

Chaos Mesh 是一个云原生的混沌工程(Chaos Engineering)平台,可在 Kubernetes 环境中进行混沌测试。

当前实现支持用于故障注入的主要操作:

pod-kill:模拟 Kubernetes Pod 被 kill。

pod-failure:模拟 Kubernetes Pod 持续不可用,可以用来模拟节点宕机不可用场景。

network-delay:模拟网络延迟。

network-loss:模拟网络丢包。

network-duplication:模拟网络包重复。

network-corrupt:模拟网络包损坏。

network-partition:模拟网络分区。

I/O delay:模拟文件系统 I/O 延迟。

I/O errno:模拟文件系统 I/O 错误 。

项目地址:

https://gitee.com/mirrors/Chaos-Mesh

10、Automagica 智能流程自动化平台

Automagica 是一个开源智能机器人流程自动化(SRPA,Smart Robotic Process Automation)平台,借助 Automagica,自动化跨平台流程变得轻而易举。Automagica 可以通过简单程序脚本实现打开各种应用程序并对应用进行操作。

Automagica 需要 Python 3.7 环境,官方支持 Windows 10 平台,Linux 和 Mac 目前官方还不支持。

项目地址:

https://github.com/OakwoodAI/Automagicahttps://gitee.com/mirrors/Automagica

Automagica 使用场景:

桌面交互自动化

Office 自动化,例如打开 Excel 并进行数据填充

Web 自动化,例如打开网址并进行网页操作

商业应用自动化

自动打开邮件应用并收发邮件

远程控制等等

例如:打开 Excel 并进行程序控制:

打开画图工具并进行绘图:

示例代码该示例打开 Windows 记事本并输入 "Hello world!".

PressHotkey("win","r")Wait(seconds=1)Type(text="notepad",interval_seconds=0)PressKey("enter")Wait(seconds=2)Type(text="Helloworld!",interval_seconds=0.15)

下面例子打开 Chrome 浏览器并访问指定url

browser=ChromeBrowser()browser.get("https://www.cnblogs.com/jinjiangongzuoshi/")

如果您觉得作者文章对自己或身边同事朋友有帮助,欢迎您点击下方【点赞】或【转发】,喜欢本篇文章的读者请点击【关注】,公号主页更多干货好文等您悦读。

关键词: 自动化测试 模拟网络 测试工具

推荐内容