序言:要做一個自動化測試平臺,越強大的平臺,其模塊之間的交互越難,也是各個模塊之間的接口定義越難,而如何采用一種策略去規范各個模塊的接口、消息格式和交互方式更是難,這一點,我覺得可以從學習網絡協議中找到一絲靈感,那些協議的交互方式以及消息的格式傳遞都是值得學習的,以前覺得學習協議純粹是為了了解,現在學習真的是想掌握其幾點精華思想,突然能夠想象到:一群人在一起思想的碰撞,不斷的去總結,去發現,去實用,才有了現在的協議標準。覺得,不一樣的領域都去發現才能有所感悟。
一、自動化測試平臺中的模塊
1、軟件產品是具有一系列特定功能的組件組成,其系統可以被分為一系列的功能模塊,每個模塊所特有的信息處理過程都被包含在模塊的內部,如同一個“黑箱”,這是“封裝性”,然后模塊與模塊之間按照一定的規則相連則成了一個復雜的系統(一個系統也可以作為一個模塊,去組成更復雜的系統)。
2、而在自動化測試平臺的系統開發中,首先,按照其抽象出來的自動化測試流程和方式劃分一系列的功能模塊,這些功能模塊都能脫離系統獨自使用,有的模塊獨自使用能夠提高一些效率(像CLI測試中的基于腳本的自動化測試框架,GUI測試中的基于工具的自動化測試框架等都是一種模塊,還有一些測試工具),然后在此些模塊的基礎上,我們定義一些交互規則,將他們以好的方式進行安排在自動化測試流水線上,然后提供一個統一管理的界面,慢慢的,構建成了一個自動化測試平臺。(關鍵點:必須在測試功能模塊獨自提高效率的基礎上,能夠在測試流程中加以應用,平臺的作用伴隨更多的服務,將他們流水線化)
二、自動化測試平臺平臺構建難點
1、如何在測試流程中提煉自動化測試流程,然后抽象出自動化測試流水線。
2、如何能夠統一規劃整個測試部門的測試資源,這需要一個服務器去統一存儲和調度管理。
3、然后,很關鍵的一步:如何將已有的功能測試模塊結合起來,即建立一套良好的交互協議和交互消息格式,使其能夠很好的交互和互補,真正完成自動化測試流水線的運作。
三、自動化測試平臺模塊交互策略分析
以下策略是自己對測試平臺建設中的一些提煉,不一定完全適合,可以參考
1、策略1:服務注冊機制
即定義一個框架,其框架提供相應的API,所有的模塊利用這個API遵循一定的規則都可以作為服務注冊到這個框架中,注冊的同時,也對該服務的發送和接收的消息進行了規定,不同的消息可以調用其模塊不同的功能,然后,模塊則可以以這個框架為媒介,以傳遞消息的方式互相控制。當然,對于數據的存儲,需要單獨提供一個空間,可以是服務器,也可以是內存機制。
2、策略2:消息分發統一機制
即定義一個消息分發模塊,模塊的交互都會經過這個消息分發模塊,這個消息分發模塊將消息進行解析,然后傳送到對應的模塊。
這里,兩種策略都需要統一規定好消息的格式。
總之,個人上次聽過一句話,如果你在一個行業領域已經停滯不前,那么將眼光放寬,去另外一個領域去看看,往往這樣,會激發你無限的靈感。這也許是真理啊,喬布斯不很愛好藝術嗎?馬云不是個金庸迷嗎?當然,不是說要去復制,個人覺得,說的是不要閉門造船吧,而是學會提煉共性,在思想中升華吧。