軟件測試 |被測系統(tǒng)架構(gòu)與數(shù)據(jù)流分析
1.理解被測系統(tǒng)架構(gòu)與數(shù)據(jù)流的益處
深入了解被測系統(tǒng)的架構(gòu)與數(shù)據(jù)流,有助于理解業(yè)務邏輯、梳理業(yè)務用例,以及促進部門間協(xié)同。
更深入地理解業(yè)務邏輯是指:要分析公司是做什么的?公司重要的商務決策是什么?公司內(nèi)部數(shù)據(jù)流是怎么運行的?有哪些常見的業(yè)務場景。
更好地與研發(fā)、運維進行跨部門間協(xié)同是指:當產(chǎn)品出現(xiàn)問題時,研發(fā)和運維部門都會排查。作為測試部門,更要了解出現(xiàn)的問題并幫助研發(fā)、運維部門解決問題,這樣可以加快部門間協(xié)同解決問題的速度。
2.開源項目litemall系統(tǒng)架構(gòu)
下面以開元項目litemall為例,分析一下這個項目的系統(tǒng)架構(gòu)。
litemall是一款小的網(wǎng)上商城應用,系統(tǒng)以Spring ?Boot作為后端,Vue結(jié)合微信小程序作為前端,同時Vue也作為移動端。
(1)系統(tǒng)架構(gòu)
litemall系統(tǒng)架構(gòu)如圖1-5所示。

(2)技術(shù)架構(gòu)
litemall的技術(shù)架構(gòu)如圖1-6所示。

3.開源項目Mall系統(tǒng)架構(gòu)
Mall項目是一套電商系統(tǒng),包括前臺商城系統(tǒng)及后臺管理系統(tǒng),基于Spring Boot + MyBatis實現(xiàn),采用Docker容器化部署。前臺商城系統(tǒng)包含首頁、商品推薦、商品搜索、商品展示、購物車、訂單流程、會員中心、客戶服務、幫助中心等模塊。后臺管理系統(tǒng)包含商品管理、訂單管理、會員管理、促銷管理、運營管理、內(nèi)容管理、統(tǒng)計報表、財務管理、權(quán)限管理、設置等模塊。
(1)系統(tǒng)架構(gòu)
Mall系統(tǒng)架構(gòu)如圖1-7所示。

(2)業(yè)務架構(gòu)
Mall的業(yè)務架構(gòu)如圖1-8所示。

4.公司架構(gòu)組成分析
通過litemall和Mall兩個開源項目可以看出,這兩項目的公司架構(gòu)一般分為業(yè)務架構(gòu)和系統(tǒng)架構(gòu)。
(1)業(yè)務架構(gòu)
1)商業(yè)模式:也是大家最關心的問題,公司使收益最大化的運作模式,例如,抖音的運作模式以及其裂變系統(tǒng)是怎樣進行的。
2)業(yè)務數(shù)據(jù):公司系統(tǒng)中包括的角色、資源和數(shù)據(jù),例如,公司系統(tǒng)的賬戶管理中的角色有管理員、用戶等,而這些角色有可以分為輸出內(nèi)容的人和消費內(nèi)容的人。除了角色,公司系統(tǒng)上還有核心資源的種類及數(shù)據(jù)信息。
3)業(yè)務流程:業(yè)務數(shù)據(jù)中的角色的行為以及數(shù)據(jù)之間的集成關系。
(2)系統(tǒng)架構(gòu)
系統(tǒng)架構(gòu)就是要把業(yè)務架構(gòu)進行落地實施,實現(xiàn)其中的商業(yè)模式與業(yè)務流程。
架構(gòu)角色與技術(shù)棧:架構(gòu)中的角色基本不會變,而技術(shù)棧會隨著技術(shù)的發(fā)展而不斷變化。其中的技術(shù)棧有:網(wǎng)關(Apache/Nginx/F5)、應用開發(fā)(Spring Boot/Spring Cloud)、通信協(xié)議(Dubbo/HTTP/PB)、數(shù)據(jù)處理(Hadoop/Spark/Flink)、數(shù)據(jù)儲存(Redis/MySQL/Oracle/ES)、文檔存儲(MongoDB/HBase/Ne04j)。
部署架構(gòu):架構(gòu)角色的集成關系。
5.建模語言UML
為加速了解公司的系統(tǒng)架構(gòu),可以使用統(tǒng)一建模語言(UML)來分析公司的系統(tǒng)架構(gòu)。常用的編譯工具有:plantuml(推薦)、yed、draw.io、processon、visio。
下面以plantuml工具為例,設計圖模型,用以分析公司系統(tǒng)架構(gòu)。
(1)用例圖:用來描述商業(yè)模式、業(yè)務角色。
(2)時序圖:用來描述業(yè)務流程、調(diào)用關系。
(3)部署圖:用來描述系統(tǒng)架構(gòu)與集成關系。
(4)活動圖:用來分析業(yè)務邏輯。
下面對上述設計圖模型進行簡單說明。
(1)用例圖
使用用例圖梳理商業(yè)模式、業(yè)務角色,如圖1-9所示。

(2)部署圖
使用部署圖分析系統(tǒng)架構(gòu)與集成關系,如圖1-10所示。

(3)時序圖、
使用時序圖分析業(yè)務流程和調(diào)用關系,如圖1-11所示

(4)活動圖
使用活動圖分析業(yè)務邏輯,如圖1-12所示
