【软件测试】8. 测试分类

news2024/9/22 19:28:38

目录

1. 为什么要对软件测试进行分类?

2.按照测试目标分类

2.1 界面测试

2.2 功能测试

2.3 性能测试

2.4 可靠性测试

2.5 安全性测试

2.6 易用性测试

3.按照执行方式分类

3.1 静态测试

3.2 动态测试

4. 按照测试方法

4.1 白盒测试

4.2 黑盒测试

4.3灰盒测试

5.按照测试阶段分类

单元测试

集成测试

系统测试

冒烟测试

回归测试

验收测试

6.按照是否手工测试

手工测试

自动化测试

自动化测试和手工测试优缺点

7.按照实施组织划分

8.按照测试地域划分


1. 为什么要对软件测试进行分类?

软件测试时软件生命周期中的一个重要环节,具有较高的复杂性,对于软件测试,可以从不同的角度进行分类,使开发者再软件开发过程中的不同层次、不同阶段对测试工作进行更好的执行和管理测试的分类方法。

2.按照测试目标分类

2.1 界面测试

界面测试(简称UI测试),按照界面的需求(一般是UI设计稿)和界面的设计规则,对我们软件界面所展示的全部内容进行测试和检查,一般包括如下内容:

  • 验证界面内容显示的完整性,一致性,准确性,友好性。比如界面内容对屏幕大小的自适应,换行,内容是否全部清晰展示。
  • 验证整个界面布局和排版是否合理,不同板块字体的设计,图片是否符合需求。
  • 对界面不同控件的测试,比如:对话框,文本框,滚动条,选项按钮等是否可以正常使用,有效和无效是否涉及合理。
  • 界面的布局和色调符合当下时事的发展。
2.2 功能测试

设计功能测试用例,参考产品规格说明书进行用例的编写,具体的测试用例需要使用黑盒设计测试用例的方法,如边界值、等价类、判定表法、正交法、场景法、错误猜测法等。

2.3 性能测试

要进行软件产品的性能问题,要对产品的性能需求进行分析,然后基于系统的性能需求和系统架构,完成性能测试的设计和执行,最后要进行持续的性能调优。

2.4 可靠性测试

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

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

可用性指标一般要达到4个或者5个9。

2.5 安全性测试

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

安全性测试属于非功能测试很重要的一个方面,系统常见的安全漏洞和威胁如下:

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

 安全性测试的方法由代码评审,渗透测试,安全运维等。

2.6 易用性测试

软件产品始终关注用户体验,让用户获得舒适,易用的体验,针对软件这方面的测试称之为易用性测试。

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

3.按照执行方式分类

3.1 静态测试

所谓静态测试就是不实际运行被测软件,而只是静态的检查程序代码,界面或文档中可能存在的错误的过程。

不已测试数据的执行而是对测试对象的分析过程,仅通过分析或检查源程序的设计、内部结构、逻辑、代码风格和规格等来检查程序的正确性。

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

3.2 动态测试

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

大多数软件测试工作都属于动态测试。

4. 按照测试方法

4.1 白盒测试

白盒测试又称为结构测试或者逻辑测试,他一般用来分析程序的内部结构,针对程序的逻辑结构来设计测试用例进行测试。

白盒测试的测试目的是,通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序不同的地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。

白盒测试主要分为静态测试和动态测试两种。静态测试常见于桌面检查、代码审查、代码走查、代码扫描工具。

动态测试方法主要包含六种测试方法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

例如:

if A and B

   then action1

if C and D

   then action2

语句覆盖

每个语句至少执行一次。

针对A and B:A为T且B为T

针对C or D:C为T或者D为T
得出⽤例:
⽤例1:A为T,B为T,C为T,D为F


判定覆盖
A and B 要为T => A=T B=T ①
A and B 要为F => A=T B=F 或者A=F B=T或者 A=F B=F②
C or D 要为T => C=T D=T/F 或者 C=T/F D=T③
C or D 要为F => C=F D=F ④
得出⽤例:
⽤例1:A=T B=T C=T D=F 满⾜①③
⽤例2:A=T B=F C=F D=F 满⾜②④

条件覆盖
A T F
B T F
C T F
D T F
⑤ ⑥
得出⽤例:
⽤例1:A=T B=T C=T D=T
⽤例2:A=F B=F C=F D=F
判定条件覆盖
结合判定覆盖和条件覆盖
得出⽤例:
⽤例1:A=T B=T C=T D=T 满⾜①③⑤
⽤例2:A=F B=F C=F D=F 满⾜②④⑥
条件组合覆盖
A B ∣ C D
T T ∣ T T
T F ∣ T T
F T ∣ T T
F F ∣ T T
每⾏就可以是⼀个⽤例,⼀共四个⽤例。
路径覆盖

总结:

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

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

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

2.黑盒测试的优点

不需要了解程序内部的代码以及实现,不关注软件内部的实现。

从用户角度出发设计测试用例,很容易的知道用户会用到那些功能,会遇到那些问题,锻炼测试人员的产品思维

测试用例是基于软件需求开发文档,不容易遗漏软件需求文档中需要测试的功能。

3.黑盒测试的缺点是不可能覆盖所有代码。

4.黑盒测试用到的测试方法有等价类,边界值,因果图,场景法,错误猜测法等。

4.3灰盒测试

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

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

面试题:

你知道的测试方法有哪些?那种用的比较多?

常见的测试方法有白盒测试和黑盒测试和灰盒测试。开发人员主要用白盒测试和灰盒测试,测试人员主要用白盒测试和黑盒测试,对于测试人员来说,相较于白盒测试,黑盒测试用的多一点。

5.按照测试阶段分类

单元测试

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

到底怎么才算“最小单元”呢,最小单元实际上是认为定义的,一个方法,一个类可以理解为“最小单元”。

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

针对上面给出的冒泡排序,我们尝试实现一个简单的单元测试。

public class Main {
 public static void bubbleSort(int[] arr) {
 int n = arr.length;
 for (int i = 0; i < n; i++) {
 // 每轮遍历将最⼤的数移到末尾
 for (int j = 0; j < n - i - 1; j++) {
 if (arr[j] > arr[j+1]) {
 int temp = arr[j];
 arr[j] = arr[j+1];
 arr[j+1] = temp;
 }
 }
 }
 }
 public static void main(String[] args) {
 // 排序⽆序数组
 Test01();
 // 排序有序数组
 Test02();
 // 排序空数组
 Test03();
 // 排序有重复数组数组
 Test04();
 }
 private static void Test04() {
 int[] act_array1= {1, 1, 29, 12, 12, 9, 9};
 int[] expect_array1 = {1, 1, 9, 9, 12, 12, 29};
 //排序⽆序数组
 bubbleSort(act_array1);
 boolean isSame = Arrays.equals(act_array1, expect_array1);//判断两个数
组内容是不是⼀样
 if(isSame == false) {
 System.out.println("测试不通过");
 } else {
 System.out.println("测试通过");
 }
 }

 private static void Test03() {
 int[] act_array1= {};
 int[] expect_array1 = {};
 //排序⽆序数组
 bubbleSort(act_array1);
 boolean isSame = Arrays.equals(act_array1, expect_array1);//判断两个数
组内容是不是⼀样
 if(isSame == false) {
 System.out.println("测试不通过");
 } else {
 System.out.println("测试通过");
 }
 }
 private static void Test02() {
 int[] act_array1= {1, 2, 3, 4, 5};
 int[] expect_array1 = {1, 2, 3, 4, 5};
 //排序⽆序数组
 bubbleSort(act_array1);
 boolean isSame = Arrays.equals(act_array1, expect_array1);//判断两个数
组内容是不是⼀样
 if(isSame == false) {
 System.out.println("测试不通过");
 } else {
 System.out.println("测试通过");
 }
 }
 private static void Test01() {
 int[] act_array1= {64, 34, 25, 12, 22, 11, 90};
 int[] expect_array1 = {11, 12, 22, 25, 34, 64, 90};
 //排序⽆序数组
 bubbleSort(act_array1);
 boolean isSame = Arrays.equals(act_array1, expect_array1);//判断两个数
组内容是不是⼀样
 if(isSame == false) {
 System.out.println("测试不通过");
 } else {
 System.out.println("测试通过");
}
}
}

Java中也有很多单元测试架构,如Juniit,Junit提供了非常多注解和断言函数,有效提升开发单元测试脚本的效率。

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
public class BubbleSortTest {
 @Test
 public void testBubbleSort() {
 // 测试⽤例:正常情况下的冒泡排序
 int[] arr = {5, 3, 9, 1, 7};
 int[] expected = {1, 3, 5, 7, 9};
 BubbleSort.bubbleSort(arr);
 assertArrayEquals(expected, arr);
 }
 @Test
 public void testBubbleSortEmptyArray() {
 // 测试⽤例:空数组的冒泡排序
 int[] arr = {};
 int[] expected = {};
 BubbleSort.bubbleSort(arr);
 assertArrayEquals(expected, arr);
 }
 @Test
 public void testBubbleSortAlreadySorted() {
 // 测试⽤例:已经有序的数组,排序后应该保持不变
 int[] arr = {1, 2, 3, 4, 5};
 int[] expected = {1, 2, 3, 4, 5};
 BubbleSort.bubbleSort(arr);
 assertArrayEquals(expected, arr);
 }
 @Test
 public void testBubbleSortWithDuplicates() {
 // 测试⽤例:包含重复元素的数组
 int[] arr = {4, 2, 4, 1, 3, 2};
 int[] expected = {1, 2, 2, 3, 4, 4};
 BubbleSort.bubbleSort(arr);
 assertArrayEquals(expected, arr);
 }
集成测试

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

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

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

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

在软件中,“冒烟测试”这一术语描述的是在将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程。在检查了代码后,冒烟测试时确定和修复软件缺陷的最经济有效的方法。冒烟测试设计用于确认代码中的更改会按预期进行运行,且不会破坏整个版本的稳定性。

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

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

回归测试

回归测试是指修改了旧代码后,重新进行测试集确认修改没有引入新的错误或导致其他代码产生错误。

在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。对着系统的庞大,回归测试的成本越来越大,通过选择正确的回归测试策略来改进回归测试的效率和有效性是很有意义的。

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

回归测试和冒烟测试的区别:

1.回归测试:

  • 阶段:在软件开发的后期,通常在没戏代码修改或新增功能后执行。
  • 目的:确保已有的功能仍然正常工作,并且新的更改没有引入新的错误。目的是防止已有功能因为代码修改而出现问题。

2.冒烟测试:

  • 阶段:通常在软件开发的早期阶段进行,主要用于验证基本功能是否正常工作。
  • 目的:确保软件的主要功能能够基本运行,一遍在后续的详细测试阶段发现更深层次的问题。

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

验收测试

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

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

6.按照是否手工测试

手工测试

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

自动化测试

就是在预设条件下运行系统或应用程序,评估运行结构,预先条件应包括正常条件和异常条件。简单说自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。

自动化测试和手工测试优缺点

自动化测试

优点:1.节约成本。2.提高测试人员执行工作效率。3.保障软件的质量。

缺点:1.对测试人员技术要求较高。2.不能发散性测试。

手工测试

优点:1对测试人员技术要求没有自动化技术要求高。2.可以进行发散性测试。

缺点:1.效率低。2.人员,时间成本比起自动化测试都比较高。

7.按照实施组织划分

大型通用软件,在正式发布前,通常需要执行Alpha和Beta测试

α测试(Alpha Testing)
α测试⼜叫内测或者叫a测,其实都是⼀个涵义
α测试通常是公司内部的⽤⼾在模拟实际操作环境下进⾏的测试。α测试的⽬的是评价软件产品的
FLURPS(即功能、可使⽤性、可靠性、性能和⽀持)。 α测试不能由程序员或测试员完成。
β测试(Beta Testing)
β测试⼜叫公测或者叫b测
β测试由软件的最终⽤⼾们在⼀个或多个场所进⾏,这⾥就可以理解为,β测试是正式⽤⼾中的⼀部
分,他们在任意的场合来使⽤软件,⽬的是为了发现软件是否存在⼀系列的问题
通常会发送⼀些邀请码,来邀请⽤⼾参与项⽬测试
α测试与β测试的区别:
测试的场所不同:α测试是在公司内部进⾏测试的,但是β测试是在⽤⼾环境下进⾏测试的
α测试的环境是受开发⽅控制的,⽤⼾的数量相对⽐较少,时间⽐较集中。β测试的环境是不受开发
⽅控制的,⽤⼾数量相对⽐较多,时间不集中。
测试执⾏时机不同:α测试先于β测试执⾏。通常是α测试通过后,在进⾏β测试
测试持续时间⻓短不同:α测试时间没有β测试持续时间⻓

通过第三方测试,可以确保软件的质量,节约成本,去报软件尽快上线。

8.按照测试地域划分

一般会将测试分为国际化测试和本地测试

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

国际化测试需要关注软件的那些特性:布局,时间,日期,数字格式,货币,机器型号……

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

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

相关文章

【WiFi协议的发展学习1】

WiFi协议的发展 WiFi协议的发展2. WiFi协议发展3. WiFi协议发展小结3.1. 发展归纳3.2. 未来展望4. WiFi产品的特点/功能WiFi协议的发展 自20世纪90年代以来, WiFi技术得到了迅猛发展,已成为人们日常生活、工作和学习中不可或缺的组成部分。WiFi协议的发展不仅推动了无线通信…

TL-Tomcat 整体架构和处理请求流程解析

我们写一个servlet后&#xff0c;在web.xml里配上我们的路径。然后把项目打包成war包放入webapps目录下 然后这样就返回了 这个war包里面的东西和这个文件夹其实是一样的&#xff1a; 那么最终我们把war包删掉 还有原来文件夹下其他的东西 只剩下这么个.class文件 其实这…

TikTok流量推送逻辑与IP的关系

在探讨TikTok流量推送逻辑时&#xff0c;很多用户都好奇这一机制是否与用户的IP地址紧密相关。TikTok作为全球知名的短视频社交平台&#xff0c;其流量推送算法无疑是平台成功的关键因素之一。那么&#xff0c;TikTok的流量推送逻辑究竟是如何运作的&#xff1f;它与IP地址之间…

C语言 | Leetcode C语言题解之第385题迷你语法分析器

题目&#xff1a; 题解&#xff1a; struct NestedInteger* helper(const char * s, int * index){if (s[*index] [) {(*index);struct NestedInteger * ni NestedIntegerInit();while (s[*index] ! ]) {NestedIntegerAdd(ni, helper(s, index));if (s[*index] ,) {(*index…

使用InternLM实现谁是卧底游戏

环境 # 创建虚拟环境 conda create -n spy python3.10 -y conda activate spy pip install streamlit1.37.0 openai1.37.1 git clone https://github.com/sci-m-wang/Spy-Game.git cd Spy-Game 修改脚本who_is_the_spy.py中的client 部分 if "client" not in …

pdf转cad软件,5款快速上手转换软件分享

在当今快节奏的工作环境中&#xff0c;图纸文件的格式转换成为设计师、工程师等职业群体日常工作中不可或缺的一环。尤其是将PDF文件转换为CAD格式&#xff0c;不仅能够提升工作效率&#xff0c;还能确保设计数据的准确性和可编辑性。下面给大家分享5款能够快速上手转换软件&am…

快蜗牛OZON数据分析工具,快蜗牛OZON选品工具

现在电商行业蓬勃发展的时代&#xff0c;OZON是俄罗斯及东欧边相当重要的电商平台&#xff0c;它背后的数据里藏着超多商业机会。快蜗牛数据专门针对 OZON 平台搞数据分析的&#xff0c;能帮咱们卖家看透市场&#xff0c;还能指导商家怎么做生意。接下来看快蜗牛对 OZON 的数据…

物理机安装Centos后无法连接网络(网线网络)怎么办?-呕心沥血总结版-超简单

问题情境 高高兴兴的在物理机上装了个centos7,打开一看,哇,网卡没有我的局域网IP,怎么办,已经插上网线了呀,灯也在闪烁,怎么没有网络呀? 其实,是缺少网卡驱动! 问题解决: 1.查询网卡版本 在服务器上输入命令: lspci | grep Ethernet可以看到,我的网卡是RTL8…

Python Excel 操作全面总结

Excel 是我们日常生活中经常使用的数据处理工具&#xff0c;而 Python 作为一种强大的编程语言&#xff0c;在处理 Excel 文件方面也有着广泛的应用。本文将全面总结 Python Excel 操作&#xff0c;包括如何使用 Python 来读取、写入、修改 Excel 文件&#xff0c;以及如何使用…

2024全国大学生数学建模国赛,成员如何分工协作?

文末获取2024国赛数学建模思路代码&#xff0c;9.5开赛后第一时间更新 大家知道&#xff0c;数学建模竞赛是需要一个团队的三个人在三天或四天的时间内&#xff0c;完成模型建立&#xff0c;编程实现和论文写作的任务&#xff0c;对许多第一次参加建模或者建模经验比较欠缺的团…

电饭煲语音应用方案:工业级性能、简单易用,NRK3301语音识别ic

随着人们对电器的需求不断增大&#xff0c;家用电饭煲经过不断地改革和创新&#xff0c;拥有了更多使用的功能&#xff0c;以往电饭煲只用于煮米饭。如今&#xff0c;还增加了煲汤、煮粥、无水焗、收汁入味等十多种功能。 除此之外&#xff0c;如今的电饭煲越来越人性化&#x…

AI周报(8.25-8.30)

AI应用-Beyond Math 的“数字风洞”应用于 F1 赛车 Beyond Math 的首批市场之一是一级方程式赛车&#xff0c;一些车队正在探索使用该软件来加快他们的空气动力学和车辆设计过程。 BeyondMath 的联合创始人达伦加维&#xff08;Darren Garvey&#xff09;告诉TechCrunch&#…

【MySQL-24】万字全面解析<索引>——【介绍&语法&性能分析&使用规则】

前言 大家好吖&#xff0c;欢迎来到 YY 滴MySQL系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的《Lin…

一文打通前端环境搭建

目录 nvm管理安装nvm 管理node配置nvm环境变量切换nvm国内镜像 安装nodenpm 镜像切换打包工具yarn安装yarnyarn切换淘宝镜像 安装vue脚手架开发工具vscode安装(傻瓜式安装) 启动项目vue插件配置 关于yarmyarm常用命令 nvm管理 安装nvm 管理node 访问github地址&#xff1a;ht…

Electron 项目实战 02:打包和自动更新

技术选型 electron-forgeelectron-builder electron-forge 是Electron 官方文档介绍的&#xff0c;打包和发布都包含了&#xff0c;但是包含的坑也非常多。electron-builder下载量和集成打包非常顺利&#xff0c;本教程也是采用electron-buid来介绍打包。大家在技术选型的时候…

火绒补充| 截止目前修改时间| 本文已上全站总榜33

目录 为什补充&#xff1f; 用户界面优化&#xff1a; 性能提升&#xff1a; 启发式检测和行为分析&#xff1a; 恶意网址拦截&#xff1a; 系统修复功能&#xff1a; 网络安全防护&#xff1a; 云查杀引擎&#xff1a; 漏洞修复和补丁管理&#xff1a; 隐私保护&…

算法的学习笔记—把数组排成最小的数(牛客JZ45)

&#x1f600;前言 在编程面试中&#xff0c;经常会遇到需要将问题转化为排序问题的题目。这些问题看似复杂&#xff0c;但只要抓住核心思路&#xff0c;便能迅速解决。今天我们就来看一道这样的题目&#xff1a;如何将一个非负整数数组拼接成最小的数字。 &#x1f3e0;个人主…

Cracking the Safe

原题链接&#xff1a;https://leetcode.cn/problems/cracking-the-safe/description/ 题目要求的是&#xff0c;某个时刻能够打开保险箱的任一最短密码序列&#xff0c;需要包含所有密码子串。 答案应当是一个字符串&#xff0c;任意长度为n的子串的都是一种密码方案。 对于有n…

探索前沿科技:在本地系统上安装和使用Style TTS2进行高质量语音合成

我们正处于一个令人激动的时代&#xff0c;有如此多的选择&#xff0c;不仅在大型语言模型方面&#xff0c;还有现在的文本到语音&#xff08;TTS&#xff09;模型。在这篇文章中&#xff0c;我将向您展示如何在本地系统上轻松安装这个非常出色的模型——Style TTS2&#xff0c…

联蔚盘云亮相CDIE消费品行业峰会

8月28日&#xff0c;由华昂集团主办&#xff0c;专注于消费品行业的2024CDIE行业峰会在广州盛大开幕。联蔚数科携子品牌联蔚盘云亮相本次大会。本次峰会汇聚了众多企业高管&#xff0c;行业领域专家&#xff0c;围绕AI技术前沿、数智营销新策略、会员运营以及品牌增量路径等话题…