烟雾测试框架

gdc-smoker的Python项目详细描述


关于

Smoker(又名Smoke测试框架)是一个用于分布式执行Python模块、shell命令或外部工具的框架。 它根据请求或周期性地执行配置的插件,统一输出,并通过rest api为其命令行或其他客户端提供输出。

它也是免费软件,根据BSD许可条款授权-请随意贡献!

用途和用途

它是在gooddata中开发的,以满足单个用例的需要——能够快速方便地检查所有服务和组件是否都是功能完整的集群。 如果您有使用统一通信协议的类似服务,那么这可能很简单。但是,如果您有许多服务和组件,它们是用多种语言编写的,包括java、perl、erlang和python,那么您需要更可定制的方法,因为每种语言都有其特定的测试方法。

例如..如果您有用java编写的服务,可以使用jmx接口来执行测试函数并获得结果。 对于使用rest api的服务,您可能希望调用它的api来获得结果。 当然,您还想测试系统服务。例如,通过执行varnishadm'debug.health'检查Varnish后端运行状况。或者通过运行自定义python插件或shell脚本来检查mongo的配置是否正确。

所有这些测试都会返回不同的东西——您可以从REST API获得JSON响应,从Java服务获得XML,从Python插件或简单的STDUD/STDRR和shell脚本的退出值获得更复杂的数据结构。Smoker服务器将统一所有这些输出,并通过rest api提供结果,这样您就可以通过cli客户端进行连接,找出集群中的错误。

这些测试可以定期执行,也可以在客户要求时执行。 也支持操作-你可以编写自己的操作插件,分析结果,决定并执行一些操作。例如,您可以通过nsca将状态发送到nagios系统。或者在服务不工作时重新启动它。

但是吸烟者可以做更多的事情——如果你想执行任何工作,并以可读的方式看到它的结果,你可以使用它。出于某些目的,它可能比cron更适合。

通用用例简而言之:
  • 在新部署的系统上执行烟雾测试
  • 定期执行检查,将输出发送到监控系统(如Nagios)
  • 执行需要注意结果或输出的作业(如cron,它具有存储结果的能力)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
算法图形。路径方向Java枚举方向问题无法使用EAST   Java:将字符串转换为特定语言环境   javaspringboot&Thymeleaf为后续调用保存搜索表单的最佳方法   mapreduce程序中未调用java reducer   java如何将url中的Gif文件保存到手机中?   如何在JavaSwing中使用[Esc]键最小化JInternalFrame?   java创建了一个包含100个按钮、80个空按钮和20个随机按钮的网格布局   如何在java中使用数组对2d字符串数组中的每一行进行排序。分类   java无法识别的SSL消息,纯文本连接?例外   为什么Java编译器允许在抛出部分列出方法无法抛出的异常   java将预测数组添加到训练数组   java从Ajax调用获取响应文本   使用改型2的java应用程序等待一分钟后退出