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

news2024/5/20 5:09:45

一、分层架构软件测试

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.coloradmin.cn/o/1651124.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux实操之常用指令详解

文章目录 vi 和 vimvi 和 vim 基本使用 开机、重启和用户登录注销关机&重启命令用户登录和注销 用户管理基本介绍基本语法细节说明修改密码删除用户查询用户信息指令切换用户查看当前用户/登录用户用户组 实用指令指定运行级别帮助指令文件目录类时间和日期类搜索查找类压缩…

向各位请教一个问题

这是菜鸟上的一道题目,单单拿出来问问大家,看看能不能解惑 ,谢谢各位! 题目25:求12!3!...20!的和 解题思路:这个题不知道为什么我用DEV C 5.11显示出来为0.000000,可能版本有问题?&a…

装饰器模式-原理分析以及动手练习

目录 应用场景涉及的角色和类(个人理解)涉及的角色组件(标准)基本实现 Demo(可以直接 copy 跑一下看效果)自己动手实战需求参考答案 相关话题参考文章 应用场景 需要给一个现有类添加附加功能,…

如何安全可控地进行内外网跨网络传输文件?

跨网络传输文件通常指的是在不同的网络环境之间移动数据,这在现代企业运营中非常常见。随着网络技术的高速发展,为了有效地保护内部的核心数据资产,企业一般会采用内外网隔离的策略。在进行内外网跨网络传输文件时,需要考虑多种因…

Java性能优化(一):Java基础-ArrayList和LinkedList

引言 集合作为一种存储数据的容器,是我们日常开发中使用最频繁的对象类型之一。JDK为开发者提供了一系列的集合类型,这些集合类型使用不同的数据结构来实现。因此,不同的集合类型,使用场景也不同。 很多同学在面试的时候&#x…

2024爆火的AI设备Rabbit R1到底是什么?有人说它是AI的iPhone时刻,有人说它是套壳的安卓

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,所以创建了“AI信息Gap”这个公众号,专注于分享AI全维度知识…

22_Scala集合Seq

文章目录 Seq序列1.构建集合2.List集合元素拼接&&集合拼接3.可变Seq&&List3.1 ListBuffer创建3.2 增删改查3.3 相互转化 Appendix1.Scala起别名2.Seq底层3.关于运算符操作: :4.空集合的表示 Seq序列 –Seq表示有序,数据可重复的集合 1.构建集合 …

IOS离线打包uniapp的信息时报错如下的解决方法

IOS离线打包uniapp的信息时报错如下的解决方法 问题描述: Extract app intents metadata 0.1 seconds XExtractAppIntentsMetadata(in target HBuilder from project HBuilder-Hello)cd /Users/whb/space/vpt/vptios/HBuilder-Hello/Applications/Xcode.app/Conte…

短视频素材有版权吗?8个没版权的短视频素材购买

在数字媒体日益盛行的今天,高效地利用视频素材不仅能够提升视觉效果,还能有效传达信息和吸引观众。以下是一些全球知名的视频素材网站,它们提供从基础到高端的各类素材,帮助您在任何视频项目中实现创意和提升影响力。 1. 蛙学府&…

Ansible——Playbook剧本

目录 一、Playbook概述 1.Playbook定义 2.Playbook组成 3.Playbook配置文件详解 4.运行Playbook 4.1Ansible-Playbook相关命令 4.2运行Playbook启动httpd服务 4.3变量的定义和引用 4.4指定远程主机sudo切换用户 4.5When——条件判断 4.6迭代 4.6.1创建文件夹 4.6.2…

STM32单片机ADC功能详解

文章目录 1. ADC概述 2. ADC结构图 3. 引脚定义 4. 转换模式 5. 数据对齐 6. 转换时间 7. 硬件电路 8. STM32使用ADC单/多通道检测数据 1. ADC概述 功能:ADC是一个将模拟信号(如电压)转换为数字信号的设备。在微控制器中&#xff0c…

有哪些方式可以有效地评估精益生产咨询公司的能力?

在寻求精益生产咨询服务的过程中,评估咨询公司的能力至关重要。这不仅关乎企业精益生产转型的成功与否,更直接影响到企业未来的竞争力和发展。那么,有哪些方式可以有效地评估精益生产咨询公司的能力呢? 首先,了解咨询公…

【一起深度学习-----VGG】

VGG 原理图: 原理图: 为啥要使用VGG块呢? 对于AlexNet网络来说,虽然十分高效了,但是它并没有提供一个通用的模板,方便后续的研究。 故采用了模块化的思想,方便重复使用。 其实对比于AlexNet神经…

爬虫学习(3)豆瓣电影

代码 import requests import jsonif __name__ "__main__":url https://movie.douban.com/j/chart/top_list#post请求参数处理(同get请求一致)headers {"User-Agent": Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/53…

智启算力平台基本操作

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

docker部署elasticsearch7.7.0级拼音(pinyin)插件和分词(ik)插件

拉取并启动es docker run -d --namees -p 9200:9200 -p 9300:9300 -e "discovery.typesingle-node" elasticsearch:7.7.0安装pinyin插件 下载pinyin插件 下载ik插件 上传插件到服务器 docker cp /path/to/elasticsearch-analysis-pinyin-7.7.0.zip elasticsearch…

Python读取ASC文件并转换成Excel文件(坐标)

import pandas as pd# 读取asc文件,指定空格为分隔符 df pd.read_csv(out_view2.asc, sep , headerNone)# 去掉空列 df df.dropna(howall, axis1)# 将数据保存到Excel文件 df.to_excel(out_view2.xlsx, indexFalse, headerFalse)效果图

【busybox记录】【shell指令】cut

目录 内容来源: 【GUN】【cut】指令介绍 【busybox】【cut】指令介绍 【linux】【cut】指令介绍 使用示例: 关于参数的特殊说明: 打印行中选定部分 - 输出每行的第n-m个字节 打印行中选定部分 - 输出每行的第n-m个字符 打印行中选定…

Flume+Hadoop:打造你的大数据处理流水线

引言 在大数据处理中,日志数据的采集是数据分析的第一步。Apache Flume是一个分布式、可靠且可用的系统,用于有效地收集、聚合和移动大量日志数据到集中式数据存储。本文将详细介绍如何使用Flume采集日志数据,并将其上传到Hadoop分布式文件系…

视频剪辑图文实例:一键操作,轻松实现视频批量片头片尾减时

视频剪辑是现代媒体制作中不可或缺的一环,而批量处理视频更是许多专业人士和爱好者的常见需求。在剪辑过程中,调整视频的片头片尾时长可以显著提升视频的质量和观感。本文将通过图文实例的方式,向您展示如何一键操作,轻松实现视频…