qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

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

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

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

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

  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端运行测试,并将测试结果入库,及时通过管理系统展示测试结果,然后邮件方式获取测试结果页面,及时的共享出去

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

posted on 2013-09-03 10:55 顺其自然EVO 阅读(260) 评论(0)  编辑  收藏 所属分类: 测试学习专栏


只有注册用户登录后才能发表评论。


网站导航:
 
<2013年9月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜