消息中間件及其測試要點
中間件(middleware)是一種獨立的系統軟件或服務程序,分布式應用軟件借助這種軟件在不同的技術之間共享資源,中間件位于客戶機服務器的操作系統之上,管理計算資源和網絡通信。中間件是基礎軟件的一大類,屬于可復用軟件的范疇。中間件位于數據庫和 應用軟件中間,為了解決協議轉換、通訊、消息傳遞、事務管理、內存管理等任務而固化的軟件,不再需要編程者處理這些問題,只要解決軟件的業務邏輯就行了。 中間件發展與研究在基礎軟件中最晚,沒有達到操作系統、數據庫管理系統那樣的成熟程度,內涵與外延目前都還不是很清晰。
中間件的分類沒有官方的或者唯一的標準,但是比較流行的一種分法是:屏幕轉換及仿真中間件、數據庫訪問中間件、消息中間件、交易中間件、應用服務器中間件、安全中間件,還有三種中間件也是比較常用的,包括曾經比較流行的門戶中間件,和最近興起的工作流中間件和企業應用集成中間件(ESB)等。
消息中間件是中間件中的重要類型。消息中間件利用高效可靠的消息傳遞機制進行平臺無關的數據交流,并基于數據通信來進行分布式系統的集成。通過提供消息 傳遞和消息排隊模型,它可以在分布式環境下擴展進程間的通信。也就是說,消息中間件的主要功能是實現消息傳輸管理、消息管理、隊列管理、多種協議支持、 JMS支持等,主要的消息中間件產品包括:IBM 的MQ、SUN 的JMS、微軟的MSMQ以及國內的,如:東方通、協同等廠商等相應產品等。
對于消息中間件產品的測試需要根據其主要功能展開,所以測試內容包括:
消息傳輸管理
測試內容包括是否支持跨平臺消息傳輸、支持發送消息過程中屏蔽發送端與接收端的網絡故障、支持發送消息過程中屏蔽接收端的異常,如:接收端宕機、系統崩潰等情況,是否支持消息傳輸過程中的故障診斷與日志記錄、支持消息傳輸過程中的故障恢復、支持消息傳輸過程中的斷點續傳功能等。
消息管理
測試內容包括是否支持查看發送端和接收段消息隊列中的消息、支持發送和接收消息隊列中的消息、支持接收端消息隊列的全部刪除和條件刪除、支持發送端消息 隊列的全部刪除和條件刪除、支持消息的優先級定義,并根據優先級完成發送和接收的不同策略,是否支持消息生命周期的設置,并根據消息生命周期的設置完成消 息的生命周期管理等。
隊列管理
測試內容包括是否支持消息隊列的分類,包括:本地隊列、發送隊列、遠程隊列、系統隊列、用戶隊列等。是否支持對消息隊列的刪除操作、支持清空消息隊列的消息,是否支持對隊列中消息狀態的查看,狀態包括:ready、standing、receiving等。
支持多種傳輸協議
測試內容包括是否支持IPV6協議、SSL協議、HTTP協議、HTTPS協議等。
JMS支持
測試內容包括是否支持點到點的消息傳輸、支持發布/訂閱的消息傳輸、支持JMS發送、接收文件、支持JMS組消息的傳送、支持JMS非持久消息和持久消息、支持消息定義符合JMS的從0到9的優先級路線級別等。
在確定了以上測試要點后,就可以開始準備相關測試案例,進行測試案例的開發。在實際測試中,執行覆蓋所有測試要點的測試案例,以驗證消息中間件是否很好的實現了應該具備的所有功能。