软件测试应用技术--架构相关的注意事项

一、分层架构软件测试

1.1、分层架构层级

第一层:表示层(客户端)
第二层:服务层(服务端)
第三层:业务逻辑层(服务端)
第四层:数据层(数据库)

1.2、分层架构的优点

(1)复用性强
(2)利于合作开发
(3)分层独立
(4)维护方便

1.3、分层架构的缺点

(1)性能下降
(2)成本增加

1.4、分层架构各层级的质量特性

1.4.1、表示层的质量特性

WEB端涉及的质量特性:可移植性、易用性、性能效率
PC端涉及的质量特性:可移植性、易用性、功能性
移动端涉及的质量特性:可移植性、易用性、性能效率、功能性、安全性

1.4.2、 服务层的质量特性

(1)功能性:输入、输出、处理
(2)信息安全性:SQL注入、信息泄露、身份验证、访问控制、明文传输
(3)性能效率:接口服务的响应时间、并发、服务端资源的使用情况

1.4.3、 业务逻辑层的质量特性

(1)功能性:功能点测试、业务流程测试,通常采用黑盒测试
(2)信息安全性:代码审计、,常见的代码问题有编码错误、编码规范、成都、复杂度、注释解释

1.4.4、 数据层的质量特性

(1)可靠性
(2)性能效率
(3)安全性:用户及口令管理、授权和审计管理、数据加密
(4)正确性与完整性
(5)功能性
(6)可移植性

二、事件驱动架构软件测试

2.1、事件驱动架构的组成

(1)事件(通知)
(2)事件队列
(3)事件分发器
(4)事件通道
(5)事件处理逻辑

2.2、事件驱动架构优点

(1)擅长解决工程领域中以交互为主的问题
(2)事件与事件处理逻辑、事件处理逻辑之间都得到了成分的解耦,从而使得软件易于扩展新的功能,还改善了软件的可维护性和可移植性,并且使得事件的分布式处理变得可能。
(3)交互时的响应性能较好。

2.2、事件驱动架构缺点

事件驱动架构的实现是异步编程,开发相对复杂,与事件处理相关的缺陷也非常常见,同时在实践中,此类缺陷导致的失效往往比较难以复现和定位。

2.3 事件驱动架构的质量特性

(1)功能性
(2)可靠性
(3)性能效率
(4)易用性
(5)信息安全性
(6)兼容性
(7)维护性
(8)可移植性

三、维内核架构软件测试

3.1、微内核架构的特点和核心

微内核架构的特点是模块高度独立,可移植。 微内核架构模式的核心是:
(1)基本服务封装到微内核。
(2)插件模块负责整合某个特定领域的抽象,微内核负责通用的功能抽象。
(3)应用程序、服务器通过基于“事件”的微内核通信,用来沟通各个不同的模块。

3.2、微内核架构的优点

(1)整体灵活性高,能够快速响应不断变化的环境
(2)易于部署,因为功能之间是隔离的,插件可以独立的加载和卸载
(3)可定制性高,适应不同的开发需求
(4)可测试性高,插件模块可以单独测试,能够非常简单的被核心系统模拟出来进行演示,或者在对核心系统很小影响,甚至没有影响的情况下对下一个特定特性进行原型展示
(5)性能高

3.3、微内核架构的缺点

(1)通信效率低,插件通过核心实现间接通信,需要更多开销
(2)开发难度高,微内核架构需要设计,因此实现起来比较复杂
(3)通信规约,丰富的插件通信连接方式
(4)版本控制复杂

3.4、微内核架构的质量特性

(1)功能性:微内核如那件货系统安装与卸载插件、插件的具体功能使用测试,以手工为主。
(2)信息安全性:查看是否有病毒、上传用户数据、且听用户隐私等。
(3)可靠性:对集成插件后的应用进行测试,查看插件和整体应用的稳定性,是否会出现集成后的崩溃、闪退、兼容性降低、效率变低等问题。
(4)易用性:体现易操作、易理解,有好的向导,方便用户对已加载的插件进行管理或配置插件。

四、分布式架构软件测试

4.1、分布式架构的特点和组件

特点:系统内部有多个独立的计算机组成
组件:面向不同业务领域的分布式架构,可能有不同的组件,但大多数情况下将至少包含以下组件
(1)分布式业务框架 (2)分布式缓存和管理组件 (3)分布式消息组件 (4)分布式数据库 (5)分布式文件系统

4.2、分布式架构的优点

(1) 支持大量并发用户
(2)容错和灾备能力
(3)可灵活扩展

4.3、分布式架构的缺点

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

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

(1)数据一致性
(2)事务处理
(3)并发和互斥
(4)远过程调用和通信
(5)功能性
(6)运维

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/601181.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

css 文字描边

又是抄样式的一天。这次是百度地图。实现了问题和图形描边的效果。 代码: .BMap_scaleTxt.dark {color: #fff;text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; } 效果:

uniapp打包的程序在Xcode中运行到模拟器报错的解决方法

uniapp打包的程序在Xcode中运行到模拟器报错的解决方法 问题描述: Building for iOS-simulator, but linking in object file (/Users/hori/Documents/SDK/SDK/Libs/DCUniRecord.framework/DCUniRecord[arm64][3](PGRecord.o)) built for iOS Linker command fail…

翻译《The Old New Thing》- Does Windows have a limit of 2000 threads per process?

Does Windows have a limit of 2000 threads per process? - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20050729-14/?p34773 Raymond Chen 2005年07月29日 Windows 是否有一个每个进程2000线程的限制? 简要 文章解释了在 W…

快速搭建linux虚拟机环境

1、虚拟机资源 VMwareWorkstation:Download VMware Workstation Pro virtualbox:Oracle VM VirtualBox 2、虚拟机系统资源 链接:系统资源链接 提取码:0gat 说明:此处的系统资源是采用VMwareWorkstation 虚拟机进…

vue脚手架和vite创建的项目的环境配置

开发环境文件 .env.development NODE_ENV"development" # // 开发接口域名 本地测试就用这个 # vue脚手架创建的 VUE_APP_MODE"开发环境" VUE_APP_API_URL http://19527 # vite创建的 # VITE_MODE"开发环境" # VITE_BASE_URL http://1920:9527…

【自动驾驶|毫米波雷达】逻辑化讲清快时间与慢时间傅里叶变换

碎碎念:实习过程中发现在进行雷达知识交流时,大部分同事都会用英文简称代替中文的一些称呼,比如Chirp、FFT等等。起初我觉得是因为很多英伟达、TI芯片的开发教程都是英文的,所以看得多了大家都习惯这样称呼,后来在和指…

Linux高级学习(前置 在vmware安装centos7.4)

【小白入门 通俗易懂】2021韩顺平 一周学会Linux 此文章包含第006p-第p007的内容 操作 在安装好的vmware下进行安装 这里使用的是vmware15(win10下),win11可能无法使用15(有几率蓝屏),换成16就行了 用迅雷…

将PT脚本转化为innovus脚本

前一节写的关于PT修时序后吐出相关脚本,但是无法直接使用APR工具innovus进行时序修复,此节介绍一种利用perl脚本将吐出脚本转化为innovus可读的脚本 1.转化前文本形式 2,转化后脚本 3.perl 脚本正文 #!/usr/bin/perl #transla…

【完美解决】使用git时候出现error setting certificate verify locations: CAfile:问题

1、出现场景: 在使用idea的时候,进行git下的push,出现下面的错误: 2、原因分析: 可能因为重装过系统,或者是安装git的位置发生了变化等情况出现。 3、解决方案: 找到git的安装路径&#xf…

Layer创建流程

在SurfaceFlinger中,Layer表示一个显示图层,是surfaceflinger合成过程中最重要的基本单元,它提供了一系列属性定义了如何参与合成并与其他Layer交互,包括: 位置:定义Layer出现在屏幕上的位置,包…

回归分析的理解

1.是什么: 2.回归问题的求解: 首先是根据之前的数据确定变量和因变量的关系根据关系去预测目标数据根据结果做出判断 2.1如何找到关系? y’是根据模型生成的预测结果: y’axb,而我们的目的是y’和y(正确的结果)之间…

Innodb实现的索引

概念 一种用于提高数据库查询性能的有序的数据结构。通过使用索引,数据库引擎可以快速定位到存储表中的特定数据,而不必逐行遍历整个表。在处理大量数据的时候可以显著加快数据检索的速度。 通过索引列队数据进行排序,降低数据排序的成本&a…

V23 中的新功能:LEADTOOLS 展示了它的 EXCEL-lence

LEADTOOLS (Lead Technology)由Moe Daher and Rich Little创建于1990年,其总部设在北卡罗来纳州夏洛特。LEAD的建立是为了使Daher先生在数码图象与压缩技术领域的发明面向市场。在过去超过30年的发展历程中,LEAD以其在全世界主要国家中占有的市场领导地位…

Verilog中4位数值比较器电路

某4位数值比较器的功能表如下。 请用Verilog语言采用门级描述方式,实现此4位数值比较器 参考代码如下: (CSDN代码块不支持Verilog,代码复制到notepad编辑器中,语言选择Verilog,看得更清楚) t…

CSS-伪类选择器

结构伪类选择器 作用&#xff1a;根据元素的结构关系查找元素 分类&#xff1a; 选择器说明元素名:first-child查找第一个元素元素名:last-child查找最后一个元素元素名:nth-child(N)查找第N名元素 <!DOCTYPE html> <html lang"en"> <head><me…

智启算力平台基本操作

智启算力平台 智启算力平台路径搭载数据集搭载镜像配置 智启算力平台 开发文档 帮助文档 - OpenI - 启智AI开源社区 路径搭载 OpenIOSSG/promote: 启智AI协作平台首页推荐组织及推荐项目申请。 - notice/Other_notes/SDKGetPath.md at master - promote - OpenI - 启智AI开…

加密杂谈:Base 向上,BSC 向下

Aerdrome 价格走过一轮&#xff0c;Base 一己之力扶持起巅峰 1B Mcap, 2B FDV 的百倍币&#xff0c;秀出了肌肉&#xff0c;其所带来的正外部性也进一步盘活了 Base 生态 反观 BSC 本轮哪怕靴子落地依然没个响&#xff0c;差距在哪里&#xff1f;本 Thread 将以此为切入点探讨…

Shell编程规范和变量

一.Shell脚本概述 Shell脚本的概念 将要执行的命令按顺序保存到一个文本文件给该文件可执行权限可结合各种Shell控制语句以完成更复杂的操作 Shell脚本应用场景 重复性操作交互性任务批量事务处理服务运行状态监控定时任务执行 Shell的作用 1&#xff09;介于系统内核与用…

结合kimi chat的爬虫实战思路

背景 想钻研一下项目组件&#xff0c;找找之后的学习方向。不能自以为是&#xff0c;所以借着网开源项目网站上公布的项目内容看一下&#xff0c;那些是我可以努力去学习的&#xff08;入门的&#xff09;。首先需要获取相关内容&#xff0c;于是爬取整理。 任务1&#xff1a…

hadoop学习---基于Hive的数据仓库相关函数机制及其优化方案

Hive相关函数&#xff08;部分&#xff09;&#xff1a; if函数: 作用: 用于进行逻辑判断操作 语法: if(条件, true返回信息,false返回信息) 注意: if函数支持嵌套使用 select if(aa,’bbbb’,111) fromlxw_dual; bbbb select if(1<2,100,200) fromlxw_dual; 200nvl函数:…
最新文章