里程碑!官方启动Testground v0.5,强化点对点系统测试能力

[复制链接]
37537 |0
发表于 2020-5-7 19:12:05 | 显示全部楼层 |阅读模式

近日,IPFS官方发布了Testground v0.5,强化了可靠且可重复地测试点对点(p2p)系统的能力,这是一个巨大的里程碑,有望(作为一个社区)为去中心化的未来设计p2p和分布式系统的方式带来巨大飞跃。


什么是Testground?

Testground是一个用于大规模测试、基准测试和模拟分布式和p2p系统的平台。它设计为多语言且与运行时无关,可根据需要从2个实例优雅地扩展到10k个实例。

wk588_com_easrrx2dgq4.jpg

wk588_com_easrrx2dgq4.jpg

Testground旨在支持各种测试工作流程,例如实验/迭代开发、A/B测试、向后/向前兼容性测试、互操作性测试和CI工作流程。

在Testground之前,分布式测试曾用来暗示部署守护程序队列。您将通过API公开每个单独的内部组件、方法和配置参数,并通过充当伪装者的外部脚本命令和控制它们。但是在Testground中,您编写测试计划就像编写单元测试一样。

Testground方法对开发人员而言非常简单自然。因为测试计划直接调用您的内部API,并且它们利用分布式同步API与参与测试运行的其他实例进行协调。因此,测试用例变成遵循精确编排的分布式状态机。

目前,用户可以在Go语言中编写测试计划。但是为另一种语言/运行时实现Testground SDK实在是太简单了!实际上,社区正在为节点和浏览器改用TypeScript SDK。

因为真正的去中心化系统受网络状况的影响,所以Testground可以通过翻转连接,在运行时更改IP地址或设置延迟、抖动、带宽等来影响网络流量。

wk588_com_0meryhllfpe.jpg

wk588_com_0meryhllfpe.jpg

而且,由于并非所有测试方案都需要数千个实例,因此您可以在本地将测试计划作为可执行文件或Docker容器运行,从而在需要扩展到约300个以上实例时节省了簇集部署的开销、时间和成本。对于较大的情况,Testground开箱即用地支持Kubernetes。

为了说明上述内容,请考虑一个200实例的测试运行。使用Kubernetes,可能需要1-2分钟才能将Docker映像运送到远程注册表,安排Kubernetes作业并等待工作负载开始。使用本地Docker运行程序,该开销为零,并且运行是即时的。听起来似乎并不多,但是开发人员知道,这样的延迟会对一个人的生产力和工作流程造成上千次的削减。

最重要的是观察管道(实验性的)。测试计划可以记录有关被测系统的原始数据点或汇总指标(直方图,EWMA,计数器等),并发出任意输出资产。Testground平台将收获它们并将其用于一站式收集。

wk588_com_m5mnfyzoif4.jpg

wk588_com_m5mnfyzoif4.jpg


接下来会发生什么?

Testground团队每两周进行一次灵活的进度冲刺。

在接下来的几周中,我们计划通过扩大整个代码库的测试覆盖率来巩固Testground的基础。我们亲切地称此阶段为“测试试验场”

wk588_com_wjyu4wp0yl2.jpg

wk588_com_wjyu4wp0yl2.jpg

wk588_com_ooidqogku3u.jpg

wk588_com_ooidqogku3u.jpg

wk588_com_vdjss3j2kiw.jpg

wk588_com_vdjss3j2kiw.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门版块
快速回复 返回顶部 返回列表