技术分享 | 被测系统架构与数据流分析

技术分享 | 被测系统架构与数据流分析

更多技术文章

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

更深的理解业务逻辑是指要分析公司是做什么的,公司的重要的商务决策是什么,公司内部数据流是怎么运行的,有哪些常见的业务场景。这也能考验对公司业务的负责程度,可以更好的去服务业务部门,为公司创造价值。

开源项目litemall系统架构

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

litemall 这款产品是一个小的商城,以 SpringBoot 作为后端,Vue 管理员结合微信小程序作为前端,Vue 用户作为移动端。

系统架构

litemall 的系统架构如图所示:

[图片上传失败...(image-bf64cc-1654762846077)]

技术架构

litemall 的技术架构如图所示:

[图片上传失败...(image-b5ee16-1654762846077)]

开源项目Mall的系统架构

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

系统架构

Mall 的系统架构如图所示:

[图片上传失败...(image-1137e6-1654762846077)]

业务架构

Mall 的业务架构如图所示:

[图片上传失败...(image-e36b88-1654762846077)]

公司架构组成

通过 litemall 和 mall 两个开源项目可以看出,为了更好的服务公司,需要了解公司的架构,公司架构一般分为业务架构和系统架构。

业务架构

  • 商业模式:也是目前大家最关心的问题,公司怎样使得收益最大化。例如抖音的盈利模式以及其中裂变系统是怎样参与的,这就需要了解你身处的业务部门的业务模式以及技术栈,以及公司的发展模式与未来趋势。

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

  • 业务流程:了解业务数据中角色,角色的行为以及数据之间的集成关系。

系统架构

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

1.架构角色与技术栈:架构角色基本不会变,而技术栈会随着技术的发展而不断变化。其中的具体
- 网关:Apache/Nginx/F5
- 应用开发:SpringBoot/SpringCloud
- 通讯协议:Dubbo/HTTP/PB
- 数据处理:Hadoop/Spark/Flink
- 数据存储:Redis/MySQL/Oracle/ES
- 文档存储:MongoDB/HBase/Neo4j
2.部署架构:架构角色的集成关系,对应业务架构中的业务流程。

建模语言UML

为快速了解公司的架构,可以使用统一的建模语言 UML 来分析公司架构。常用的编译语言工具有:

  • plantuml(推荐)
  • yed
  • draw.io
  • processon
  • visio (不常用)

以 plantuml 工具为例,可以设计以下图模型分析公司架构:

  • 用例图:用来描述商业模式、业务角色
  • 时序图:用来描述业务流程、调用关系
  • 部署图:用来描述系统架构与集成关系
  • 活动图:用来分析业务逻辑

使用用例图梳理业务流程


@startuml
left to right direction
actor User as user
actor Admin as admin
package 商品 {
  usecase "发布商品"
  usecase "浏览商品"
  usecase "购买商品"
  usecase "下架商品"
}
package 订单 {
  usecase "结算订单"
  usecase "查询订单"
  usecase "退款"
  usecase "管理订单"
}
admin -up-> 发布商品
admin -up-> 下架商品
admin -up-> 管理订单
user --> 浏览商品
user --> 购买商品
user --> 结算订单
user --> 结算订单
user --> 查询订单
user --> 退款
@enduml

[图片上传失败...(image-e1729e-1654762846077)]

使用思维导图分析功能点


@startmindmap
scale 380 height
* <&flag>Debian
** <&globe>Ubuntu
*** Linux Mint
*** Kubuntu
*** Lubuntu
*** KDE Neon
** <&graph>LMDE
** <&pulse>SolydXK
** <&people>SteamOS
** <&star>Raspbian with a very long name
*** <s>Raspmbc</s> => OSMC
*** <s>Raspyfi</s> => Volumio
legend right
  Short
  legend
endlegend
@endmindmap

[图片上传失败...(image-6db980-1654762846077)]

使用时序图分析数据流

scale 300 height
用户 -> 认证中心: 登录操作
认证中心 -> 缓存: 存放(key=token+ip,value=token)token

用户 <- 认证中心 : 认证成功返回token
用户 -> 认证中心: 下次访问头部携带token认证
认证中心 <- 缓存: key=token+ip获取token
其他服务 <- 认证中心: 存在且校验成功则跳转到用户请求的其他服务
其他服务 -> 用户: 信息

[图片上传失败...(image-5c0d17-1654762846077)]

使用活动图分析测试用例


@startuml
scale 580 height
start
repeat
  :Test something;
    if (Something went wrong?) then (no)
      #palegreen:OK;
      break
    endif
    ->NOK;
    :Alert "Error with long text";
repeat while (Something went wrong with long text?) is (yes) not (no)
->//merged step//;
:Alert "Success";
stop
@enduml

[图片上传失败...(image-d13399-1654762846077)]

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

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

更多技术文章

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容