如何搭建測試平臺體系

一個健康的測試平臺體系,對測試人員的職責分工、協做模式會有不一樣的要求。數據庫

測試平臺核心的職責是完成高質量的交付已知足業務需求。測試活動包括單元測試、集成測試、接口測試、性能測試等,都是經過這些測試手段,協同整個測試平臺來完成高質量交付的管理工做。安全

 

 

測試平臺的核心目的是提高測試效率,從而提高產品質量,其設計關鍵就是自動化。傳統的測試方式是測試人員手工執行測試用例,測試效率低,重複的工做多。經過測試平臺提供的自動化能力,測試用例可以重複執行,無須人工參與,大大提高了測試效率。服務器

爲了達到「自動化」的目標,測試平臺的基本架構以下圖所示。架構

經過對象庫的封裝-業務的封裝-驅動的封裝,這些封裝體系的協做,咱們能夠搭建一系列的自動化測試平臺。固然,這只是一小部分,由於整個測試平臺的搭建,絕對不是單純的自動化測試就能夠完成,須要業務人員、開發人員和測試人員共同合做來完成整個測試平臺。運維

 

 

1. 用例管理機器學習

測試自動化的主要手段就是經過腳本或者代碼來進行測試,例如單元測試用例是代碼、接口測試用例能夠用Python來寫、可靠性測試用例能夠用Shell來寫。爲了可以重複執行這些測試用例,測試平臺須要將用例管理起來,管理的維度包括業務、系統、測試類型、用例代碼。例如,網購業務的訂單系統的接口測試用例。性能

2. 資源管理單元測試

測試用例要放到具體的運行環境中才能真正執行,運行環境包括硬件(服務器、手機、平板電腦等)、軟件(操做系統、數據庫、Java虛擬機等)、業務系統(被測試的系統)。學習

除了性能測試,通常的自動化測試對性能要求不高,因此爲了提高資源利用率,大部分的測試平臺都會使用虛擬技術來充分利用硬件資源,如虛擬機、Docker等技術。測試

3. 任務管理

任務管理的主要職責是將測試用例分配到具體的資源上執行,跟蹤任務的執行狀況。任務管理是測試平臺設計的核心,它將測試平臺的各個部分串聯起來從而完成自動化測試。

4. 數據管理

測試任務執行完成後,須要記錄各類相關的數據(例如,執行時間、執行結果、用例執行期間的CPU、內存佔用狀況等),這些數據具有下面這些做用:

o 展示當前用例的執行狀況。

o 做爲歷史數據,方便後續的測試與歷史數據進行對比,從而發現明顯的變化趨勢。例如,某個版本後單元測試覆蓋率從90%降低到70%

o    做爲大數據的一部分,能夠基於測試的任務數據進行一些數據挖掘。例如,某個業務一年執行了10000個用例測試,另一個業務只執行了1000個用例測試,兩個業務規模和複雜度差很少,爲什麼差別這麼大?

 

數據平臺

數據平臺的核心職責主要包括三部分:數據管理、數據分析和數據應用。每一部分又包含更多的細分領域,詳細的數據平臺架構以下圖所示。

1. 數據管理

數據管理包含數據採集、數據存儲、數據訪問和數據安全四個核心職責,是數據平臺的基礎功能。

    • 數據採集:從業務系統蒐集各種數據。例如,日誌、用戶行爲、業務數據等,將這些數據傳送到數據平臺。
    • 數據存儲:將從業務系統採集的數據存儲到數據平臺,用於後續數據分析。
    • 數據訪問:負責對外提供各類協議用於讀寫數據。例如,SQLHiveKey-Value等讀寫協議。
    • 數據安全:一般狀況下數據平臺都是多個業務共享的,部分業務敏感數據須要加以保護,防止被其餘業務讀取甚至修改,所以須要設計數據安全策略來保護數據。

 

2. 數據分析

數據分析包括數據統計、數據挖掘、機器學習、深度學習等幾個細分領域。

    • 數據統計:根據原始數據統計出相關的總覽數據。例如,PVUV、交易額等。
    • 數據挖掘:數據挖掘這個概念自己含義能夠很廣,爲了與機器學習和深度學習區分開,這裏的數據挖掘主要是指傳統的數據挖掘方式。例如,有經驗的數據分析人員基於數據倉庫構建一系列規則來對數據進行分析從而發現一些隱含的規律、現象、問題等,經典的數據挖掘案例就是沃爾瑪的啤酒與尿布的關聯關係的發現。
    • 機器學習、深度學習:機器學習和深度學習屬於數據挖掘的一種具體實現方式,因爲其實現方式與傳統的數據挖掘方式差別較大,所以數據平臺在實現機器學習和深度學習時,須要針對機器學習和深度學習獨立進行設

3. 數據應用 數據應用很普遍,既包括在線業務,也包括離線業務。例如,推薦、廣告等屬於在線應用,報表、欺詐檢測、異常檢測等屬於離線應用。

  • 數據應用可以發揮價值的前提是須要有大數據,只有當數據的規模達到必定程度,基於數據的分析、挖掘才能發現有價值的規律、現象、問題等。若是數據沒有達到必定規模,一般狀況下作好數據統計就足夠了,尤爲是不少初創企業,無須一開始就參考BAT來構建本身的數據平臺。

管理平臺

管理平臺的核心職責就是權限管理,不管是業務系統(例如,淘寶網)、中間件系統(例如,消息隊列MQ、Kafka),仍是平臺系統(例如,運維平臺),都須要進行管理。若是每一個系統都本身來實現權限管理,效率過低,重複工做不少,所以須要統一的管理平臺來管理全部的系統的權限。

權限管理主要分爲兩部分:身份認證、權限控制,

 

 

 

1.身份認證

肯定當前的操做人員身份,防止非法人員進入系統。例如,不容許匿名用戶進入系統。爲了不每一個系統都本身來管理用戶,一般狀況下都會使用企業帳號來作統一認證和登陸。

2.權限控制

根據操做人員的身份肯定操做權限,防止未經受權的人員進行操做。例如,不容許研發人員進入財務系統查看別人的工資。

相關文章
相關標籤/搜索