如何使用ElasTest实现测试的可观察性

elastest-jenkins ElasTest插件 插件将Jenkins与ElasTest集成在一起,ElasTest是一个易于进行端到端测试的弹性平台。 使用此插件,您将能够将构建日志发送到ElasTest,以使用高级工具进行存储和分析。 另外,您可以利用ElasTest提供的几种服务(当前ElasTest按需提供浏览器)。 有关更多信息,请访问页面。 执照 ElasTest插件是根据MIT许可获得许可的。 The MIT License (C) Copyright 2017-2019 ElasTest (http://elastest.io/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 立即下载

在一个分布式的应用程序中,很难使用在开发非分布式应用程序中常用的调试技术。在出席2019年度欧洲测试大会(European Testing Conference 2019)时,Francisco Gortázar认为,把生产可观察性放到测试环境中有助于找到错误。他演示了ElasTest,这是开发人员利用可观察性以测试和验证分布式系统的工具。

\n

Francisco Gortázar说,可观察性有助于我们理解应用程序的行为方式。理解分布式应用程序行为的唯一方法就是查看其生成的数据(其外部输出),以决定其内部状态。可观察性的目的是把从被观察的应用程序中获得的有用信息提供给测试人员及开发人员,他这样说到。

\n

Francisco Gortázar建议,构建接近业务的高级抽象, 以便把有意义的事件与对用户没有直接影响的事件区分开来。他说,在生产中,我们通常从原始指标开始,但很快我们就需要开发自己的指标,并在这些指标上设置告警了。随时收集一切信息需要对大量信息进行管理,因此,他提议使用动态抽样以避免收集没有意义的事件,并专注于有影响的事件。当情况变得不正常时,就开始收集更多信息,以更好地诊断问题,并有希望找到解决方案。

\n

ElasTest是用于提供测试环境中可观察性的开源工具,旨在帮助开发人员测试和验证复杂的分布式系统。它提供与ELK堆栈类似的功能,两者的主要区别在于对测试过程的认识。ElasTest理解什么是测试,并能够在必要的时候收集相关信息,并以一种相当直观的方式呈现出来,以分别查看错误和测试。

\n

ElasTest项目由欧盟公开资助。该平台由欧洲学术机构、研究中心、大型工业公司和中小企业联合开发,使用开源软件社区的通用工具和服务。

\n

InfoQ正在跟踪报道2019年度欧洲测试大会,并就测试中的可观察性采访了Francisco Gortázar。

\n

InfoQ:为什么收集有关分布式系统和云原生应用程序中正在发生的情况的信息那么难?

\n
\n

Francisco Gortázar:基本上,反映出的是两个主要问题:首先是从运行在不同机器上的多个服务中收集信息问题。需要用特定的软件发送所有信息给中央数据库以供在线或离线检查。其次是所生成的信息数量的问题。我们在这里碰到了大数据问题,因此,需要一个好的策略来删除旧的数据。

\n
\n
\n

除此之外,测试环境还具有一些特性,使它们与生产环境有所不同。因此,有可能会发生这样的情况:在生产环境中使用同样的工具在部署和配置时需要花费大量的精力,因此,有时候,公司不希望在测试环境上投入大量精力。而运营团队通常忙于生产环境,无法将时间花在其他环境中。

\n
\n

InfoQ:对于设置可观察性,您有什么建议?

\n
\n

Gortázar:很多不同的工具都有助于给我们的生产系统设置适当的可观察水平,但是,这需要投入很多精力把所有这些组合到一起,以便获得必要的可视化抽象。

\n
\n
\n

理想情况下,我们应该在测试环境和生产环境中使用相同的工具。但是,通常,负责这些生产环境中可观察性系统的团队没有时间去为其他环境部署和维护类似的工具集。在这种情况下,至少开发人员和测试人员仍然可以使用能够给其测试环境带来一定程度可观察性的简单工具。

\n
\n

InfoQ:在端到端的测试中,有哪些用于可观察性的工具?我们如何使用?

\n
\n

Gortázar:所谓的ELK栈(ELK是ElasticSearch、Logstash和Kibana的首字母缩写,它是通用工具集,用以管理来自Elastic co.的原始日志和指标)以及由该公司开发的Beat 代理使它非常轻松地从系统中收集日志和指标。一起部署我们要测试的系统和这些代理,并让它们发送信息给ElasticSearch数据库并不难。对那些失败的测试,我们可以使用Kibana进行进一步的问题调查。Kibana能够绘制所收集的指标,也可用于日志查询。这两个功能有助于更好地定位错误。

\n
\n
\n

但是,在用于测试环境时,这些工具有局限性。当我们查看持续集成的系统时,事情就变得非常不同。通常,只在测试作为该集成过程中的部分运行时,才收集信息。此外,该信息只在测试失败(如,该应用程序没有完全按预期运行)时才有用。通常只有在检查该信息时,才能找到失败的根本原因。然而,该信息的呈现方式非常难以理解系统的行为。例如,控制面板通常不了解测试的边界(测试的起止时间),也无法过滤那些不相关测试的信息,除非我们知道它们在某个特定的时刻开始和结束。因此,隔离出有意义的信息是使用标准可观察性工具的问题之一。

\n
\n

InfoQ:怎样才能找到错误的根本原因?

\n
\n

Gortázar:在分布式系统中,要找到问题的根源绝非易事。当我遇到该问题时,我希望能够把成功的执行和失败的执行进行比较。由于日志的自然属性(在不同的执行中产生的日志不同),这很难。工具应该能够识别出通用模式并去掉信息中不相关的部分,这些信息可能在两个不同的执行中不一样。

\n
\n
\n

这个比较功能也应该可用于任何其他类型指标。如果我能够比较两个连续执行的请求的内存消耗或者延迟情况,也许能够理解为什么第二次执行会失败。

\n
\n
\n

通常,需要更特定的工具来完成这类任务。在测试环境中,我们对要存储的那些信息有更多的控制,但是,我们需要在工具中提高对测试过程的认识。这样,我们能够在运行测试时,收集必要的信息,并提供适当的抽象以理解特定测试失败的原因。我们正在研究如何可视化用ElasTest收集的信息,以便更快更准确地定位错误。我们认为持续集成环境还有很大提升空间。

\n
\n

阅读英文原文:
\nObservability in Testing with ElasTest

\n
关于AI开发方法论-以文档为索引的高质量协作开发:让一次现象描述精准命中几个代码块 对AI的编码规范进行约束 立即下载

相关推荐

Tecplot进阶:巧用公式与多Frame对比,实现CFD多工况数据差异的可视化分析

本文详细介绍了如何利用Tecplot进行CFD多工况数据差异的可视化分析,通过公式计算和多Frame对比,实现变量差值自动计算、多视图同步展示和差异量化统计。文章还提供了数据准备、基础操作、实战技巧和常见问题解决方案,帮助工程师高效完成CFD后处理工作。

weixin_29227425的博客 526

STM32F1实战全解析:选型、硬件底子、外设调试与排错思路

在嵌入式开发中,MCU选型往往决定项目进度与稳定性。理解内核架构、时钟树与外设总线等底层机制,是发挥芯片性能的基础。以STM32F1系列为代表,其Cortex-M3内核以72MHz主频满足了大量工控、传感与控制场景需求;而电源设计、晶振匹配及启动配置则直接影响系统可靠性。实际工程中,串口乱码、PWM频率偏差、ADC读数不稳、低功耗电流偏高等问题,多源于对时钟分频、GPIO复用和寄存器行为的理解不足。通过梳理F103等型号的选型要点、CubeMX初始化逻辑、常用外设调试技巧以及SWD连不上的自救方法,可以帮助

weixin_33843947的博客 252

pgsql:还原数据库后出现重复序列导致“more than one owned sequence found“报错问题的解决

pgsql数据库通过备份数据库文件进行还原时,如果表中有自增序列,还原后可能会出现重复的序列,此时若向表中插入新行时会出现“more than one owned sequence found”的报错提示。还原数据库时把序列取消勾选,选择不还原序列。因为还原表的同时,会自动将自增序列还原上去,此处勾选会导致数据库重复创建序列。点击还原数据库完毕后,可以看到序列仅有一个,没有出现重复序列。但此时的序列当前值是从1开始的,需要重置。点击菜单“其它”-》“序列”,可以看到有多个重复序列。

奋斗鱼 1042

LM555定时器制作LED闪烁电路:从原理到实践的电子入门经典

定时器电路是电子系统中的基础模块,其核心原理是利用RC网络的充放电特性来生成精确的时间延迟或周期性脉冲信号。通过电压比较器监测电容电压,配合触发器逻辑,可以实现无需外部触发的自持振荡。这种技术将复杂的时序控制封装为简单的集成电路,极大降低了电子设计的门槛,具有极高的工程价值。它广泛应用于信号发生、灯光控制、脉冲调制等场景。本文以经典的LM555定时器为例,深入剖析其内部比较器与触发器的协同工作机制,并手把手指导搭建一个无稳态多谐振荡器,驱动LED实现可调频率的闪烁效果,是理解模拟与数字电路结合的绝佳实践项目

weixin_33738982的博客 404

免疫治疗新思路:用COMPASS算法挖掘单细胞数据中的代谢靶点(含差异分析技巧)

本文介绍了如何利用COMPASS算法从单细胞转录组数据中系统推断免疫细胞的代谢活性,为肿瘤免疫治疗提供新的靶点发现思路。文章详细阐述了COMPASS结合流平衡分析的核心原理,并提供了从差异分析到可成药性评估的完整转化路径,旨在帮助研究者精准定位代谢弱点,开发新型免疫代谢疗法。

weixin_29275257的博客 366

国赛数学建模高教社杯历届优秀论文全集

包含了2004到2023年高教社的赛题及优秀论文。

BanDeng001的博客 3283
上一篇: 动态规划 leetcode 714
下一篇: Java从程序员到架构师其实并不难
flybirding10011
flybirding10011 测试 测试 业界专家认证 业界专家认证
博客等级 码龄12年 1万+粉丝 3331原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flybirding10011

谢谢支持啊999

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值