引言
隨著企業集成解決方案的出現,驗證每個系統組件的可操作性變得前所未有地重要。在對已經投入生產應用的系統進行故障排除時,操作團隊面對著各種各樣的挑戰:
要測試跨越多個物理節點和位置的分布式系統組件的可操作性,通常需要每一方團隊的聯合工作。
系統組件可以使用不同的技術來實現,并部署在不同的軟件和操作系統平臺上。組建一個熟練的操作團隊,其成員位于不同的位置,并具備完整的必需技能集,這是富有挑戰性的任務。
對生產環境的訪問通常同時受到物理和過程約束的限制。這些限制沒有為生產環境中的問題診斷提供足夠的權限。
要驗證總體系統對服務級別協議的遵從性和驗證目標服務質量,將要求解決方案為提供此類措施做好準備。
與解決方案的基礎實施部分不同,單獨使用系統管理工具無法在功能級別驗證自定義應用程序的這些方面。解決方案提供商必須提供某種方法,以測量和報告其系統組件的操作和功能方面。
除了面對所有這些挑戰,操作團隊通常還不止負責一個系統。為了簡化其工作,需要將操作團隊與系統的細節隔離,以便他們能夠集中于一般操作任務。開發團隊可以提供某種方法,用于通過遵循一組與組件內部細節無關的已定義的說明,從而以“黑盒”方式測試系統組件的可操作性。
嵌入測試組件
注意:為方便學習,我們定義了如下所示的術語。
功能組件 交付系統功能。
測試組件 只是為了增強系統的可測試性而引入的。
將測試組件嵌入在其他功能性系統組件中,只是為了使整個系統在部署期間(甚至在投入運行之后)可測試。圖 1 顯示了測試組件與其對應的功能組件之間的關系。
圖 1. 將測試組件嵌入其他系統組件
測試組件將在系統范圍的測試場景執行過程中進行調用。除了使用系統的功能組件的功能使用者外,嵌入的測試組件還將具有自己的使用者。
圖 2 顯示每個組件具有兩個接口:一個提供系統功能,另一個提供系統可測試性。取決于測試組件如何公開其接口,可以將測試客戶機實現為:
一組 API 調用——如果將測試接口公開為 API
命令——如果將測試接口公開為一個命令行工具
圖 2. 通過其功能和測試接口使用組件
對于由您的系統使用的外部操作組件,例如新聞 Feeds 和支付網關,您也許無法在那些組件端添加測試組件。但是,您仍然可以在自己的系統中添加測試客戶機,以驗證那些外部系統的可操作性。在這種情況下,測試客戶機的測試可以基于外部組件的功能接口,或基于可由測試客戶機訪問的外部系統上的某個基礎設施資源。
文章來源于領測軟件測試網 http://www.kjueaiud.com/