一.核心功能測試指標
交易中間件測試內容
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服務的支持