热门标签 | 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、系统测试

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


推荐阅读
  • 综合实训 201521440015
    Chinesepeople’publicsecurityuniversity网络对抗技术实验报告实验五综合渗透学生姓名常泽远年级15区队4指导教师高见信息技术与网络安全学院2018 ... [详细]
  • 本文详细介绍了如何使用OpenSSL自建CA证书的步骤,包括准备工作、生成CA证书、生成服务器待签证书以及证书签名等过程。 ... [详细]
  • 本文深入探讨了如何选择适合业务需求的MySQL存储引擎,详细解析了不同存储引擎的特点、适用场景及其在数据存储和管理中的优势。通过对比InnoDB、MyISAM等主流引擎,为读者提供了全面的技术指导和专业建议,帮助开发者在实际应用中做出明智的选择。 ... [详细]
  • 在JavaWeb项目架构中,NFS(网络文件系统)的实现与优化是关键环节。NFS允许不同主机系统通过局域网共享文件和目录,提高资源利用率和数据访问效率。本文详细探讨了NFS在JavaWeb项目中的应用,包括配置、性能优化及常见问题的解决方案,旨在为开发者提供实用的技术参考。 ... [详细]
  • 深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用
    深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用 ... [详细]
  • 内网渗透技术详解:PTH、PTT与PTK在域控环境中的应用及猫盘内网穿透配置
    本文深入探讨了内网渗透技术,特别是PTH、PTT与PTK在域控环境中的应用,并详细介绍了猫盘内网穿透的配置方法。通过这些技术,安全研究人员可以更有效地进行内网渗透测试,解决常见的渗透测试难题。此外,文章还提供了实用的配置示例和操作步骤,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 本文通过思维导图的形式,深入解析了大型网站技术架构的核心原理与实际案例。首先,探讨了大型网站架构的演化过程,从单体应用到分布式系统的转变,以及各阶段的关键技术和挑战。接着,详细分析了常见的大型网站架构模式,包括负载均衡、缓存机制、数据库设计等,并结合具体案例进行说明。这些内容不仅有助于理解大型网站的技术实现,还能为实际项目提供宝贵的参考。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战?
    Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战? ... [详细]
  • MySQL数据库安装图文教程
    本文详细介绍了MySQL数据库的安装步骤。首先,用户需要打开已下载的MySQL安装文件,例如 `mysql-5.5.40-win32.msi`,并双击运行。接下来,在安装向导中选择安装类型,通常推荐选择“典型”安装选项,以确保大多数常用功能都能被正确安装。此外,文章还提供了详细的图文说明,帮助用户顺利完成整个安装过程,确保数据库系统能够稳定运行。 ... [详细]
  • 《软件测试精要》深度解析与实战经验分享
    《软件测试精要》深度解析与实战经验分享,系统梳理了软件测试的核心概念与关键原则,结合实际项目中的测试经验和教训,详细探讨了测试分类、测试权衡要素、测试效率、测试覆盖率以及测试框架的引入和用例设计等内容,为读者提供了全面而实用的指导。 ... [详细]
  • 2019年后蚂蚁集团与拼多多面试经验详述与深度剖析
    2019年后蚂蚁集团与拼多多面试经验详述与深度剖析 ... [详细]
  • Windows环境下详细教程:如何搭建Git服务
    Windows环境下详细教程:如何搭建Git服务 ... [详细]
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社区 版权所有