消息中間件在測試中的應用
隨著軟件行業的發展,各種軟件更加復雜化,對測試要求也越來越高,并且希望測試能及時的跟進研發的需求變更。
測試團隊怎樣才能高效的應對頻繁的需求變更呢?這是當今測試團隊應該思考的主要問題。
今天分享一些個人的看法:
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 閱讀(266) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄