【软件测试专栏】测试分类篇

news2024/9/20 17:01:02

  • 博客主页:Duck Bro 博客主页
  • 系列专栏:软件测试专栏
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

测试分类篇

关键词:测试方法的概念、测试类型、先后顺序

目录

  • 测试分类篇
    • 一、为什么需要分类?
    • 二、测试目标分类
      • 1. 界面测试
      • 2. 功能测试
      • 3. 性能测试
      • 4. 可靠性测试
      • 5. 安全性测试
      • 6. 易用性测试
    • 三、执行方式分类
      • 1. 静态测试
      • 2. 动态测试
    • 四、测试方法分类
      • 1. 白盒测试
      • 2. 黑盒测试
      • 3. 灰盒测试
    • 五、测试阶段分类
      • 1. 单元测试
      • 2. 集成测试
      • 3. 系统测试
        • 3.1 冒烟测试
        • 3.2 回归测试
        • 3.3 冒烟和回归测试的区别
      • 4. 验收测试(交付测试)
    • 六、手工测试&自动化测试
      • 1. 手工测试
      • 2. 自动化测试
    • 七、实施组织划分
      • 1. α测试
      • 2. β测试
      • 3. α测试与β测试的区别
    • 八、测试地域划分
      • 1. 软件国际化
      • 2. 国际化测试
      • 3. 本地测试


一、为什么需要分类?

软件测试是软件⽣命周期中的⼀个重要环节,具有较⾼的复杂性,对于软件测试,可以从不同的⻆度
加以分类,使开发者在软件开发过程中的不同层次、不同阶段对测试工作进行更好的执行和管理测试
的分类方法

各分类如下:测试目标分类、执行方式分类、测试方法分类、测试阶段分类、手工测试&自动化测试、实施组织划分、测试地域划分


二、测试目标分类

1. 界面测试

界面测试(简称UI测试)是对软件或应用程序的界面进行测试的过程。这种测试确保用户界面的设计(⼀般是UI设计稿)和布局符合预期,功能按钮和菜单项的位置和功能正确,以及界面元素的交互和响应正常。

在这里插入图片描述

界面测试通常包括以下方面的测试:

  • 布局测试:确保界面元素的布局和对齐正常,没有错位或重叠的问题。
  • 样式测试:验证界面的颜色、字体、图标等样式是否符合设计规范。
  • 交互测试:测试各种按钮、链接和表单等界面元素的交互是否正常,并确保用户可以正确地使用它们。
  • 响应测试:测试界面对用户的操作是否能够正确地响应,并确保界面的响应时间在可接受的范围内。
  • 兼容性测试:测试界面在不同浏览器、操作系统和设备上的表现是否一致,并解决兼容性问题。
  • 多语言测试:如果软件支持多语言界面,还需测试不同语言环境下的界面翻译和显示是否正确。

如何进行界面测试,通俗些就是“找不同”,根据给定的设计图找出实现的页面有哪些界面问题

2. 功能测试

功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。

功能测试是一种软件测试方法,旨在验证软件的各个功能是否按照设计要求正常工作。 根据产品特性、操作描述和用户方案,测试⼀个产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试,用于验证应用程序或网站对⽬标用户能正确工作。使用适当的平台、浏览器和测试脚本,以保证⽬标用户的体验将足够好,就像应用程序是专⻔为该市场开发的⼀样。

功能测试是为了确保程序以期望的方式运行而按功能要求对软件进行的测试,通过对⼀个系统的所有的特性和功能都进行测试确保符合需求和规范

如何进行功能测试可以查看专栏文章 》》》软件测试 — 用例篇

3. 性能测试

性能测试是一种测试应用程序、系统或网络的性能和稳定性的过程。它通常用来评估系统在不同负载条件下的响应时间、吞吐量、资源利用率和容量。

性能测试可以帮助发现系统中的瓶颈和性能问题,并为系统的优化提供数据和指导。常见的性能测试方法包括负载测试、压力测试、容量测试和稳定性测试。

在这里插入图片描述

性能测试通常使用专业的性能测试工具和技术,并结合测试目标和需求进行规划和实施。

4. 可靠性测试

可靠性(Availability)即可用性,是指系统正常运行的能力或者程度,⼀般用正常向用户提供软件服务 的时间占总时间的百分比表示。

可靠性 = 正常运行时间/(正常运行时间+非正常运行时间)*100%

系统非正常运行的时间可能是由于硬件,软件,网络故障或任何其他因素(如断电)造成的,这些因
素 能让系统停⽌工作,或者连接中断不能被访问,或者性能急剧降低导致不能使用软件现有的服务
等。

可用性指标⼀般要求达到4个或5个“9”,即99.99%或者99.999%

如果可用性达到99.99%,对于⼀个全年不间断(7*24的方式)运行的系统,意味着全(252600min),不能正常工作的时间只有52min,不到⼀个小时。如果可用性达到99.999%,意味着全年不能正常工作的时间只有5min。

5. 安全性测试

安全性是指信息安全,是指计算机系统或网络保护用户数据隐私,完整,保护数据正常传输和抵御黑客,病毒攻击的能力。

系统常见的安全漏洞和威胁如下

  • 输入域,如输入恶性或者带有病毒的脚本或长字符串;
  • 代码中的安全性问题,如SQL/XML注入
  • 不安全的数据存储或者传递
  • 数据⽂件,邮件⽂件,系统配置⽂件等⾥面有危害系统的信息或者数据;
  • 有问题的访问控制,权限分配等
  • 假冒ID:身份欺骗
  • 篡改,对数据的恶意修改,破坏数据的完整性

安全性测试的方法有代码评审,渗透测试,安全运维等,常用的静态安全测试工具有,Coverity,IBM Appscan Source,HPFortify,常用的动态安全测试有OWASP的ZAP,HP WebInspect等。其中静态安全测试是常用的安全性测试的方法

6. 易用性测试

易用性测试是一种评估软件、网站或其他技术产品的用户友好性和易用性的方法。它旨在确定用户在使用产品时是否能轻松地完成任务,以及他们对产品界面和功能的满意程度。

易用性包含七个要素:符合标准和规范,直观性,⼀致性,灵活性,舒适性,正确性和实用性。

标准性和规范性
对于现有的软件运行平台,通常其UI标准已经不知不觉地被确立了,成为⼤家的共识。多数用户已经习 惯并且接受了这些标准和规范,或者说已经认同了这些信息所代表的的含义。比如安装软件的界面的外观,

直观性
用户界面的直观性,要求软件功能特性易懂,清晰。用户界面布局合理,对操作的响应在用户的预期之中。

灵活性
软件可以有不同的选项以满足不同使用习惯的用户来完成相同的功能。但是灵活性的设计要把握好
度,不然可能由于太多的用户状态和方式的选择,增加了软件设计的复杂性,和程序实现的难度。 例如手机键盘有九宫格和全键盘,还⽀持手写,满足了不同用户的需求

舒适性
舒适性主要强调界面友好,美观,操作过程顺畅,⾊彩用运恰当,按钮的立体感等


三、执行方式分类

1. 静态测试

静态测试(static testing)是一种软件测试技术,通过对软件源代码、设计文档和其他可视化模型进行分析和检查,以发现潜在的问题和错误。

静态测试不涉及运行软件或执行测试用例,而是依赖于人工检查和工具支持来评估软件的质量和可靠性。

常见的静态测试方式有代码走查,代码扫描工具等。

2. 动态测试

动态测试(dynamic testing),指的是实际运行被测程序,输入相应的测试数据,检查实际输出结
果和预期结果是否相符的过程,所以判断⼀个测试属于动态测试还是静态的,唯⼀的标准就是看是否运行程序。

目前大部分软件测试工作都属于动态测试


四、测试方法分类

1. 白盒测试

白盒测试是一种软件测试方法,也被称为结构测试或透明测试。它的目的是检查和评估软件内部的结构、逻辑和代码,以揭示可能存在的错误和缺陷。

白盒测试通常由开发人员或测试团队执行,他们熟悉软件的内部工作原理和代码实现。这种测试方法通过检查程序的源代码、设计文档和程序执行路径,来验证软件是否按照设计规范和预期工作。

在白盒测试中,测试人员通常使用一系列的测试用例来覆盖软件的不同代码路径和逻辑分支。这些测试用例可涵盖语句覆盖、分支覆盖、路径覆盖等不同的覆盖准则。

白盒测试主要分为静态测试和动态测试两种。
静态测试常见于桌面检查、代码审查、代码走查、代码扫描工具
动态测试方法主要包含:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖

(这里不过多介绍,后面专门写一篇博客进行白盒测试介绍)

总结:

  • 白盒测试主要应用于单元测试阶段
  • 先执行静态设计用例的方法,再执行动态设计测试用例的方法
  • 设计用例⼀般使用路径测试,重点模块追加使用逻辑覆盖方法

2. 黑盒测试

黑盒测试就是在完全不考虑程序逻辑和内部结构的情况下,检查系统功能是否按照需求规格说明书的规定正常使用、是否能适当的接收输入数据而输出正确的结果,满足规范需求。

黑盒测试又称之为数据驱动测试,只注重软件的功能

优缺点

优点:

  • 不需要了解程序内部的代码以及实现,不关注软件内部的实现。
  • 从用户⻆度出发设计测试用例,很容易的知道用户会用到哪些功能,会遇到哪些问题,锻炼测试人员的产品思维
  • 测试用例是基于软件需求开发⽂档,不容易遗漏软件需求⽂档中需要测试的功能。

缺点:

  • 不可能覆盖所有代码。

3. 灰盒测试

灰盒测试,是介于白盒测试与黑盒测试之间的⼀种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。

但是,灰盒测试没有白盒测试详细和完整,黑盒测试是覆盖产品范围最⼴的测试,因此灰盒测试基本是不能够替代黑盒测试,否则需要很⼤的代价,设计非常多的用例。


五、测试阶段分类

1. 单元测试

与编码同步进行,针对软件最小组成单元进行测试,主要采用白盒测试方法,从被测对象的内部结构出发设计测试用例

  • 测试阶段:编码后或者编码前(TDD)
  • 测试对象:最小模块
  • 测试人员:白盒测试工程师或开发工程师
  • 测试依据:代码和注释+详细设计⽂档
  • 测试方法:白盒测试
  • 测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

2. 集成测试

集成测试也称联合测试(联调)、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接
口 及集成后的功能进行正确性检测的测试工作。集成主要⽬的是检查软件单位之间的接口是否正确。

  • 测试阶段:⼀般单元测试之后进行
  • 测试对象:模块间的接口
  • 测试人员:白盒测试工程师或开发工程师
  • 测试依据:单元测试的模块+概要设计⽂档
  • 测试方法:黑盒测试与白盒测试相结合
  • 测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响

3. 系统测试

对通过集成测试的系统进行整体测试,验证系统功能性和非功能性需求的实现。

  • 测试阶段:集成测试通过之后
  • 测试对象:整个系统(软、硬件)
  • 测试人员:黑盒测试工程师
  • 测试依据:需求规格说明⽂档
  • 测试方法:黑盒测试
  • 测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等

回归测试和冒烟测试都属于系统测试。

3.1 冒烟测试

冒烟测试的对象是每⼀个新编译的需要正式测试的软件版本,⽬的是确认软件主要功能和核⼼流程正
常,在正式进行系统测试之前执行。冒烟测试⼀般在开发人员开发完毕后提交给测试人员来进行测试
时,先进行冒烟测试,保证基本功能正常,不阻碍后续的测试

如果冒烟测试通过,则测试人员开始进行正式的系统测试,如果不通过,则测试人员可以让开发人 员重新修复代码直到冒烟测试通过,再开始进行系统测试

3.2 回归测试

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产⽣错
误。在整个软件测试过程中占有很⼤的工作量比重,软件开发的各个阶段都会进行多次回归测试。随着系统的庞⼤,回归测试的成本越来越⼤,通过选择正确的回归测试策略来改进回归测试的效率和有效性是很有意义的。

回归测试主要由人工测试和⾃动化测试进行。

3.3 冒烟和回归测试的区别

冒烟测试(Smoke Testing):
◦ 阶段: 通常在软件开发的早期阶段进行,主要用于验证基本功能是否正常工作。
◦ ⽬的: 确保软件的主要功能能够基本运行,以便在后续的详细测试阶段发现更深层次的问题。

回归测试(Regression Testing):
◦ 阶段: 在软件开发的后期,通常在每次代码修改或新增功能后执行。
◦ ⽬的: 确保已有的功能仍然正常工作,并且新的更改没有引入新的错误。⽬的是防⽌已有功能因为代码修改而出现问题

虽然它们都属于系统测试,但冒烟测试注重最基本的功能,而回归测试关注全面的功能,包括已有功能和新添加的功能。这两种测试类型在测试策略中起到了不同的作用,帮助确保软件质量和稳定性。

4. 验收测试(交付测试)

针对用户需求,对通过系统测试的软件进行交付性测试,以确定系统是否满足验收标准,由用户
或其他授权机构决定是否接受系统。验收测试是部署软件之前的最后⼀个测试操作。它是技术测试的
最后⼀个阶段,也称为交付测试。验收测试的⽬的是确保软件准备就绪,按照项⽬合同、任务书、
双方约定的验收依据⽂档,向软件购买都展示该软件系统满足原始需求。

  • 测试阶段:系统测试通过之后
  • 测试对象:整个系统(包括软硬件)。
  • 测试人员:主要是最终用户或者需求方。
  • 测试依据:用户需求、验收标准
  • 测试方法:黑盒测试
  • 测试内容:同系统测试(功能…各类⽂档等)

六、手工测试&自动化测试

1. 手工测试

手工测试(Manual Testing),就是由人去⼀个⼀个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的⼀个步骤。

优缺点

手工测试优点

  • 对测试人员技术要求没有⾃动化技术要求⾼
  • 可以进行发散性测试

手工测试缺点

  • 效率低
  • 人员,时间成本比起⾃动化测试都比较⾼

2. 自动化测试

自动化测试(Automation Testing)是指使用软件工具或脚本来执行测试任务的一种测试方法。它可以自动化执行一系列测试步骤、输入和验证预期结果,节省了人工执行测试的时间和精力。自动化测试能够降低测试的成本,提高测试的效率和一致性,并且可以在短时间内执行大量的测试用例。

自动化测试可以应用于各种不同的软件测试阶段,包括单元测试、集成测试、系统测试和回归测试等。它可以用于测试不同的软件应用,包括Web应用、移动应用和桌面应用等。(后续会单独出一期关于自动化测试的内容,查看》》》软件测试专栏)

优缺点

⾃动化测试优点

  • 节省成本
  • 提⾼测试人员执行工作效率
  • 保障软件的质量

⾃动化测试缺点

  • 对测试人员技术要求较⾼
  • 不能发散性测试

七、实施组织划分

1. α测试

α测试(Alpha Testing)又叫内测或者叫a测
α测试通常是公司内部的用户在模拟实际操作环境下进行的测试。α测试的⽬的是评价软件产品的FLURPS(即功能、可使用性、可靠性、性能和⽀持)。 α测试不能由程序员或测试员完成。

2. β测试

β测试(Beta Testing)又叫公测或者叫b测
β测试由软件的最终用户们在⼀个或多个场所进行,这⾥就可以理解为,β测试是正式用户中的⼀部分,他们在任意的场合来使用软件,⽬的是为了发现软件是否存在⼀系列的问题。β测试通常会发送⼀些邀请码,来邀请用户参与项⽬测试

3. α测试与β测试的区别

测试的场所不同:α测试是在公司内部进行测试的,但是β测试是在用户环境下进行测试的

α测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。
β测试的环境是不受开发方控制的,用户数量相对比较多,时间不集中。

测试执行时机不同:α测试先于β测试执行。通常是α测试通过后,在进行β测试
测试持续时间长短不同:α测试时间没有β测试持续时间长


八、测试地域划分

按照测试地域划分,⼀般会将测试划分为国际化测试本地测试

1. 软件国际化

在这里插入图片描述
这里以抖音和Tik Tok举例
抖音,是由字节跳动孵化的音乐创意短视频社交软件,上线于2016年9月,是一个面向全年龄的音乐短视频社区平台。

Tik Tok(抖音短视频国际版本)是字节跳动旗下一款短视频社交平台,属于抖音全球化战略的产物,于2017年5月上线。

测试人员需要测试软件在不同语⾔和地区是否能正常工作

2. 国际化测试

国际化测试是指针对软件、网站或应用程序进行的测试,以确认其在多个语言和文化环境下的正确性、适应性和可用性。通常包括以下方面:

  1. 语言测试:测试软件是否能正确显示和处理多种语言,包括各种语言字符和字体的支持等。
  2. 地区测试:测试软件是否能适应不同的地区和国家的文化差异,例如日期和时间格式、数字格式、货币符号等。
  3. 字符编码测试:测试软件是否能正确处理各种字符编码,如ASCII、Unicode等。
  4. 本地化测试:测试软件的界面和文本是否能够被翻译成不同的语言,并且保持正确的语法和语义。
  5. 健壮性测试:测试软件在各种特殊字符和语言环境下的容错能力,确保不会因为输入特殊字符或语言导致崩溃或错误。
  6. 国际化兼容性测试:测试软件是否能够兼容各种操作系统和硬件平台,以及不同的浏览器和设备。

3. 本地测试

本文上面几章都是本地测试


在这里插入图片描述

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

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

相关文章

花生壳二级域名的绑定测试

1、花生壳客户端的登录 左下角显示的就是你的外部IP。 2、新建映射 点击新建映射,就会进入一个管理页面,如下图: 3、可以通过域名访问网站了 就可以二级域名直接访问,在192.168.1.11:8080 上建立的Tomcat网站了,非常…

uniapp写的一个年月日时分秒时间选择功能

代码: <template><view><picker mode"multiSelector" :value"multiIndex" :range"multiRange" change"onMultiChange"><view class"picker">当前选择&#xff1a;{{ formattedDateTime }}</vie…

各业务领域相关方案

电商 电商系统的简单架构 电商系统的简单架构_电商交易平台 系统架构-CSDN博客 订单系统 美团团购订单系统优化记 vivo 全球商城&#xff1a;订单中心架构设计与实践 库存系统 电商库存系统的防超卖和高并发扣减方案 vivo全球商城&#xff1a;库存系统架构设计与实践 资金…

开篇_____何谓安卓机型“工程固件” 与其他固件的区别 作用

此系列博文将分析安卓系列机型与一些车机 wifi板子等工程固件的一些常识。从早期安卓1.0起始到目前的安卓15&#xff0c;一些厂家发布新机型的常规流程都是从工程机到量产的过程。在其中就需要调试各种参数以便后续的量产参数可以固定到最佳&#xff0c;工程固件由此诞生。 后…

30道python自动化测试面试题与答案汇总

对于机器学习算法工程师而言,Python是不可或缺的语言,它的优美与简洁令人无法自拔,下面这篇文章主要给大家介绍了关于30道python自动化测试面试题与答案汇总的相关资料,需要的朋友可以参考下 1、什么项目适合做自动化测试&#xff1f; 关键字&#xff1a;不变的、重复的、规范…

【Agent】Agent Q: Advanced Reasoning and Learning for Autonomous AI Agents

1、问题背景 传统的训练Agent方法是在静态数据集上进行监督预训练&#xff0c;这种方式对于要求Agent能够自主的在动态环境中可进行复杂决策的能力存在不足。例如&#xff0c;要求Agent在web导航等动态设置中执行复杂决策。 现有的方式是用高质量数据进行微调来增强Agent在动…

专业文件搜索工具 | UltraSearch Pro v4.4.1.1015 绿色特别版

大家好&#xff0c;今天电脑天空给大家推荐一款非常实用的文件搜索软件——UltraSearch Pro。这款软件在文件搜索领域有着出色的表现。 UltraSearch Pro 是一款专业的文件搜索工具&#xff0c;以其快速、全面、精准的搜索能力赢得了用户的一致好评。无论是本地硬盘、网络驱动器…

【IPV6从入门到起飞】2-2 获取你的IPV6(Teredo隧道)

【IPV6从入门到起飞】2-2 获取你的IPV6&#xff08;Teredo隧道&#xff09; 1 打工人的忧伤2 Teredo介绍2.1 背景2.2 工作原理 3 Linux 服务器获取IPV63.1 安装3.2 设置开机自启动和启动3.3 开放防火墙 UDP 35443.4 查看IPV6以及ping包测试3.5 修改Teredo服务器3.6 重启服务3.7…

系统思考—关键决策

结‮影构‬响行为&#xff0c;精‮决准‬策创造价值&#xff01; 最‮身近‬边很多‮伙小‬伴找我“助力”&#xff0c;父‮也母‬经常发‮息信‬让我帮忙&#xff0c;忍‮住不‬研究了一下‮些这‬助力活动的“玩法”。说实话&#xff0c;这‮设种‬计从‮构结‬上真‮很的‬…

论文精读:Dirac半金属反常能斯特效应设计

摘要节选&#xff1a; 反常能思特效应&#xff08;ANE&#xff09;产生垂直于温度梯度的横向电压。与用于能量转换的纵向热电相比&#xff0c;它具有电子和热输运解耦、更高的灵活性和更简单的横向结构等优点。 在这项工作中&#xff0c;从理论上证明了一对Dirac节点在Zeeman…

用Leangoo领歌敏捷工具进行迭代管理的实践分享Sprint Backlog

在敏捷开发中&#xff0c;迭代管理是确保项目持续推进、不断优化的重要环节。有效的迭代管理能够帮助团队快速响应变化&#xff0c;持续交付高质量产品。 Leangoo是一款免费的敏捷项目管理工具&#xff0c;为团队提供了直观、高效的看板管理方式来管理迭代过程。本文将探讨如何…

python 正则表达式“.*”和“.*? ”的区别

“.*”和“.*? ”的区别 点号表示任意非换行符的字符&#xff0c;星号表示匹配它前面的字符0次或者任意多次。所以“.*”表示匹配一串任意长度的字符串任意次。这个时候必须在“.*”的前后加其他的符号来限定范围&#xff0c;否则得到的结果就是原来的整个字符串。 “.*? &…

嵌入式开发者必看:如何选择最适合的嵌入式开发数据管理工具?SVN/ClearCase VS. Perforce Helix Core(内含研讨会视频

嵌入式软件开发比以往任何时候都更为复杂&#xff0c;涉及的文件、团队和依赖项都在不断增加。 处理如此大规模的开发工作&#xff0c;需要一个强大的数据管理系统——该系统能够处理大量的大型文件和元数据&#xff0c;简化跨多个分支和用户的变更流程&#xff0c;并支持不断…

初级测评师能力要求

管理和技术的一致性、同一控制点不同层面提出的不同要求 1.恶意代码 &#xff08;1&#xff09;安全区域边界&#xff1a;恶意代码和垃圾邮件防范 a&#xff09; 应在关键网络节点处对恶意代码进行检测和清除&#xff0c;并维护恶意代码防护机制的升级和更新 b&#xff09; 应…

【C++ 面试 - STL】每日 3 题(五)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…

《JavaEE进阶》----10.<SpringMVC应用分层:【三层架构】>

本篇博客我们主要讲解 1.应用的分层&#xff1a;三层架构 2.Spring MVC和三层架构的区别和联系 3.软件设计原则&#xff1a;高内聚低耦合 4.应用分层的好处 5.通过应用分层后的代码示例 一、三层架构简介 阿里开发手册中,关于工程结构部分,定义了常见工程的应用分层结构: 上图…

echarts处理y轴最大小值根据数据动态处理、分割数和是否从0开始

方法 /*** 取整* param value 输入值* param scale 保留位数 正数是整数位&#xff0c;负数是小数位* param isUpper true 向上取整 false向下取整* returns*/ const numberFix (value, scale, isUpper) > {const moreThanZero value > 0value Math.abs(value)if (s…

HarmonyOS NEXT 应用运行异常记录与解决(持续整理版)

问题一 App Launch Failed to get the device apiVersion. 解决方案 进入到设备管理&#xff0c;点击对应开启的模拟器设备&#xff0c;先将模拟器关闭&#xff0c;然后点击查出掉用户数据&#xff0c;再重启。 重启之后&#xff0c;一般能解决。如果遇到还是显示拿不到apiVer…

关于GeoTools技术架构知识简介

目录 前言 一、GeoTools架构说明 1、GeoTools Library 2、各模块说明 3、GeoTools插件 4、GeoTools的扩展功能 5、GeoTools的xml支持 二、从Geotools的源码看架构 1、GeoTools源码 2、各功能模块介绍 3、以library来看相关组件 三、总结 前言 作为使用Java语言开发的…

CAD图纸怎么加密?推荐5个有效防止图纸泄露的方法

随着技术的发展&#xff0c;CAD图纸成为了设计和工程领域不可或缺的一部分。然而&#xff0c;这些图纸往往包含敏感信息&#xff0c;一旦泄露可能会给企业带来严重的商业损失或知识产权问题。因此&#xff0c;采取有效的加密和保护措施至关重要。下面将介绍五种有效的方法来保护…