测试用例`

1.什么是测试用例

测试⽤例(Test Case)是为了实施测试⽽向被测试的系统提供的⼀组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素.

2.测试用例的万能公式(重点)

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

1.功能测试
功能测试是⼀个试图发现程序与其外部规格说明之间存在不⼀致的过程。外部规格说明是⼀份从
最终⽤⼾的⻆度对程序⾏为的精确描述。功能测试通常是⼀项⿊盒操作。在进⾏功能测试时,需要对
规格说明进⾏分析以提炼测试⽤例,本课程中讨论的具体设计测试⽤例的⽅法尤其适⽤于功能测试。
然⽽,不仅是⼯作中还是⾯试中,可能会存在需求不明确的功能?这种情况下该如何进⾏功能测试?
◦ 查找其他相关⽂档,来帮助理解所要测试的产品需要完成的⽬标;
◦ 尽量多参加项⽬组内的会议,⽐如需求讨论、设计讨论、计划讨论等,能够加深对产品的理解;
◦ 召集相关⼈员,对你整理的结果进⾏讨论,通过评审后,这份⽂档就可以作为依据来设计你的case了;
◦ 如果是⼀款已经上线的产品,可以多使⽤产品,有不懂的问产品经理;
◦ 也可以去看历史bug,可以了解到⼀些需要关注的东西。

2.界⾯测试
对软件界⾯上所有的内容都需要进⾏测试。
要求:
◦ 整体界⾯测试界⾯的实现与设计图要求⼀致。
◦ 界⾯元素测试
▪ 控件操作验证

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

4.兼容性测试
软件是部署在硬件系统之上,并依赖所需要的软件环境。如QQ可以在PC端打开,也可以在移动
端打开;移动端⼜分为IOS系统和Android系统,且市⾯上⼿机⼜有不同的品牌、不同的机型、不同
的版本。软件是否能够在不同的环境下正确运⾏需要测试⼈员进⾏验证。
问题:既然市⾯上有众多版本的机器,那么在执⾏兼容性测试时难道所有的机型都需要全⾯覆盖吗?
选取标准:
• 优先选择使⽤当前产品top级别的机型进⾏测试
实际在企业中,后台是可以获取到使⽤产品的机型,并以报表的形式统计在后台,供产品⼈员或
其他⼈员制定策略参考。
• 选择主流的浏览器/机型进⾏测试

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


6.安全测试
安全测试和性能测试⼀样都是⽐较⼤的领域。常⻅的安全问题如:
隐私数据明⽂显⽰。
参数未强校验导致SQL注⼊。
越权:普通⽤⼾也可以执⾏管理员权限的操作。

几个测试用例举例:

1.针对无畏契约英雄设计测试用例

2.针对登录页面设计测试用例

 3.场景题:针对优惠券设计测试用例(注意:优惠券可以叠加使用,并且不会冲突)

场景题:优惠券:有三种优惠:

1.某⼀店铺对指定商品打五折

2.全场满300减50(淘宝机制)

3.同⼀家 店的同⼀商品针对第⼆件打⼋折根据这三种优惠来设计测试⽤例


3.弱网测试

弱网测试是指用户在访问网站的过程中出现的网络问题

页面响应时间是否可以接受.

安全角度:是否包含dns劫持,登录ip更换频繁等

进行弱网测试我们一般使用抓包工具(Fiddler),通过抓包修改请求的上行速率和响应的下行速率

将上行速率和下行速率降低我们观察

进行弱网测试后我们发现页面还是可以正常打开


4. 设计测试用例的方法

4.1 等价类法

等价类法就是依据需求将输入划分为若干个等价类.比如我们在注册账号的时候,要求输入长度限制为6~15个字符.我们把所有的情况整合形成一个集合.此时我们只需要在这个集合内抽取一个实例进行测试,假如我们测试10个字符,如果通过测试,我们就认为整个等价类就通过测试.

等价类分为:有效等价类和无效等价类.

还是以注册账号的用户名长度进行举例,规定长度为6,15个字符,那么[6,15]区间的集合就称为有效等价类,而除了这个集合之外的剩下的我们也整合成一个集合就称为无效等价类


4.2 边界值

边界值分析法就是对输⼊或输出的边界值进⾏测试的⼀种⿊盒测试⽅法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试⽤例来⾃等价类的边界

边界值包含:边界值和次边界值.

当我们规定注册账号的用户名是大于等于6并且小于等于15   [6,15]的时候

边界值:6位,15位  就是有效等价类;次边界值:5位或者16位就是无效等价类

当我们规定注册账号的用户名是大于6并且小于15    (6,15)的时候

边界值:6位,15位就是无效等价类;次边界值:7位,14位就是有效等价类


4.3 场景法

现在的软件⼏乎都是⽤事件触发来控制流程的,事件触发时的情景便形成了场景,⽽同⼀事件不同的触发顺序和处理结果就形成事件流.
就是我们平时制定好计划之后原本是按照计划走,但是中间可能会出现小插曲.在每个环节都可能会存在变化

在测试中也要多考虑这些容易出现这些正常流程之外的情况.

还是以注册账号举例

 全面发散性考虑,对于我们测试是很有帮助的.


4.4 正交法

学习正交法,我们首先要学习下正交表

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


正交表的组成 

正交表的性质:
每⼀列中,不同的数字出现的次数相等。
任意两列中数字的排列⽅式⻬全⽽且均衡
正交表的性质非常重要,通过正交表的性质. 正交法的⽬的是为了减少⽤例数⽬。⽤尽量少的⽤例覆盖输⼊的两两组合.
正交法的测试步骤:
1. 找到因素和⽔平
2. ⽤allparis⼯具⽣成正交表
        a. 将因素和⽔平写⼊Excel表格中
        
        b. allparis⽬录下创建新的⽂本⽂件new.txt,复制Excel中的因素和⽔平,直接粘贴到⽂本中保存并退出
        
        c. 使⽤allparis命令⽣成正交表:allparis.exe new.txt>zhengjiao.txt
        
3. 根据正交表编写测试⽤例
4. 补充遗漏的重要测试⽤例

4.5 判定表法

需求:⽤⼾输⼊的账号中包含admin字符,或者通过内部链接进⼊注册⻚⾯,提交注册按钮成为管理员⾝份;反之⽆管理员⾝份。

通过这个需求可以看出,不同的组合操作可能对应不同的结果。采⽤正交法⽆法解决这样的问题。⽽正交法能够解决需要考虑输⼊之间的组合关系对应不同结果的场景。
根据判定表法设计测试⽤例的步骤:
1. 确认需求中输⼊条件和输出条件
2. 找出输⼊条件和输出条件之间的关系
3. 画判定表
4. 根据判定表编写测试⽤例
账号包含admin字符,并且点击了提交按钮--管理员
内部连接进入,点击了注册按钮,--管理员
...........

5.测试分类

5.1 按照测试目标分类

5.1.1 界面测试

界面测试(简称UI测试).指按照界⾯的需求(⼀般是UI设计稿)和界⾯的设计规则,对我们软件界 ⾯所展⽰的全部内容进⾏测试和检查.

验证界⾯内容显⽰的完整性,⼀致性,准确性,友好性。⽐如界⾯内容对屏幕⼤⼩的⾃适应,换
⾏,内容是否全部清晰展⽰;
验证整个界⾯布局和排版是否合理,不同板块字体的设计,图⽚的展⽰是否符合需求;
对界⾯不同控件的测试,⽐如,对话框,⽂本框,滚动条,选项按钮等是否可以正常使⽤,有效
和⽆效的状态是否设计合理;
界⾯的布局和⾊调符合当下时事的发展。

5.1.2 功能测试

功能测试就是对产品的各功能进⾏验证,根据功能 测试⽤例 ,逐项测试,检查产品是否达到⽤⼾要
求的功能。
设计功能测试⽤例,参考产品规格说明书进⾏⽤例的编写,具体的测试⽤例需要使⽤⿊盒设计测试⽤例的⽅法,如等价类、边界值、判定表法、正交法、场景法、错误猜测法等。

5.1.3 性能测试

我们在使⽤软件的时候有时会碰到软件⽹⻚打开时越来越慢,查询数据时很⻓时间才显⽰列表,软件运⾏越来越慢等问题,这些问题都是系统的性能问题引起的
要进⾏软件产品的性能问题,要对产品的性能需求进⾏分析,然后基于系统的性能需求和系统架构完成性能测试的设计和执⾏,最后要进⾏持续的性能调优。

5.1.4 可靠性测试

可靠性(Availability)即可⽤性,是指系统正常运⾏的能⼒或者程度,⼀般⽤正常向⽤⼾提供软件
服务 的时间占总时间的百分⽐表⽰。
可靠性 = 正常运⾏时间/(正常运⾏时间+⾮正常运⾏时间)* 100%

5.1.5 安全测试

安全性是指信息安全,是指计算机系统或⽹络保护⽤⼾数据隐私,完整,保护数据正常传输和抵御
⿊ke,病毒攻击的能⼒。
安全性测试属于⾮功能性测试很重要的⼀个⽅⾯,系统常⻅的安全漏洞和威胁如下
        输⼊域,如输⼊恶性或者带有病毒的脚本或⻓字符串;
        代码中的安全性问题,如SQL/XML注⼊
        不安全的数据存储或者传递
        数据⽂件,邮件⽂件,系统配置⽂件等⾥⾯有危害系统的信息或者数据;
        有问题的访问控制,权限分配等
        假冒ID:⾝份欺骗
        篡改,对数据的恶意修改,破坏数据的完整性

5.1.6 易用性测试

许多产品都应⽤⼈体⼯程学的研究成果,是产品在使⽤起来更加灵活和,舒适。软件产品也始终关注⽤⼾体验,让⽤⼾获得舒适,易⽤的体验,针对软件这⽅⾯的测试称之为易⽤性测试。

5.2 按照执行方式分类

5.2.1 静态测试

所谓静态测试(static testing)就是不实际运⾏被测软件,⽽只是静态地检查程序代码、界⾯或⽂档中可能存在的错误的过程。

5.2.2 动态测试

动态测试(dynamic testing),指的是实际运⾏被测程序,输⼊相应的测试数据,检查实际输出结

果和预期结果是否相符的过程,所以判断⼀个测试属于动态测试还是静态的,唯⼀的标准就是看是否运⾏程序。

⼤多数软件测试⼯作都属于动态测试

5.3 按照测试方式分类

5.3.1 白盒测试

⽩盒测试⼜称为结构测试或逻辑测试,它⼀般⽤来分析程序的内部结构,针对程序的逻辑结构来设
计测试⽤例进⾏测试
⽩盒测试的测试⽬的是,通过检查软件内部的逻辑结构,对软件中的逻辑路径进⾏覆盖测试;在程序不同地⽅设⽴检查点,检查程序的状态
⽩盒测试主要分为静态测试和动态测试两种。静态测试常⻅于桌⾯检查、代码审查、代码⾛查、代
码扫描⼯具
动态测试⽅法主要包含六种测试⽅法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖

简单解释白盒测试的动态测试方法:有下述两个判断语句

1.语句覆盖

每个语句都会执行一次

针对A and B:A为T且B为T
针对C or D:C为T或者D为T
得出⽤例:
⽤例1:A为T,B为T,C为T,D为F
2. 判定覆盖

A and B =>T   A=T && B=T

A and B=>F   A=F  B=T  ||  B=F A=T  ||  A=F, B=F

C or D => T   C=T   D=F|| C=F  D=T  ||  C=T  D=T

C or D => F   C=F   D=F

得出⽤例:
⽤例1(T):A=T B=T C=T D=F 
⽤例2(F):A=T B=F C=F D=F 
3.判定条件覆盖
结合判定覆盖和条件覆盖。
得出⽤例:
⽤例1:A=T B=T C=T D=T 
⽤例2:A=F B=F C=F D=F 
4.条件组合覆盖
A B ∣ C D
T T ∣ T T
T F ∣ T T
F T ∣ T T
F F ∣ T T
每一行就是一个测试用例
5.路径覆盖


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

5.3.2 黑盒测试

⿊盒测试就是在完全不考虑程序逻辑和内部结构的情况下,检查系统功能是否按照需求规格说明书的规定正常使⽤、是否能适当的接收输⼊数据⽽输出正确的结果,满⾜规范需求。 所以,⿊盒测试⼜称之为数据驱动测试,只注重软件的功能
⿊盒测试⽤到的测试⽅法有,等价类,边界值,因果图,场景法,错误猜测法等

5.3.3 灰盒测试

灰盒测试,是介于⽩盒测试与⿊盒测试之间的⼀种测试,灰盒测试多⽤于集成测试阶段,不仅关注
输出、输⼊的正确性,同时也关注程序内部的情况。
但是,灰盒测试没有⽩盒测试详细和完整,⿊盒测试是覆盖产品范围最⼴的测试,因此灰盒测试基
本是不能够替代⿊盒测试,否则需要很⼤的代价,设计⾮常多的⽤例。

5.4 按照测试阶段进行分类

5.4.1 单元测试

就是将一个方法或者一个类看成一个单元进行测试,单元测试一般是开发人员来进行测试

与编码同步进⾏,针对软件最⼩组成单元进⾏测试, 主要采⽤⽩盒测试⽅法 ,从被测对象的内部结
构出发设计测试⽤例

 

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

测试对象:模块间的接⼝ 

测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模
块缺陷对系统的影响
5.4.3 系统测试
对通过集成测试的系统进⾏整体测试,验证系统功能性和⾮功能性需求的实现。
测试对象:整个系统(软、硬件)
测试内容:功能、界⾯、可靠性、易⽤性、性能、兼容性、安全性等
冒烟测试
在进行系统测试之前会先进行"冒烟测试"."冒烟测试"主要是检查代码的主流程是否走得通.
“冒烟测试”这⼀术语描述的是在将代码更改嵌⼊到产品
的源树中之前对这些更改进⾏验证的过程。在检查了代码后,冒烟测试是确定和修复 的最经
济有效的⽅法。冒烟测试设计⽤于确认代码中的更改会按预期运⾏,且不会 整个版本的稳定

 

冒烟测试的对象是每⼀个新编译的需要正式测试的软件版本,⽬的是确认软件主要功能和核⼼流程正常,在正式进⾏系统测试之前执⾏

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

回归测试
回归测试是指修改了旧代码后,重新进⾏测试以确认修改没有引⼊新的错误或导致其他代码产⽣错
误。
回归测试和冒烟测试都属于系统测试。
回归测试和冒烟测试的区别
1. 冒烟测试(Smoke Testing):
阶段: 通常在软件开发的早期阶段进⾏, 主要⽤于验证基本功能是否正常⼯作
⽬的: 确保软件的主要功能能够基本运⾏,以便在后续的详细测试阶段发现更深层次的问
题。
2. 回归测试(Regression Testing):
阶段: 在软件开发的后期, 通常在每次代码修改或新增功能后执⾏
⽬的: 确保已有的功能仍然正常⼯作,并且新的更改没有引⼊新的错误。⽬的是防⽌已有功
能因为代码修改⽽出现问题
虽然它们都属于系统测试, 但冒烟测试注重最基本的功能,⽽回归测试关注全⾯的功能 ,包括已
有功能和新添加的功能。这两种测试类型在测试策略中起到了不同的作⽤,帮助确保软件质量和稳定 性。
5.4.4 验收测试
针对⽤⼾需求,对通过系统测试的软件进⾏交付性测试,以确定系统是否满⾜验收标准,由⽤⼾
或其他授权机构决定是否接受系统。验收测试是部署软件之前的最后⼀个测试操作。它是技术测试的最后⼀个阶段,也称为交付测试
测试对象:整个系统(包括软硬件)。
测试⽅法:⿊盒测试

5.5按照实施组织划分

5.5.1 α测试
α测试⼜叫内测或者叫a测,其实都是⼀个涵义
α测试通常是公司内部的⽤⼾在模拟实际操作环境下进⾏的测试。α测试的⽬的是评价软件产品的
FLURPS(即功能、可使⽤性、可靠性、性能和⽀持)。 α测试不能由程序员或测试员完成。
5.5.2 β测试
β测试⼜叫公测或者叫b测
β测试由软件的最终⽤⼾们在⼀个或多个场所进⾏,这⾥就可以理解为,β测试是正式⽤⼾中的⼀部 分,他们在任意的场合来使⽤软件,⽬的是为了发现软件是否存在⼀系列的问题
这里就是指的就像是游戏在上线之前,会找到一批玩家先体验一番.看是否存在bug

α测试与β测试的区别:
测试的场所不同:α测试是在公司内部进⾏测试的,但是β测试是在⽤⼾环境下进⾏测试的
α测试的环境是受开发⽅控制的,⽤⼾的数量相对⽐较少,时间⽐较集中。β测试的环境是不受开发
⽅控制的,⽤⼾数量相对⽐较多,时间不集中。
测试执⾏时机不同:α测试先于β测试执⾏。通常是α测试通过后,在进⾏β测试

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【深度学习】【目标检测】【OnnxRuntime】【C++】YOLOV5模型部署

【深度学习】【目标检测】【OnnxRuntime】【C】YOLOV5模型部署 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】【目标检测】【OnnxRuntime】【C】YOLOV5模型部署前言Windows平台搭建依赖环境模型转换--pytorch转onnxONNXRuntime推…

Qt:QWebEngineView显示网页失败

今天在新电脑搭建qt开发环境,在运行程序时发现通过QWebEngineView显示的html失败,同样的代码在旧电脑上没有这个问题 分析过程 (1)qt出现如下信息提示 [21296:12076:0325/161831.084:ERROR:platform_handle_in_transit.cc(34)] …

第十六届蓝桥杯模拟二(串口通信)

由硬件框图可以知道我们要配置LED 和按键 一.LED 先配置LED的八个引脚为GPIO_OutPut,锁存器PD2也是,然后都设置为起始高电平,生成代码时还要去解决引脚冲突问题 二.按键 按键配置,由原理图按键所对引脚要GPIO_Input 生成代码,在文件夹中添加code文件夹,code中添加fun.…

uni-app页面怎么设计更美观

顶部 页面最顶部要获取到手机设备状态栏的高度&#xff0c;避免与状态栏重叠或者被状态栏挡住 // 这是最顶部的父级容器 <view :style"{ paddingTop: ${statusBarHeight extraPadding}px }">.... </view> export default {data() {return {statusBarH…

uniapp超简单ios截屏和上传app store构建版本方法

​ 假如使用windows开发ios的应用&#xff0c;上架的时候&#xff0c;你会发现&#xff0c;上架需要ios应用多种尺寸的ios设备的截图&#xff0c;和需要xcode等工具将打包好的ipa文件上传到app store的构建版本。 大部分情况下&#xff0c;我们的公司都没有这么多款ios设备来…

搜广推校招面经六十

soul推荐算法 一、word2vec原理 参考一篇文章入门Word2Vec 二、word2vec正负采样怎么做的、word2vec采用的loss和原理 见【搜广推校招面经四、搜广推校招面经五十二、搜广推校招面经五十七】 不太理解为啥问这么多word2vec&#xff0c;索性直接整理一遍。 三、多路召回融合…

R语言——循环

参考资料&#xff1a;学习R 在R中有三种循环&#xff1a;repeat、while和for。虽然向量化意味着我们可能并不需要大量使用它们&#xff0c;但在需要重复执行代码时&#xff0c;它们是非常有用的。 1、重复循环 R中最容易掌握的循环是repeat。它所做的事情就是反复地执行代码&a…

nginx代理前端请求

一&#xff0c;项目配置 我在 ip 为 192.168.31.177 的机器上使用 vue3 开发前端项目&#xff0c;项目中使用 axios 调用后端接口。 这是 axios 的配置&#xff1a; import axios from axios;const request axios.create({baseURL: http://192.168.31.177:8001,// 设置请求…

老外讲解用Delphi 12.3作web

老外Delphi WebStencils系列教程&#xff0c;从项目入门到发布部署&#xff0c;讲的非常详细&#xff0c;欢迎观看https://www.bilibili.com/video/BV16LZVYpETK

2.Excel :快速填充和拆分重组

一 案例1&#xff1a;快速填充 电子邮件中包含每个人的人名&#xff0c;现在要提取电子邮件中的姓名到名字列。 方法1&#xff1a;将 Nancy 复制到单元格后&#xff0c;邮件会高亮&#xff0c;然后输入A的时候系统就会知道提取名字了。 补充&#xff1a;如果第三个位置输入错误…

股票App开发第一步:如何免费快速的获取股票数据(如何免费获取金融数据)

文章目录 🌱 入坑指南:Python 如何免费获取股市数据!🌴 演示环境 🌴📒 Python 炒股数据,免费午餐,快来尝尝!📒💡 全面又亲民:数据界的“瑞士军刀”!🕰️ 专注历史:老股民的“时光机”!🌟 真正免费:开源社区的“宝藏”!🎣 实在不行,咱就自己捞!⚠…

联核防爆无人叉车:高危环境中的安全搬运守护者

联核防爆AGV无人叉车是专为易燃易爆环境设计的智能搬运设备&#xff0c;其特点、功能与应用场景均围绕“安全”与“智能”核心展开&#xff1a;联核科技官网-AGV叉车十大品牌-无人叉车厂家-自动化叉车-智能搬运码垛机器人-智能叉车系统解决方案专家 一、核心特点 防爆设计电气…

6、进程理论和简单进程创建

一、了解进程推荐看这个视频&#xff0c;很详细 1、概念 进程(Process)程序的运行过程&#xff0c;是系统进行资源分配和调度的独立单元程序的运行过程&#xff1a;多个不同程序 并发&#xff0c;同一个程序同时执行多个任务。 就需要很多资源来实现这个过程。 每个进程都有一…

Java通信

Trae - AI 原生 IDE目录 同步代码块 ​编辑 同步方法​编辑​编辑 二者对比 ​编辑 lock对象 通信 cs架构​编辑​编辑​编辑 mac地址&#xff0c;物理地址​编辑 取地址​编辑 127 0 0 1和IP 127.0.0.1和ipconfig获得的IP地址是什么关系 。127.0.0.1 和通过 ipcon…

K8S学习之基础五十八:部署nexus服务

部署nexus服务 Nexus服务器是一个代码包管理的服务器&#xff0c;可以理解 Nexus 服务器是一个巨大的 Library 仓库。Nexus 可以支持管理的工具包括 Maven &#xff0c; npm 等&#xff0c;对于 JAVA 开发来说&#xff0c;只要用到 Maven 管理就可以了。Nexus服务器作用&#x…

hackmyvm-reversteg

arp-scan -l nmap -sS -v 192.168.222.45 在源码中可以看到 根据下面的提示可以猜测117db0148dc179a2c2245c5a30e63ab0是一个图像文件 将图片下载到本地 隐写术 在两张图片上使用strings,发现有一些可打印的字符串 strings 117db0148dc179a2c2245c5a30e63ab0.jpg base64解码…

通过国内源在Ubuntu20.0.4安装repo

国内三大免费源&#xff1a; 清华大学&#xff1a;清华大学开源软件镜像站 | Tsinghua Open Source Mirror中国科技大学&#xff1a;USTC Open Source Software Mirror阿里云&#xff1a;阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 repo只在清华源网站里搜到&#xff1a;…

基于EFISH-SBC-RK3576的无人机智能飞控与数据存储方案

一、方案背景 民用无人机在电力巡检、农业植保、应急救援等领域快速普及&#xff0c;但传统方案面临‌多协议设备兼容性差‌、‌野外环境数据易丢失‌、‌复杂电磁干扰‌三大痛点。 电鱼智能推出‌EFISH-SBC-RK3576‌&#xff0c;可集成双冗余总线接口与工业级加固存储&#x…

飞牛NAS本地部署小雅Alist结合内网穿透实现跨地域远程在线访问观影

文章目录 前言1. VMware安装飞牛云&#xff08;fnOS&#xff09;1.1 打开VMware创建虚拟机1.3 初始化系统 2. 飞牛云搭建小雅Alist3. 公网远程访问小雅Alist3.1 安装Cpolar内网穿透3.2 创建远程连接公网地址 4. 固定Alist小雅公网地址 前言 嘿&#xff0c;小伙伴们&#xff0c…

Java多线程与高并发专题—— CyclicBarrier 和 CountDownLatch 有什么异同?

引入 上一篇我们了解CountDownLatch的原理和常见用法&#xff0c;在CountDownLatch的源码注释中&#xff0c;有提到&#xff1a; 另一种典型用法是将一个问题分解为 N 个部分&#xff0c;用一个Runnable描述每个部分&#xff0c;该Runnable执行相应部分的任务并对闭锁进行倒计…