消息中间件在测试中的应用-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

消息中间件在测试中的应用

简介:

随着软件行业的发展,各种软件更加复杂化,对测试要求也越来越高,并且希望测试能及时的跟进研发的需求变更。

  测试团队怎样才能高效的应对频繁的需求变更呢?这是当今测试团队应该思考的主要问题。

  今天分享一些个人的看法:

  1. 如果需求频繁的变更,人工测试肯定不能很好的跟进测试、确保质量,所以最大程度的自动化将是应付需求变更的第一步。

  2. 由于系统的复杂性,导致自动化的内容和类型的复杂性也相应提高,所以对于如何组织自动化,及时、有效、高效的运行将成为应付频繁需求变更的第二步

  - 在传统的做法里,如果是linux,大家可能会使用crontab来进行管理,而windows可能则会使用计划任务进行管理。但是这两种管理方式显然不能达到及时的响应,就是你时间间隔设得很短,也理论上也是无法项目包一到达就立马启动测试

  - 不太利于扩展,并且易错性比较高

  3. 基于以上两点,我将介绍消息中间件如果在复杂的自动化环境中提高效率

  - 消息中间件,很多人比较熟悉的如ActiveMQ, MetaQ等等,但是个人觉得,在测试行业,activeMQ就足够用了,

  他的消息持久性特点能够保证每一个测试不遗漏。另外,任务队列管理极其方便,可扩展的东西很多

  4. ActiveMQ在测试中应用流程

  - 搭建ActiveMQ 服务器 (很简单)

  - 开发实现ActiveMQ的 agent consumer 和 producer

  a) producer 负责跟开发对接,如果有任何任务需求,及时通过producer 将任务加到消息队列。同时,详细的自定义属性很灵活,对于任务描述很有利

  b) agent consumer端可以通过推或拉的方式来接收任务,如果是推的方式,只需实现ActiveMQ的订阅功能,当有任何到来时,订阅的测试服务器将自动消费信息进行测试(这时候消息的属性非常有用了),如果是拉的模式, 只需实现灵活的agent consumer,时时监听各自队列,任何任务到来时都会主动启动测试,非常便于扩展测试服务器,如,发现任务比较多的时候,直接在任何一个服务器上去启动另一个agent便可加入测试中来

  c) 消息持久性的特点,你不用担心消息会丢失

  d) 很容易就能实现producer端的手动干预任务,灵活,高效

  5. 通过agent端运行测试,并将测试结果入库,及时通过管理系统展示测试结果,然后邮件方式获取测试结果页面,及时的共享出去

  以上步骤,灵活,高效的完成了复杂系统的频繁变更测试。欢迎大家拍砖

最新内容请见作者的GitHub页:http://qaseven.github.io/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: