中间件测试内容及指标

一.核心功能测试指标
                      
交易中间件测试内容
1 名字服务:测试中间件对透明的名字服务的支持和正确性
2 负载均衡:测试中间件对自动在系统中完成负载平衡的支持和正确性
3 请求优先权:测试中间件对服务请求优先级的支持和正确性
4 可用性支持:测试中间件对进程可用性检查、超时检查等可用性支持和正确性,保证应用运行环境稳定
5 安全性:测试中间件对保证应用服务安全运行和数据传输加密的支持和正确性
6 动态配置:测试中间件对动态重配置节点和参数的支持和正确性
7 分布式事务处理:测试对跨多个数据源、数据源异构异地的事务,中间件提供保证其数据完整性的支持和正确性
8 交易通信机制:测试中间件对同步、异步和会话等交易通讯模式的支持和正确性
9 交易运行模式:测试中间件对一阶段提交、两阶段提交、请求转发和请求嵌套等交易模式的支持和正确性
10 队列服务:测试中间件对应用请求回答队列及其LIFO、FIFO、用户定义的出队和原始的ATMI调用特性队机制的支持和正确性

 

消息中间件测试内容
1 通信服务:测试中间件对端到端实时通信的支持和正确性
2 同步传输服务:测试中间件对端到端同步传输服务的支持和正确性
3 异步传输服务:测试中间件对端到端异步传输服务的支持和正确性
4 应用编程接口API支持:测试中间件对各种应用编程借口API(如C/C++、JAVA、COM、IDL)的支持和正确性
5 安全性:测试中间件对保证应用服务安全运行和数据传输加密的支持和正确性
6 可靠性:中间件是否具有髙可用性、有效的状态恢复机制和自动故障切换功能,始终保持其基础框架处于应用状态,保证系统能够自动进行故障切换,并有效兼容应用系统和人为操作的错误。
7 软件的可管理性及其易用性:测试中间件是否提供统一集成管理环境,能够实现从底层平台到业务应用的统一管理;是否提供多种管理方式,如支持Web、命令行和控制台方式的管理监控;是否提供丰富的部署和管理工具及友好的用户界面。
8 可扩展性:测试中间件是否支持SOA等先进的体系架构,支持JMX、JMS、J2CA、WebService等集成标准;由其构成的核心功能是否可扩展,是否提供服务总线,以插件式的方式不断延伸内核功能,并集成其他的组件、应用、服务,使之在现有或遗留系统之上或之外增加新的功能模块,并能与原有系统无缝集合。
9 处理效率:是否提供集群的负载均衡技术、支持大规模并发客户数量并保证效率
10 分布式事务处理:测试对跨多个数据源、数据源异构异地的事务,中间件提供保证其数据完整性的支持和正确性
11 集群和队列服务:测试中间件对集群、优先级消息队列、先进先出消息队列的支持和正确性
12 兼容性:是否支持各种硬件;能否在目前流行的Windows、Unix、Linux操作系统上应用;能否有效支持目前流行的Oracle、DB2、Sybase、SQL Server等多种数据库
13 对标准规范的支持:测试中间件对目前流行的J2EE、.NET、CORBA、WEBSERVICE、XML、HTTP等标准的支持程度
14 对多语言的支持:测试中间件对多语言的支持和正确性

 

应用服务器测试内容
1 功能测试:测试应用服务器是否符合企业级的J2EE标准
2 性能测试:测试在大压力和大数据量情况下,应用服务器最大处理能力和系统响应时间,同时测试不同压力情况下应用服务器处理能力和系统响应时间
3 兼容性测试:是否支持各种硬件配置;是否支持系统兼容性、数据库兼容性、Web服务器兼容性、研发工具兼容性、和其他中间件产品的兼容性、J2EE组件的兼容性等多个方面
4 可靠性测试:测试应用范围器在大压力和大数据量情况下系统的稳定性,连同验证系统的SSL认证加密机制是否有效等多个方面
5 安全性测试:测试应用服务器用户权限限制、输入数据有效性检查等内容

 

二.性能测试指标
 应用中间件
   以WebLogic为例。
 LogBroadcasterRuntime
度量 描述
MessagesLogged 该WebLogic服务器实例生成的日志消息总数
Registered 如果己取消注册该对象表示的Mbean,则返回“False”
CachingDisabled 禁用代理中的缓存的专用属性

 

 ServerSecurityRuntime
度量 描述
UnlockedUsersTotalCount 返回在服务器上取消锁定用户的次数
InvalidLoginUsersHighCount 返回具有显著的无效服务器登录尝试的用户的最大数目
LoginAttemptsWhilelockedTotalCount 返回锁定用户时尝试对服务器进行的无效登录的累计次数
Registered 如果已取消注册该对象表示的Mbean,则返回“False”
LockedUsersCurrentCount 返回服务器上当前锁定的用户数
CachingDisabled 禁用代理中的缓存的专用属性
InvalidLoginAttemptsTotalCount 返回对服务器进行的无效登录尝试的累计次数
UserLockoutTotalCount 返回在服务器上进行的用户锁定的累计次数

 

 消息中间件
IBM MQ为例。
 队列性能计数器
度量 描述
Event-Queue Depth High (events per second) 队列深度达到配置的最大深度时触发的事件
Event-Queue Depth Low (events per second) 队列深度达到配置的最小深度时触发的事件
Event-Queue Full (events per second) 试图将消息放到己满的队列时触发的事件
Event-Queue Service Interval High (events per second) 在超时阈值内没有消息放到队列或者没有从队列检索到消息时触发的事件
Event-Queue Service Interval OK (events per second) 在超时阈值内消息己经放到队列或者己经从队列检索到消息时触发的事件
Status-Current Depth 本地队列上的当前消息计数,该度量只适用于监视队列管理器的本地队列
Status-Open Input Count 打开的输入句柄的当前计数。将打开输入句柄,以便应用程序可以将消息“放到”队列
Status-Open Output Count 打开的输出句柄的当前计数,将打开输出句柄,以便应用程序可以从队列中“获得”消息

 

 通道性能计数器
度量 描述
Event-Channel Activated (events per second) 当正等待激活、但却由于缺少队列管理器通道插槽而不能激活的通道,在由于突然可以使用通道插槽而激活时生成的事件
Event-Channel Not Activated (events per second) 当通道试图激活、但却由于缺少队列管理器通道插槽而不能激活时生成的事件
Event-Channel Started (events per second) 启动通道时生成的事件
Event-Channel Stopped (events per second) 停止通道(无论停止源如何)时生成的事件
Event-Channel Stopped by User (events per second) 由用户停止通道时生成的事件
Status-Channel State 通道的当前状态。通道从停止(非活动状态)到运行(完全活动状态)经过数个状态。通道状态范围从0(停止)到6(运行)
Status-Messages Transferred 己在通道上发送的消息的计数。如果在通道上没有发生通信,则该度量将是零,如果队列管理器启动后没有启动该通道,则度量不可用
Status-Buffer Received 己在通道上接收的缓冲区的计数,如果在通道上没有发生通信,则该度量将是零,如果队列管理器启动后没有启动该通道,则度量不可用
Status-Buffer Sent 己在通道上发送的缓冲区的计数,如果在通道上没有发生通信,则该度量将是零,如果队列管理器启动后没有启动该通道,则度量不可用
Status-Bytes Received 己在通道上接收的字节的计数,如果在通道上没有发生通信,则该度量将是零,如果队列管理器启动后没有启动该通道,则度量不可用
Status-Bytes Sent 己在通道上发送的字节的计数。如果在通道上没有发生通信,则该度量将是零,如果队列管理器启动后没有启动该通道,则度量不可用

 

 交易中间件
以TUXEDO为例。
监视器 度量
服务器 Requests per second-每秒钟处理的服务器请求数
 Workload per second-该工作负荷是服务器请求的加权度量。某些请求可能与其他请求有不同的权重。默认情况下,工作负荷总是请求数的50倍
计算机 Workload completed per second-计算机所有服务器每单位时间完成的总工作负荷
 Workload initiated per second-计算机所有服务器每单位时间开始的总工作负荷
 Current Accessers-当前直接在该计算机上访问应用程序或通过该计算机上的工作站处理程序访问应用程序的客户端和服务器数
 Current Clients-当前登录到该计算机的客户端数,包括本地计算机和工作站
 Current Transactions-该计算机上正在使用的事务表项目数
队列 Bytes on queue-正在队列中等待的所有消息的总字节数
 Messages on queue-队列中正在等待的总请求数。默认情况下为0
工作站处理程序(WSH) Bytes received per second-工作站处理程序每单位时间接收到的总字节数
 Bytes sent per second-工作站处理程序每单位时间发送回客户端的总字节数
 Messages received per second-工作站处理程序每单位时间接收到的消息数
 Messages sent per second-工作站处理程序每单位时间发送回客户端的消息数
 Number of queue blocks per second-工作站处理程序每单位时间阻止队列的次数。通过它可以了解工作站处理程序过载的频率

 

三.标准符合性测试
本项测试主要验证中间件的标准化程度,包括所使用API、使用技术和实现功能的标准化。
主要测试方法为编制测试脚本,测试各脚本功能的正确性,验证对标准的支持。
本节提供了中间件三类主流标准的测试案例,实际测试时将根据待测产品所遵循的标准选择适当的标准测试案例。在进行测试前,需了解待测中间件的支持标准种类,根据支持标准类型对测试案例进行裁减。
中间件支持的主流标准包括:
 J2EE
 WEBSERVICE
 CORBA

 

J2EE标准规范测试
J2EE应用服务器必须遵循J2EE规范,J2EE规范描述了J2EE应用和J2EE应用服务器之间的接口标准,保证了J2EE应用可以在各个J2EE应用服务器平台顺利迁移。为了保证各个J2EE应用服务器开发商开发出的产品遵循J2EE规范,J2EE标准组织提供J2EE应用服务器兼容性测试包(CTS),最新的J2EE1.4规范 CTS涵盖了规范定义的两万三千多个功能点,只有完全通过这些功能点测试的J2EE应用服务器才能称得上是支持J2EE规范。以下为J2EE1.4主要测试模块:
 J2EE EJB Container Host JVM
 J2EE EJB Container Host Software
 J2EE Web Container Host Software
 J2EE Web Container Host JVM
 J2EE Web Container
 J2EE EJB Container
 J2EE JDBC Driver
 J2EE Database
 J2EE Mail Server
 J2EE Management
 J2EE Deployment
 J2EE Lookup Server
 J2EE Connectors
 J2EE Java Message Service
 J2EE API for XML Processing (JAXP)
 J2EE Authentication and Authorization Service (JAAS)
 J2EE CSIv2 Service

 

J2EE标准规范测试项目
1对象、方法 •使用Servlet测试案例测试对Servlet技术的支持
•使用JSP测试案例测试对JSP技术的支持
2 内置对象 •使用JSP测试案例测试对JSP技术的支持,验证内置对象的支持
3 Taglib •使用JSP测试案例测试对JSP技术的支持,验证对Taglib的支持
4 Session Bean •使用测试案例测试Stateless Session Bean技术的支持
•使用测试案例测试对Stateful Session Bean技术的支持
5 Entity Bean •使用测试案例测试对实体Bean技术的支持
6 Message-Driver Bean •使用测试案例测试对消息Bean技术的支持
7 EJBQL •使用测试案例测试对EJBQL技术的支持
8 Queue •使用测试案例测试对JMS Queue技术的支持
9 Topic •使用测试案例测试对JMS Topic技术的支持
10 JMS的交易功能 •使用测试案例测试,以验证对JMS交易的支持
11 EJB的交易功能 •使用测试案例测试,以验证对EJB交易的支持
12 JDBC的交易功能 •使用测试案例测试,以验证对JDBC交易的支持
Naming 13 JNDI Context •使用测试案例测试,以验证名字上下文的支持
 14 EJB的引用 •使用测试案例测试,以验证对EJB引用的支持
 15 Resource Manager Connection Factory的引用 •使用测试案例测试,以验证对支持资源管理连接工厂引用的支持
16 JavaMail •使用收发邮件的测试案例测试对JavaMail技术的支持,测试对JavaMail API的支持以及JavaMail的正确性
17 RMI •使用测试案例测试,以验证对RMI协议的支持
18 WebService  for J2EE •使用测试案例测试,以验证对WebService for J2EE架构的支持



Web service 标准测试
测试结果定性描述。
Web Service标准规范测试项目
1SOAP •使用测试案例测试,以验证对SOAP协议的支持
2 WSDL •使用测试案例测试,以验证WSDL文档的支持


 Corba 标准测试
针对符合corba标准的中间件,测试结果定性描述。
Corba标准规范测试项目
1ORB •使用测试案例测试,以验证对ORB的支持
2IDL •使用测试案例测试,以验证对IDL的支持

四. 软件的可管理性及其易用性测试
本项测试主要验证中间件管理工具的正确性和易用性,管理工具包括配置、监控和优化工具等。其测试方法为操作各管理功能,验证主要功能的正确性和实用性。
软件可管理性及其易用性测试项目
可管理性测试
1 易安装性:测试安装的难易程度
2 多语言支持:测试对中英文等多种语言的支持
3 易学习性:测试对一般操作人员的学习使用难度,对操作人员的要求
4 易操作性:测试操作的难易程度
5 联机帮助丰富性:测试联机帮助的准确性、全面性、方便性
6 集成管理环境:测试集成管理环境的统一性、全面性
7 自主管理能力:测试自主管理能力的全面性
8 管理方式:测试管理方式的多样性
9 界面友好:测试部署和管理工具的丰富性和友好性


 五. 可靠性测试
本项测试主要验证中间件在规定条件下和规定时间内完成规定功能的能力。主要测试方法为开发测试案例,在规定条件和时间内测试主要功能的正确性和执行效率。
可靠性测试项目
可靠性测试
1 大数据量测试:测试基于构件建立的应用在大数据量情况下处理数据的正确性及数据的完整性
2 髙可用性:测试系统状态恢复机制和自动故障切换功能的正确性,对应用系统和人为操作错误的容错性
3 稳定性:测试系统长时间无故障运行的稳定性,系统能否承受长时间运行,保证业务成功率以及执行效率


六. 对安全框架的支持测试
本项测试主要验证中间件对各种资源的访问控制能力,确保数据的保密性、完整性及可用性。
主要测试方法为操作其安全功能,开发测试脚本,验证主要功能的正确性和可用性。
对安全框架的支持测试项目
安全性测试
1  安全管理机制:测试中间件对从平台底层到业务应用的统一安全管理机制的支持
2  安全模型:测试中间件对SSL、TLS、JSR等加密构件和JAAS等安全模型的支持
3  安全管理功能:测试中间件自身对权限管理、日志管理、安全身份等安全管理功能的支持
4 事务完整性:测试中间件对数据源的交易完整性操作的支持,以及对异地或异构数据的事务完整性操作
5  统一用户管理:测试中间件对单点登录功能和对LDAP服务的支持

posted @ 2017-05-08 23:12  小学生II  阅读(1736)  评论(0编辑  收藏  举报