写点什么

软件测试 | 什么是被测系统架构与数据流分析

  • 2023-02-08
    北京
  • 本文字数:1472 字

    阅读完需:约 5 分钟

1.理解被测系统架构与数据流的益处

深入了解被测系统的架构与数据流,有助于理解业务逻辑、梳理业务用例,以及促进部门间协同。


更深入地理解业务逻辑是指:要分析公司是做什么的?公司重要的商务决策是什么?公司内部数据流是怎么运行的?有哪些常见的业务场景。


更好地梳理业务用例的本质是:在测试过程中,测试人员可以更全面地测试公司的业务。例如,复杂的电商系统或保险行业的管理系统,内部涉及的业务流以及包括的用户种类都很复杂、多样,测试人员不理解其中的业务逻辑和数据,就很难编写出一个覆盖完整系统功能的业务测试用例。


更好地与研发、运维进行跨部门间协同是指:当产品出现问题时,研发和运维部门都会排查。作为测试部门,更要了解出现的问题并帮助研发、运维部门解决问题,这样可以加快部门间协同解决问题的速度。

2.开源项目 litemall 系统架构

下面以开元项目 litemall 为例,分析一下这个项目的系统架构。


litemall 是一款小的网上商城应用,系统以 Spring Boot 作为后端,Vue 结合微信小程序作为前端,同时 Vue 也作为移动端。


(1)系统架构


litemall 系统架构如图 1-5 所示。


(2)技术架构


litemall 的技术架构如图 1-6 所示。


3.开源项目 Mall 系统架构

Mall 项目是一套电商系统,包括前台商城系统及后台管理系统,基于 Spring Boot + MyBatis 实现,采用 Docker 容器化部署。前台商城系统包含首页、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。


(1)系统架构


Mall 系统架构如图 1-7 所示。



(2)业务架构


Mall 的业务架构如图 1-8 所示。



4.公司架构组成分析

通过 litemall 和 Mall 两个开源项目可以看出,这两项目的公司架构一般分为业务架构和系统架构。

(1)业务架构

1)商业模式:也是大家最关心的问题,公司使收益最大化的运作模式,例如,抖音的运作模式以及其裂变系统是怎样进行的。


2)业务数据:公司系统中包括的角色、资源和数据,例如,公司系统的账户管理中的角色有管理员、用户等,而这些角色有可以分为输出内容的人和消费内容的人。除了角色,公司系统上还有核心资源的种类及数据信息。


3)业务流程:业务数据中的角色的行为以及数据之间的集成关系。

(2)系统架构

系统架构就是要把业务架构进行落地实施,实现其中的商业模式与业务流程。


  • **架构角色与技术栈:**架构中的角色基本不会变,而技术栈会随着技术的发展而不断变化。其中的技术栈有:网关(Apache/Nginx/F5)、应用开发(Spring Boot/Spring Cloud)、通信协议(Dubbo/HTTP/PB)、数据处理(Hadoop/Spark/Flink)、数据储存(Redis/MySQL/Oracle/ES)、文档存储(MongoDB/HBase/Ne04j)。

  • **部署架构:**架构角色的集成关系。

5.建模语言 UML

为加速了解公司的系统架构,可以使用统一建模语言(UML)来分析公司的系统架构。常用的编译工具有:plantuml(推荐)、yed、draw.io、processon、visio。


下面以 plantuml 工具为例,设计图模型,用以分析公司系统架构。


(1)用例图:用来描述商业模式、业务角色。


(2)时序图:用来描述业务流程、调用关系。


(3)部署图:用来描述系统架构与集成关系。


(4)活动图:用来分析业务逻辑。


下面对上述设计图模型进行简单说明。


(1)用例图


使用用例图梳理商业模式、业务角色,如图 1-9 所示。



(2)部署图


使用部署图分析系统架构与集成关系,如图 1-10 所示。


(3)时序图、


使用时序图分析业务流程和调用关系,如图 1-11 所示


(4)活动图


使用活动图分析业务逻辑,如图 1-12 所示


关注我公众号 TestingStudio,霍格沃兹的干货都很硬核


用户头像

社区:ceshiren.com 2022-08-29 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料、实事更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬

评论

发布
暂无评论
软件测试 | 什么是被测系统架构与数据流分析_软件测试_测吧(北京)科技有限公司_InfoQ写作社区