当前位置: 首页 > news >正文

【软件测试】设计测试用例

目录

📕引言

🍀测试用例

🚩概念

🚩设计测试用例的万能公式

🏀常规思考+逆向思维+发散性思维

🏀万能公式

🎄设计测试用例的方法

🚩基于需求的设计方法

🏀明确需求中的功能点

🏀结合万能公式设计测试点

🚩具体设计方法

🏀等价类

🏀边界值

🏀正交表法

🏀判定表法

🏀场景法

🏀错误猜测法

🚩更多用例练习

🏀命令行程序

🏀接口


📕引言

本文章重点目标:

测试用例的概念

设计测试用例的万能思路

设计测试用例的方法

  • ◦ 基于需求的设计方法
  • ◦ 具体的设计方法

▪ 等价类 ▪ 边界值 ▪ 判定表法 ▪ 正交法 ▪ 场景法 ▪ 错误猜测法

🍀测试用例

🚩概念

什么是测试用例?

测试用例(TestCase)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。

在很早之前,通过excel表格来编写测试用例,现在用的比较少,现在使用脑图或者思维导图。

注意:笔试的时候编写测试用例题,使用excel表格(会涉及到测试用例的要素)的方式来答题,而面试的时候回答测试用例题(不会涉及到测试用例的要素),按照思维导图的方式一一道来即可。

使用思维导图(现在工作中和面试的时候):

🚩设计测试用例的万能公式

案例:给门锁设计测试用例

可以看出,用例的设计最重要的一点是保证功能是正确的。上图给出的案例,能设计出来的测试用例整体上来说数量是合格的,但是说出来的测试用例不够具体,在笼统了,无法作为测试工作的参考依据,在互联网企业中,这样去设计测试用例的非常少,缺乏经验的同学往往以这样的思路去设计。

🏀常规思考+逆向思维+发散性思维

正确设计测试用例的思想:常规思维+逆向思维+发散性思维

设计测试用例的原则二:

1.测试用例的编写不仅应当根据有效和预料到的输入情况,而且也应该根据无效和未预料到的输入情况。

2.检查程序是否“未做其应该做的”仅是成功的一半,测试的另一半是检查程序是否“做了其不应该做的”。(是上一条原则的必然结果)

3.计划测试工作时不应默许假定不会发现错误。

明白了设计测试用例是思维的正确还往往不够。

若仅仅通过头脑风暴去设计测试用例,那么当我们面对面试官时,能够想出来的用例是寥寥无几的, 所以在设计测试用例的时候需要有思路的去设计。

比如突然让你说出家里的电器,你可能说出电冰箱,电视机,空调......脑袋突然就想不起来了,明明家里的电器很多,但怎么就想不起来,如果有了引导(厨房的电器,客厅的电器,卧室的电器)

🏀万能公式

设计测试用例的万能公式:功能测试+界面测试+性能测试+兼容性测试+易用性测试+安全测试。

简单了解各个公式:

各个公式的具体说明:

  • 功能测试

功能测试是⼀个试图发现程序与其外部规格说明之间存在不⼀致的过程。外部规格说明是⼀份从 最终用户的角度对程序行为的精确描述。功能测试通常是一项黑盒操作。在进行功能测试时,需要对规格说明进行分析以提炼测试用例,本课程中讨论的具体设计测试用例的方法尤其适用于功能测试。 然而,不仅是工作中还是面试中,可能会存在需求不明确的功能?这种情况下该如何进行功能测试?

◦ 查找其他相关文档,来帮助理解所要测试的产品需要完成的目标;

◦ 尽量多参加项目组内的会议,比如需求讨论、设计讨论、计划讨论等,能够加深对产品的理解;

◦ 召集相关人员,对你整理的结果进行讨论,通过评审后,这份文档就可以作为依据来设计你的case了;

◦ 如果是一款已经上线的产品,可以多使用产品,有不懂的问产品经理;

◦ 也可以去看历史bug,可以了解到一些需要关注的东西。

  • 界面测试

对软件界⾯上所有的内容都需要进⾏测试。

要求:

◦ 整体界面测试界面的实现与设计图要求一致。

◦ 界面元素测试

          ▪ 控件操作验证

  • 性能测试

性能测试和功能测试的区别是:功能测试检查软件是否做了,而性能测试测试软件做的好不好。

  • 兼容性测试

软件是部署在硬件系统之上,并依赖所需要的软件环境。如QQ可以在PC端打开,也可以在移动 端打开;移动端又分为IOS系统和Android系统,且市面上手机又有不同的品牌、不同的机型、不同的版本。软件是否能够在不同的环境下正确运行需要测试人员进行验证。

问题:既然市面上有众多版本的机器,那么在执行兼容性测试时难道所有的机型都需要全面覆盖吗?

选取标准: 

• 优先选择使⽤当前产品top级别的机型进⾏测试                                                                                     实际在企业中,后台是可以获取到使⽤产品的机型,并以报表的形式统计在后台,供产品人员        或其他人员制定策略参考。

• 选择主流的浏览器/机型进行测试

  • 易用性测试

易用性测试的标准是检查产品是否具备简单易上手的属性。假如测试人员从来没有安装或使用过 该产品,作为一个新用户,对当前产品是否能够快速适用产品的使用流程。

  • 安全测试

安全测试和性能测试一样都是比较大的领域。常见的安全问题如:

• 隐私数据明文显示。

• 参数未强校验导致SQL注入。

• 越权:普通用户也可以执行管理员权限的操作。

接下来针对水杯进行测试:

除了万能公式之外,还有一个比较常用的测试类型:弱网测试、安装卸载测试

  • 弱网测试

弱网测试的目的就是尽可能保证用户体验,关注的关键点包括:(为了覆盖更多的网络景,wifi,2G,3G)

• 页面响应时间是否可以接受,关注包括热启动、冷启动时间、页面切换、前后台切换、首字时间,首屏时间等。

• 页面呈现是否完成一致。

• 超时文案是否符合定义,异常信息是否显示正常。

• 是否有超时重连。

• 安全角度:是否会发生dns劫持、登陆ip更换频繁、单点登陆异常等。

• 大流量事件风险:是否会在弱网下进行更新apk包、下载文件等大流量动作。

如何进行弱网测试:弱网需要借助工具来构造弱网,这里推荐使用fiddler

1)fiddler配置代理

2)fiddler进行抓包(桌面/移动端)

3)fiddler如何构造弱网条件

首先,当前电脑连上的是手机热点(5G),此时访问一个网站时速度是非常快的。接下来通过Fiddler设置弱网来访问某个网站。

1.打开弱网设置选项(勾选上)

2.打开设置弱网脚本

3.打开弱网设置(crtl+F进行查找)                                                                                                    当打开设置的时候,此时的if条件为真,就会执行if里面的代码;                                                        代码一:上行速率,指客户端发送请求给服务器传输1KB需要多少毫秒,设置数值越大传输速率越慢      代码二:下行速率,指服务器返回给客户端传输1KB需要多少毫秒,设置数值越大传输速率越慢

  • 安装卸载测试

针对需要进行部署的软件,除了软件功能外,我们还需要关注软件的能够成功安装和卸载,一般用于移动软件和客户端软件

注意:在面试和笔试中设计出来的测试用例一定要越多越好,在工作中则不一定,要求测试用例的质量高,用较少的用例覆盖更多的功能。

🎄设计测试用例的方法

🚩基于需求的设计方法

基于需求的设计方法也是总的设计测试用例的方法,在工作中,我们需要参考需求文档/产品规格说明书来设计测试用例。

测试人员接到需求之后,要对需求进行分析和验证,从合理的需求中进一步分析细化需求,从细化的需求中找出测试点,根据这些测试点再去设计测试用例。

以该注册邮箱账号需求为例,我们来设计测试用例。

基本事件流:也就是通用流程,绝大多数用户的操作流程/主流程

扩展事件流:可能出现的流程

🏀明确需求中的功能点

账号注册,账号登陆

🏀结合万能公式设计测试点

🚩具体设计方法

上面根据需求文档先设计初步的测试用例,而部分用例还需要细化,就需要借助具体的设计方法。下面这些具体的方法旨在提高我们的测试思路,和提高我们设计测试用例的能力。

🏀等价类

上述设计的测试用例用例,存在用例还未完全设计完成,“姓名必填,6~15位的字符类型”,这样 一个具体的需求该如何来设计测试用例呢?

测试的时候通过穷举法来测试6位、7位、8位......14位,15位是否测试通过,这样的方法能够满足测试的要求吗?这只是测试了软件是否做了其应该做的,还要测试是否其做了不应该做的,例如小于6的和大于15是否都要测试?试想一下这样一个简单的测试点需要测试多久呢,显示是不符合企业测试要求的。

而等价类法的出现就解决了穷举法不能解决的问题

依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。

借组等价类:有一个等价类,里面有很多数据,从里面选一个数据进行测试,若这个测试通过,则代表等价类中的数据集全部通过。

等价类分类:

  • 有效等价类:对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验证程序是否实现了规格说明中所规定的功能和性能。(例如上述的6-15位)
  • 无效等价类:根据需求说明书,不满足需求的集合。(例如小于6和大于15的)

根据等价类设计测试用例的方式:

1.确定有效等价类和无效等价类(有效等价类:6~15,无效等价类:小于6和大于15)

2.编写测试用例,设计具体测试数据

例如:

缺点:等价类只考虑输入域的分类,没有考虑输入域的组合,需要其他的设计方法和补充。

🏀边界值

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

边界值包含:边界值+次边界值

  • 边界值即给定范围的左数据与右数据
  • 选择次边界值的时候需要根据边界值的有效无效情况来定:                                                      1)若边界值为有效等价类中的数据,则次边界值为无效等价类中的边界                                  2)若边界值为无效等价类中的数据,则次边界值为有效等价类中的边界    

上述的边界值:6   15 (有效);    次边界值:5   16(无效);

继续将上述用例通过边界值补充完整:

🏀正交表法

通过等价类和边界值方法我们完成了部分用例的补充 当前还剩下一个场景的用例未补充完成,“只填写部分选项”,这里到底要设计多少测试用例呢?对于姓名,电子邮箱,密码,确认密码,验证码这5种进行部分填写的组合有很多种,例如姓名填写,密码填写;姓名不填写,密码不填写;姓名不填写,密码填写;姓名填写,密码不填写,对于这两个组合就有4种测试用例,那么上述姓名,电子邮箱,密码,确认密码,验证码的组合就是2^5=32种。

那么只是测试一下是否填写这个用例,就需要测试32种,消耗人力和时间,如何优化呢?

正交法的目的是为了减少用例数目。用尽量少的用例覆盖输入的两两组合。

正交试验设计(Orthogonalexperimentaldesign)是研究多因素多水平的一种设计方法,它是根据正交性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找出最优的水平组合。正交试验设计是一种基于正交表的、高效率、快速、经济的试验。

正交表:

如图最简单的正交表是L4(2^3),含意如下:“L”代表正交表;L下角的数字“4”表示有4横行, 简称行,即要做4次试验;括号内的指数“11”表示有11纵列,简称列,即最多允许安排的因素是11个;括号内的数“2”表示水平数,表的主要部分只有2种数字,即因素有两种水平1与2。

正交表的构成:因素数、水平数、行数。

因素:对指标的影响条件,通常是正交表中的一列。

水平:因素对应的可选项。

正交表的性质:

  • 每一列中,不同的数字出现的次数相等
  • 任意两列中数字的排列方式齐全而且均衡(例如上述第一列和第二列的横行1和1组合在两列中只出现一次,2和1组合在两列中只出现一次)

上述的姓名分为填写和不填写,电子邮箱分为填写和不填写......和我们提到的因素与水平可以一一对应上,即姓名,电子邮箱,密码,确认密码,验证码就是因素,每个因素下就是填写和不填写,也就是水平。

根据正交表的性质,一般人很难通过手动设计出正交表

正交法设计测试用例的步骤:

  • 1. 根据需求找到因素和水平
  • 2. 用allpairs工具生成正交表
  •         a. 将因素和水平写入Excel表格中(表格不需要保存)
  •         b. allpairs目录下创建新的文本文件xxx.txt,复制Excel中的因素和水平,直接粘贴到文本          中保存并退出
  •         c. 使用allpairs命令生成正交表:allpairs.exe xxx.txt > zhengjiao.txt

继续以邮箱注册为例,采用正交法补全剩下的测试用例:

  • 1. 找到因素和水平

因素:姓名、电子邮箱、密码、确认密码、验证码

水平:填写、不填写

  • 2. 用allpairs.exe工具生成正交表
  •      a. 将因素和水平写入Excel表格中(使用微软自带的Excel工具,写出的表格不需要保存)

  •      b. allpairs.exe目录下创建新的文本文件xxx.txt,复制Excel中的因素和水平,直接粘贴到文本中       不要有其他操作之间保存关闭或者不关闭。

  •      c. 使用allpairs.exe工具对txt文件生成正交表文件 => 命令:allpairs.exe text01.txt > ret-test01.txt      将text01.txt文件通过allpairs.exe工具输出正交表文件放到ret-test01.txt文件(该文件不需要新建)
  • 3.进入cmd进行操作

当我们要使用上述命令时,此时我的cmd还在c盘Users路径下。

但是我的allpairs.exe文件在d盘paris路径下

即先跳转到d盘,进入到paris路径中

现在即可对于text01.txt文件通过allpairs.exe工具生成正交表文件

此时该路径下就有ret-test01.txt文件了

打开该文件:里面内容较多,只需关注下图即可。此时由32种测试用例变为6种了,5和6行的~表示可以是任意选项(填写/不填写)

  • 4.根据生成好的正交表来编写测试用例

  • 5.补充遗漏的重要测试用例

原本要测试32中用例,先通过正交表生成的测试用例只有7种了。

注意:allpairs工具生成的正交表和实际的正交表有一定的出入,上述讲到正交表有两个比较严格的性质,对于这两个性质带入我们所生成好的正交表文件(ret-test01.txt)中进行查看,在第一列中,5,6行若都为填写/都不填写就不满足正交表的第一个性质;在第二列和第四列中,横行的填写出现了两次,横行的不填写出现了两次,也不满足上述性质。但是并不影响整体情况。工作中一般不会用到。

🏀判定表法

 通过具体的方法能够将测试用例设计的更加完整和规范。 需求中会存在各种各样的场景,现在我们把需求改成如下的要求:

用户输入的账号中包含admin字符,或者通过内部链接进入注册页面,提交注册按钮成为管理员身份;反之无管理员身份。

通过这个需求可以看出,不同的组合操作可能对应不同的结果。采用正交法无法解决这样的问题。而正交法能够解决需要考虑输入之间的组合关系对应不同结果的场景。

判定表是一种表达逻辑判断的工具,形如:对于两种条件对应4种结果,不同组合对应的结果是不一样的。判定表法非常容易的编写出测试用例

通过该图,可以把所有条件对应的结果清晰的表达出来。我们就需要借助该表来清晰的写出测试用例。

根据判定表法设计测试⽤例的步骤:

  • 1. 确认需求中输入条件和输出条件
  • 2. 找出输入条件和输出条件之间的关系
  • 3. 画判定表
  • 4. 根据判定表编写测试用例

确认了步骤后,我们使用判定表法进一步对上述需求进行测试用例的设计:

1. 确认需求中输入条件和输出条件

 输入条件:账号包含admin字符(a)、内部注册链接(b)、点击注册按钮(c)                                   输出条件:管理员(1)、无管理员(2)

2. 找出输入条件和输出条件之间的关系

3. 画判定表

4. 根据判定表编写测试用例

 a.账号包含admin,非内部注册链接,点击注册按钮,为管理员身份                                                 b. 账号包含admin,内部注册链接,不点击注册按钮,非管理员身份                                               c. 账号不包含admin,内部注册链接,点击注册按钮,为管理员身份                                                 d. 账号包含admin,内部注册链接,点击注册按钮,为管理员身份                                                   e. 账号包含admin,非内部注册链接,不点击注册按钮,非管理员身份                                             f. 账号不包含admin,非内部注册链接,点击注册按钮,非管理员身份                                           g. 账号不包含admin,非内部注册链接,不点击注册按钮,非管理员身份

🏀场景法

现在的软件几乎都是用事件触发来控制流程的(比如步骤一走完才触发步骤二,步骤二走完才会触发步骤三),事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。

通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果的一种方法。用例场景来测试需求是指模拟特定场景边界发生的事情,通过事件来触发某个动作的发生,观察事件的最终结果,从而用来发现需求中存在的问题。我们通常以正常的用例场景分析开始,然后再着手其他的场景分析。 场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所 有的基本流和备用流来完成整个场景。场景主要包括4种主要的类型(一般不关注):正常的用例场景,备选的用例场 景,异常的用例场景,假定推测的场景。

读完上面的概念是不是一脸懵,场景法就是一个常规的流程中,某些阶段可能会出现一些意想不到的情况,常规流程是基本流,从阶段中分析出来的不同情况被称之为备选流,场景法比较考验同学们的发散思维。

以逛街买衣服为例,讲讲场景法的使用方法:

该方法可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,是测试用例更容易理解和执行。

案例:还是根据邮箱账号注册的案例,根据场景法来设计测试用例

根据场景法设计测试用例的步骤

1.确定基本流

2.确定备选流

3.根据备选流补充测试用例

4.编写测试用例

编写测试用例:

1.基本流:输入正确的账号密码,点击注册后系统发出确认邮件并在24H内确认,注册成功。        2.备用流:不输入账号密码,点击注册,提示重新输入                                                                      3.备用流:只输入账号,不输入密码,点击注册,提示重新输入                                                        ......场景法在工作中也是一个非常有用的设计测试用例的思路

🏀错误猜测法

错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。

这个方法强调的是对被测试软件的需求理解以及设计实现的细节把握,还有个人的经验和直觉。

错误推测法和目前流行的“探索式测试方法”的基本思想⼀致,这类方法在敏捷开发模式下的投入产 出比很高,被广泛应用于测试。

例如:当我们一提到某个非常熟悉的人的名字,脑海会立刻浮现对他的评价

“武大郎”:憨厚,老实,为人坦诚,乐于助人

“潘金莲”:美丽,“温柔”,“疼爱丈夫”,“善于交友”,“精通制衣”

这个方法的缺点是难以系统化,并且过度依赖过往经验和个人能力。

案例:

🚩更多用例练习

上面介绍设计测试用例以及方法已经介绍过web场景用例的设计。接下来看看不同题型用例的设计。

🏀命令行程序

存在功能可以在命令行使用zip/unzip命令对文件进行解压缩,这样的场景如何来设计测试用例?

zip命令:

功能测试:对不同的文件类型进行测试

 1)普通的txt文件能够生成zip文件                                                                                                 2)图片/视频/zip文件能够生成zip文件                                                                                         3)多个文件能够生成zip文件(混合文件)                                                                                   4)空文件夹可以生成zip文件                                                                                                         5)错误的命令是否可以解压(zip zip/没有写压缩包文件名称/没有源文件)                                 6)其他参数的测试

界面测试:

1)文件压缩成功命令行提示是否美观

2)文件压缩报错命令行提示是否友好

性能测试:

1)文件大小超过1G时文件是否可以压缩

2)文件大小超过1G时文件压缩消耗的时间是否在合理的时间范围内

兼容性测试:

1)zip工具可以在多系统上使用,如Windows、Linux、Mac

易用性测试:

1)zip命令有使用帮助教程,如zip--help命令下会展示如何使用

安全性:

1)使用zip命令不会泄漏文件内容

🏀接口

后续讲述......

相关文章:

【软件测试】设计测试用例

目录 📕引言 🍀测试用例 🚩概念 🚩设计测试用例的万能公式 🏀常规思考逆向思维发散性思维 🏀万能公式 🎄设计测试用例的方法 🚩基于需求的设计方法 🏀明确需求中…...

Kafka【十三】消费者消费消息的偏移量

偏移量offset是消费者消费数据的一个非常重要的属性。默认情况下,消费者如果不指定消费主题数据的偏移量,那么消费者启动消费时,无论当前主题之前存储了多少历史数据,消费者只能从连接成功后当前主题最新的数据偏移位置读取&#…...

Python 的语法元素(容易忘记的)

文章目录 同步赋值同步赋值的相关操作同步赋值的原理 同步赋值 同步赋值是 Python 语言的一个强大功能,它让代码更加紧凑和高效,尤其是在处理多个变量时。 同步赋值的相关操作 简单同步赋值: 如果你想同时初始化多个变量到不同的值&#x…...

找到字符串中所有字母异位词问题

欢迎跳转我的主页:羑悻的小杀马特-CSDN博客 目录: 一题目简述: 二思路汇总: 三解答代码: 一题目简述: leetcode题目链接:. - 力扣(LeetCode) 二思路汇总: …...

QEMU用户模式测试AARCH64程序

QEMU的两种模式 QEMU(快速模拟器)是一个开源的机器模拟器和虚拟化器,它能够模拟多种处理器架构,并且可以在不同平台上运行。QEMU 支持两种模式:用户模式和系统模式。 用户模式(User Mode)&…...

机器学习(五) -- 监督学习(8) --神经网络2

机器学习系列文章目录及序言深度学习系列文章目录及序言 上篇:机器学习(五) -- 监督学习(8) --神经网络1 下篇: 前言 tips:标题前有“***”的内容为补充内容,是给好奇心重的宝宝看…...

物联网之PWM呼吸灯、脉冲、LEDC

MENU 前言原理硬件电路设计软件程序设计analogWrite()函数实现呼吸灯效果LEDC输出PWM信号 前言 学习制作呼吸灯,通过LED灯的亮度变化来验证PWM不同电压的输出。呼吸灯是指灯光在单片机的控制之下完成由亮到暗的逐渐变化,感觉好像是人在呼吸。 原理 脉冲宽…...

Python利用pyecharts实现数据可视化

小编会持续更新知识笔记,如果感兴趣可以三连支持。闲来无事,水文一篇,不过上手实践一下倒还是挺好玩的,这一块知识说不定以后真可以尝试拿来做数据库的报表显示。 有梦别怕苦,想赢别喊累。 目录 前言 JSON数据格式的…...

网恋照妖镜源码搭建教程

文章目录 前言创建网站1.打开网站设置 配置ssl2.要打开强制HTTPS,用宝塔免费的ssl证书即可,也可以使用其他证书,必须是与域名匹配的3.上传文件至根目录进行解压4.解压后,修改文件 sc.php 里面的内容5.其余探索 前言 前俩年很火的…...

STM32

(以下操作环境为Keil5和proteus8.9) 八种输入输出模式及他们的工作模式 分析如下 总线:总线提供了数据在不同组件(如处理器、内存、输入输出设备等)之间传输的路径,使数据能够快速、准确地在系统内流动。 …...

用手机做抢答器 低预算知识竞赛活动的选择

使用手机作为抢答器是低预算竞赛活动的一个理想选择。随着智能手机的普及,传统抢答器已经被手机抢答器所替代,这种转变不仅降低了成本,而且提供了更大的灵活性和便利性。通过手机扫码登录竞赛软件,参赛者可以直接在手机上进行抢答…...

ELK学习笔记(二)——使用K8S部署Kibana8.15.0

上篇文章我们完成了,ES的集群部署,如果还没有看过上篇文章的兄弟,可以去看看。 ELK学习笔记(一)——使用K8S部署ElasticSearch8.15.0集群 话不多说,接下来直接进入kibana的搭建 一、下载镜像 #1、下载官方…...

报错:CPU指令集的问题

bug描述 我在运行CMAQ中的icon时,遇到bug: Please verify that both the operating system and the processor support Intel(R) X87, CMOV, MMX, FXSAVE, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, POPCNT and AVX instructions.解决办法 经过查询&a…...

Type-C接口诱骗取电快充方案

Type-C XSP08Q 快充协议芯片是一种新型电源管理芯片,主要负责控制充电电流和电压等相关参数,从而实现快速充电功能。Type-C XSP08Q快充协议是在Type-C接口基础上,加入了XSP08Q协议芯片的支持,很大程度上提升了充电速度。 正常情况…...

图像白平衡

目录 效果 背景 什么是白平衡? 实现原理 将指定图色调调整为参考图色调主要流程 示例代码 效果 将图一效果转换为图二效果色调: 调整后,可实现色调对换 背景 现有两张图像,色调不一致,对于模型重建会有影响。因…...

SAP Business One 与无锡哲讯:携手共创企业数字化未来

在当今快速发展的商业世界中,企业的数字化转型已成为提升竞争力的关键。在众多的数字化解决方案中,SAP Business One 以其强大的功能和灵活性脱颖而出。与此同时,无锡哲讯智能科技有限公司作为专业的 SAP 系统服务提供商,为企业带…...

Unity Adressables 使用说明(五)在运行时使用 Addressables(Use Addressables at Runtime)

一旦你将 Addressable assets 组织到 groups 并构建到 AssetBundles 中,就需要在运行时加载、实例化和释放它们。 Addressables 使用引用计数系统来确保 assets 只在需要时保留在内存中。 Addressables 初始化 Addressables 系统在运行时第一次加载 Addressable …...

什么是死锁,如何解决?

什么是死锁? 在并发编程中,死锁是指两个或多个进程在竞争资源时,互相等待无法继续执行的状态。这种情况发生时,每个进程都在等待其他进程释放它们所需要的资源,但同时又不释放自己占有的资源,导致所有进程…...

借助ChatGPT三步,完成课题申报书中研究价值部分写作全攻略指南

大家好,感谢关注。我是七哥,一个在高校里不务正业,折腾学术科研AI实操的学术人。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥(yida985)交流,多多交流,相互成就,共同进步,为大家带来最酷最有效的智能AI学术科研写作攻略。 撰写申请书中的“本课题的学术价值…...

IDEA取消自动选择光标所在行

今天出现了一个怪事: 当我使用IDEA编写代码的时候,单击下一行或者上一行的时候,莫名其妙它会自己选中一行,导致我要么是回车代码直接没了,要么是代码直接给我搞错位了,还得按ctrlz返回,十分的恶…...

VUE2.0 elementUI el-input-number 数据更新,视图不更新——基础积累

今天遇到一个问题,是关于el-input-number组件的,发现数据明明已经更改了,但是页面上组件输入框中还是之前的值。 比如上方输入框中,我输入120.5,就会出现下面的诡异现象 回显此值是120.779,但是页面上输入…...

JS中this指向问题

首先,this的绑定和定义的位置无关,它的指向只和调用方式有关,this只有在运行时才知道指向谁。 一,默认绑定 默认绑定,也可以说是独立函数调用,这时this指向window。 function foo() {console.log(this) …...

大厂面试:小米嵌入式面试题大全及参考答案(130+道 12万长文)

Flink 架构介绍 Flink 是一个分布式流处理和批处理框架,具有高吞吐、低延迟、高可靠等特点。其架构主要由以下几个部分组成: 客户端(Client):负责将作业提交到集群,并与作业管理器进行交互,获取作业的状态信息。客户端可以是命令行工具、IDE 插件或者自定义的应用程序。…...

React 更新界面

文章目录 发现宝藏引入 useState声明和使用状态多个组件的状态管理解析代码 状态的局部性和性能优化结论 发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。 在 React 中&#xff…...

JavaSE-易错题集-001

1. AccessViolationException异常触发后,下列程序的输出结果为( ) 1 2 3 4 5 6 7 8 9 10 11 12 13 static void Main(string[] args) { try { throw new AccessViolationException(); Console.Write…...

【人工智能学习笔记】1_人工智能基础

本系列是个人学习《阿里云人工智能工程师ACA认证免费课程(2023版)》的笔记,仅为个人学习记录,欢迎交流,感谢批评指正 人工智能概述 智能的三大能力:感知、记忆与思维、学习与适应能力人工智能的定义 明斯基…...

【前端】animation动画以及利用vue制作简单的透明度改变动画,包含vue生命周期实现

一. 问题描述 想做一个文字透明度从1到0然后再从0到1的css动画。 二. 代码写法 2.1 animation写法 2.1.1 animation属性key 2.1.2 代码展示 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"…...

mysql优化案例分享

一、mysql介绍 1、InnoDB引擎 mysql5.5.8版本开始后。InnoDB引擎就是默认存储引擎&#xff0c;本文介绍知识点也都是围绕该引擎展开。 知识点1聚集存储 InnoDB引擎采用聚集存储&#xff0c;即每张表的存储都是主键的顺序进行存放&#xff0c;也就是每行存储的物理顺序和主键…...

C语言中结构体struct和联合体union的区别

C语言 文章目录 C语言前言一、什么是结构体二、什么是联合体三、结构体和联合体的区别 前言 一、什么是结构体 在C语言中&#xff0c;结构体指的是一种数据结构&#xff0c;是C语言中聚合数据类型的一类。结构体可以被声明为变量、指针或数组等&#xff0c;用以实现较复杂的数…...

Verilog:【8】基于FPGA实现SD NAND FLASH的SPI协议读写

Verilog&#xff1a;【8】基于FPGA实现SD NAND FLASH的SPI协议读写 在此介绍的是使用FPGA实现SD NAND FLASH的读写操作&#xff0c;以雷龙发展提供的CS创世SD NAND FLASH样品为例&#xff0c;分别讲解电路连接、读写时序与仿真和实验结果。 目录 1 FLASH背景介绍 2 样品申请 3…...