消息中间件及其测试要点

中间件(middleware)是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。中间件是基础软件的一大类,属于可复用软件的范畴。中间件位于数据库和 应用软件中间,为了解决协议转换、通讯、消息传递、事务管理、内存管理等任务而固化的软件,不再需要编程者处理这些问题,只要解决软件的业务逻辑就行了。 中间件发展与研究在基础软件中最晚,没有达到操作系统、数据库管理系统那样的成熟程度,内涵与外延目前都还不是很清晰。

  中间件的分类没有官方的或者唯一的标准,但是比较流行的一种分法是:屏幕转换及仿真中间件、数据库访问中间件、消息中间件、交易中间件、应用服务器中间件、安全中间件,还有三种中间件也是比较常用的,包括曾经比较流行的门户中间件,和最近兴起的工作流中间件和企业应用集成中间件(ESB)等。

   消息中间件是中间件中的重要类型。消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息 传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。也就是说,消息中间件的主要功能是实现消息传输管理、消息管理、队列管理、多种协议支持、 JMS支持等,主要的消息中间件产品包括:IBM  的MQ、SUN 的JMS、微软的MSMQ以及国内的,如:东方通、协同等厂商等相应产品等。

  对于消息中间件产品的测试需要根据其主要功能展开,所以测试内容包括:

  消息传输管理

  测试内容包括是否支持跨平台消息传输、支持发送消息过程中屏蔽发送端与接收端的网络故障、支持发送消息过程中屏蔽接收端的异常,如:接收端宕机、系统崩溃等情况,是否支持消息传输过程中的故障诊断与日志记录、支持消息传输过程中的故障恢复、支持消息传输过程中的断点续传功能等。

  消息管理

   测试内容包括是否支持查看发送端和接收段消息队列中的消息、支持发送和接收消息队列中的消息、支持接收端消息队列的全部删除和条件删除、支持发送端消息 队列的全部删除和条件删除、支持消息的优先级定义,并根据优先级完成发送和接收的不同策略,是否支持消息生命周期的设置,并根据消息生命周期的设置完成消 息的生命周期管理等。

  队列管理

  测试内容包括是否支持消息队列的分类,包括:本地队列、发送队列、远程队列、系统队列、用户队列等。是否支持对消息队列的删除操作、支持清空消息队列的消息,是否支持对队列中消息状态的查看,状态包括:ready、standing、receiving等。

  支持多种传输协议

  测试内容包括是否支持IPV6协议、SSL协议、HTTP协议、HTTPS协议等。

  JMS支持

  测试内容包括是否支持点到点的消息传输、支持发布/订阅的消息传输、支持JMS发送、接收文件、支持JMS组消息的传送、支持JMS非持久消息和持久消息、支持消息定义符合JMS的从0到9的优先级路线级别等。

  在确定了以上测试要点后,就可以开始准备相关测试案例,进行测试案例的开发。在实际测试中,执行覆盖所有测试要点的测试案例,以验证消息中间件是否很好的实现了应该具备的所有功能。

====================================分割线================================

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

时间: 2024-11-03 03:20:53

消息中间件及其测试要点的相关文章

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

随着软件行业的发展,各种软件更加复杂化,对测试要求也越来越高,并且希望测试能及时的跟进研发的需求变更. 测试团队怎样才能高效的应对频繁的需求变更呢?这是当今测试团队应该思考的主要问题. 今天分享一些个人的看法: 1. 如果需求频繁的变更,人工测试肯定不能很好的跟进测试.确保质量,所以最大程度的自动化将是应付需求变更的第一步. 2. 由于系统的复杂性,导致自动化的内容和类型的复杂性也相应提高,所以对于如何组织自动化,及时.有效.高效的运行将成为应付频繁需求变更的第二步 - 在传统的做法里,如果是l

RocketMQ:一个纯java的开源消息中间件--开发测试环境搭建

一.简介     RocketMQ的前身是Metaq,当Metaq3.0发布时,产品名称改为RocketMQ     MetaQ2.x版本由于依赖了alibaba公司内部其他系统,对于公司外部用户使用不够友好,推荐使用3.0版本.      项目地址:https://github.com/alibaba/RocketMQ 二.安装RocketMQ      安装RocketMQ需要jdk1.6, maven,git环境      如果本机没有安装git,请使用如下命令安装      yum in

移动应用基本测试要点

一.应用的功能 ①注册登录:包含注册和登录的应用,需要测试注册和登录是否正常. ②数据显示:检测"更多应用"功能是否在正常工作.及点击"更多"是否会正常显示其他应用数据. ③互动分享:如果程序里面包括分享功能,那么检测点击分享的时候是否会正常给出分享提示,点击分享后所填写的分享内容是否正确 ④内容下载:如果应用里面有内容下载,要检测内容下载连接是否在正常工作,即内容是否可以正常下载?解压?使用? ⑤软件版本检测:检测版本号是否正确?至少要比上一个版本多一个版本,例:

移动APP渗透测试方案 展示5个方面总结3种常见漏洞—转载绿盟科技

移动APP渗透测试方案 展示5个方面总结3种常见漏洞 发布时间:2017年10月26日 10:47    浏览量:1193   绿盟科技这几天连出渗透测试文章,真是干货啊.之前安全加介绍了金融行业 实战微信银行渗透测试, 运营商 渗透测试实战 ,今天让我们来说说移动APP渗透测试方案,这涉及安全威胁分析及风险.APP安全测试内容及流程.测试要点. BTW:昨天的 渗透测试 的流程及渗透测试相关概念,值得回顾.另外,本文的最后面,我们把渗透测试的文章形成了一个列表,供大家参考. APP安全测试方案

【原创】P2P-NEXT测试结论和遗留问题

目前P2P-NEXT的测试环境已经搭建好,并进行了测试. 已经测试过的点: 1.通过VLC模拟的直播源发送直播流到一个直播流转换工具(转成BT支持的格式)进行相应转换,产生用于直播的文件(其中包括加入该直播流的.tstream种子文件) 2.多台机器均运行P2P-MEXT的PC客户端,读取种子文件即可加入该直播流 3.同时可以在WEB服务器上编译HTML5代码,实现通过P2P方式传输直播流  [测试结果]( --> 代表格式转换 )  1.ogg --> mp4(H.264+MP3) 无法正常

手机APP测试技术

做手机APP测试也有2年多了,在这方面也有不少感慨,看了很多分享者,觉得大伙都是好样的,读后有感,把自己近年来的手机APP方面的测试经验也写下来,希望能对同行多少有点帮助,不足之处,还请留言,一起讨论: 一  手机APP测试基本思路: 测试计划--测试方案--测试用例--执行: 很多小公司都没有具体的需求,项目时间也比较紧,而且流程也不是很严谨,在这样的情况之下,作为测试的我们,该怎样去对项目进行用例的设计?个人觉得,项目到手,不是马上就进入测试工作,而是,先熟悉下整个项目的流程,把大致的框架过

应用Visual Studio 2010辅助敏捷测试(上)

敏捷软件开发是近些年来比较热门的话题,<敏捷宣言>四条主要精神和十二条基本准则概括了敏捷开发的基本思想.围绕着这些基本概念和思想,产生了一系列的轻量级方法,如:极限编程.测试驱动开发.Scrum.特性驱动开发等.虽然具体名称.过程和侧重点不尽相同,但是相对于非敏捷的开发方法而言,它们都更强调面对面的沟通.团队不同角色之间的紧密协作.频繁交付新的可用的软件版本.紧凑而自我组织型的团队等.敏捷开发只是提供了一个思想和方法论,而要在实际的工程中正确运用它,并真正显现出它的优点和产生实际的效果,这对于

测试思想—系统测试之用户文档测试

文档类型 用户手册 安装和设置指导 联机帮助 指南.向导 样例.示例和模板 授权/注册登记表 最终用户许可协议 测试要点 读者群:文档面向的读者定位要明确.对于初级用户.中级用户以及高级用户应该有不同的定位 术语:文档中用到的术语要适用于定位的读者群,用法一致,标准定义与业界规范相吻合. 正确性:测试中需检查所有信息是否真实正确,不出现错别字,查找由于过期产品说明书和销售人员夸大事实而导致的错误.检查所有的目录.索引和章节引用是否已更新,尝试链接是否准确,产品支持电话.地址和邮政编码是否正确等.

《Android 应用测试指南》——第1章,第1.3节为什么要测试、测什么、如何测、何时测试

1.3 为什么要测试.测什么.如何测.何时测试大家都清楚早期发现Bug会节约一大笔项目资源.减少软件维护费用.这就是为开发项目写测试用例的最好理由,不久你就会发现效率提高了. 另外,写测试用例的过程中,迫使你对需求了解更透彻,对要解决的问题了解更深入全面.如果你不了解被测对象,是不可能写好测试用例的.同样,写好测试用例可以清晰了解旧程序和第三方代码,让你能力倍增,更加有信心升级(旧程序.第三方代码)代码. 测试覆盖率越高,发现隐藏Bug的概率就越高.通过覆盖率分析,发现测试用例没有覆盖到的地方,