热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

第24章分布式架构软件测试

目录一、主要内容(下午题考)1、分布式架构概述2、质量特性3、测试策略二、分布式架构概述1、分布式架构概念2、分布式架构本质上的两大特点三、分布式架构的

目录

一、主要内容(下午题考)

1、分布式架构概述

2、质量特性

3、测试策略

二、分布式架构概述

1、分布式架构概念

2、分布式架构本质上的两大特点

三、分布式架构的组件

1、分布式业务框架

2、分布式缓存和管理组件

3、分布式消息组件

4、分布式数据库

5、分布式文件系统

6、治理组件

四、互两网业务系统的治理组件

五、分布式架构的优缺点及代价

1、优点

2、代价

3、缺点

六、分布式架构的质量特性

1、功能性

(1)功能完备性

(2)功能正确性

(3)功能适合性

(4)架构与功能完全分开考虑的缺陷

2、数据一致性相关

(1)影响

(2)应对策略

3、事物处理相关

(1)影响

(2)应对策略

4、并发、互斥相关

(1)影响

(2)应对策略

5、远程调试和通信相关

(1)影响

(2)应对策略

6、运维相关

(1)易用性

(2)信息安全

(3)维护性和可移植性

(4)兼容性(可选)

7、常见质量目标

(1)容量

(2)容错

(3)响应速度

(4)弹性

七、分布式架构的测试策略

1、总体思想

2、单元测试

3、接口测试

4、集成测试

5、系统测试


一、主要内容(下午题考)

1、分布式架构概述

2、质量特性

3、测试策略

二、分布式架构概述

1、分布式架构概念

  • 分布式架构是指在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。
  • 分布式 : 将一个单体项目分成很多个模块,各个模块协同工作,各个模块构成了分布式系统;
  • 集群:针对单个模块或者单个系统在多台服务器上部署,称为集群。为了提高系统的可用性,增加系统的负载。

2、分布式架构本质上的两大特点

  • 内部有很多计算机组成
  • 外部呈现给用户的是一个统一的系统,看不出是由多个计算机协同工作的

三、分布式架构的组件

1、分布式业务框架

  • 主要是为业务实现的业务逻辑开发的框架

2、分布式缓存和管理组件

  • 主要是为大并发和数据存储提供高速访问的数据,并确保数据的一致性

3、分布式消息组件

  • 为分布式架构中的位于不同物理计算机上的软件子模块提供的一种通信和调用的机制
  • 比如远程调用RPC

4、分布式数据库

  • 主要负责大规模数据的读写、管理、查询等

5、分布式文件系统

  • 将多台独立的物理计算机的文件系统映射为一个完整一致的文件系统

6、治理组件

  • 对运行系统中的各个子模块的功能进行统一的管理、协调

四、互两网业务系统的治理组件

  • 不同的业务环境下对应的治理组件不完全相同。

五、分布式架构的优缺点及代价

1、优点

  • 支持大量并发用户
  • 容错和灾备能力
  • 可灵活扩展

2、代价

  • 额外的复杂性
  • 接口数量的爆炸增加
  • 容易出现强耦合导致维护性差
  • 信息安全的风险

3、缺点

  • 高维护成本
  • 数据/事务处理上的一致性难题
  • 逻辑耦合强,定位问题困难

六、分布式架构的质量特性

1、功能性

(1)功能完备性

  • 与架构实现有一定的关系

(2)功能正确性

  • 与架构无关,由具体业务逻辑实现决定

(3)功能适合性

  • 与架构无关,由功能的交互设计和场景决定

(4)架构与功能完全分开考虑的缺陷

  • 在不同系统负载和容量情况下,系统所能提供的功能
  • 非法、意外事件
  • 部署、运维和监控功能

2、数据一致性相关

(1)影响

  • 数据一致的牺牲导致业务功能相关的缺陷
  • 错误实现的数据一致性逻辑造成功能性和可靠性的缺陷
  • 数据一致与高可用性的平衡设计不足,影响可靠性
  • 对数据一致性的要求影响系统性能和容量

(2)应对策略

  • 尽早开始测试和参与软件设计的评审
  • 通过场景法设计容错和并发场景
  • 进行专门的数据测试来覆盖数据一致性问题

3、事物处理相关

(1)影响

  • 嵌套式事务能较好地保证系统的可靠性,但容易导致性能问题
  • 分布式事务在提供较好的性能和扩展性时会导致稳定性差

(2)应对策略

  • 对由嵌套事务模式实现的业务逻辑针对性的设计性能测试和压力测试
  • 对由分布式事务模式实现的业务逻辑进行容错性测试

4、并发、互斥相关

(1)影响

  • 出现在业务直接相关区域的错误读写影响业务功能的功能性
  • 出现在服务软件逻辑区域的错误读写影响服务的可靠性
  • 为确保不出现错误的数据读写,过度扩大临界区范围设计导致并发性能下降

(2)应对策略

  • 分层的测试策略
  • 尽早地开展测试活动,参与设计的评审
  • 结合软件设计实现并发与互斥的逻辑,通过场景法、边界值法、状态迁移法,针对弱点进行覆盖
  • 单元测试中,对具体算法/业务/代码逻辑等进行逻辑覆盖和功能覆盖

5、远程调试和通信相关

(1)影响

  • 涉及转换和通信过程,导致通信开销和通信延迟
  • 跨地区/因特网时,导致信息安全风险
  • 远程计算机出现错误时,本地模块崩溃

(2)应对策略

  • 强调集成测试
  • 在各个集成层面上进行性能测试
  • 容错的场景涉及覆盖和灾备演练可以再各个集成粒度上进行
  • 对于跨因特网或区域的远程调用和通信,组织专门的信息安全测试

6、运维相关

(1)易用性

  • 主要考虑的是用户差错性防御

(2)信息安全

  • 对系统管理功能和访问是否有合适的权限的安排或管理测试

(3)维护性和可移植性

  • 按模块可重用的要求进行考虑和测试

(4)兼容性(可选)

  • 服务节点模块要能够在不影响其他模型的情况下能快速进行替换

7、常见质量目标

(1)容量

  • 是指分布式系统在既定的资源情况下去考虑容量是否达到了既定的要求,以及在增加计算资源的情况下去考虑系统容量的增长是否会符合预期

(2)容错

  • 是指单个服务失效时,对整个功能整个系统的影响

(3)响应速度

  • 对服务的调用的响应速度
  • 把它纳入到分布式各个场景的考核目标下进行测试

(4)弹性

  • 当用户的需求、用户的规模发生变化时,系统是否能自动的快速、及时的调整运算资源

七、分布式架构的测试策略

1、总体思想

  • 分而治之,然后再进行综合

2、单元测试

  • 分布式的软件系统:模块/子系统
  • 功能测试、代码覆盖、再结合场景测试

3、接口测试

  • 系统内的模块接口
  • 应覆盖功能、性能、稳定性、信息安全

4、集成测试

  • 子系统要完成的功能
  • 等价类、边界值、场景法、状态迁移
  • 性能、并发、容错
  • 多个子系统集成

5、系统测试

  • 系统对外的接口
  • 基于规格说明的测试技术


推荐阅读
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 从Oracle安全移植到国产达梦数据库的DBA实践与攻略
    随着我国对信息安全和自主可控技术的重视,国产数据库在党政机关、军队和大型央企等行业中得到了快速应用。本文介绍了如何降低从Oracle到国产达梦数据库的技术门槛,保障用户现有业务系统投资。具体包括分析待移植系统、确定移植对象、数据迁移、PL/SQL移植、校验移植结果以及应用系统的测试和优化等步骤。同时提供了移植攻略,包括待移植系统分析和准备移植环境的方法。通过本文的实践与攻略,DBA可以更好地完成Oracle安全移植到国产达梦数据库的工作。 ... [详细]
  • TiDB | TiDB在5A级物流企业核心系统的应用与实践
    TiDB在5A级物流企业核心系统的应用与实践前言一、业务背景科捷物流概况神州金库简介二、现状与挑战神州金库现有技术体系业务挑战应对方案三、TiDB解决方案测试迁移收益问题四、说在最 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • GAMETECH腾讯云游戏行业技术沙龙成都站圆满落幕
    11月13日,由腾讯云主办、游戏茶馆协办的2020年首场GAME-TECH腾讯云游戏行业技术沙龙在成都圆满落幕。本次沙龙邀请了腾讯云游戏行业解决方案总监宋永周、腾讯云游戏行业高级解决方案架构师曾梓恩、腾讯云游戏行业高级产品架构师郑晓曦、腾讯云游戏行业高级解决方案架构师温球良和天美L1(王者荣耀)服务器技术副总监杨光,为参会同行们带来了干货满满的技术建议。本文介绍了腾讯云游戏云的优势和为不同游戏研运场景提供的服务。腾讯云在中国游戏云服务市场领跑,成为众多游戏开发者的合作伙伴。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 项目需要将音视频文件上传服务器,考虑并发要求高,通过七牛来实现。直接上代码usingQiniu.IO;usingQiniu.IO.Resumable;usingQiniu.RPC; ... [详细]
author-avatar
花生vs布丁丁7_835
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有