测试左移和右移怎么做,这篇文章写的太详细了

news2024/10/7 6:44:35

通俗的讲:左移是往开发阶段移,右移是往发布之后移。

正常测试:提测后的测试工作——到——发布验证完成阶段。

  • 测试左移:提测之前的测试。

    如:代码单元测试,代码质量检测,代码接口持续测试 等。

  • 测试右移:发布验证之后的测试。

    如:灰度发布测试的问题,生产服务监测处理,用户反馈问题处理,对客户的技术支持等。

1、什么是测试左移?

测试左移的思想本质是越早的发现不合理的地方,出问题的几率就越低。测试左移的原则支持测试团队在软件开发周期早期和所有干系人合作,因此他们能清晰地理解需求以及设计测试用例去帮助软件“快速失败”,促使团队更早的修改所有的bug。

参与和理解会使测试人员获取产品完整的知识,彻底想清楚各种场景,根据软件行为设计实时的场景,这些都会帮助团队在编码完成之前识别出一些缺陷。

2、什么是测试右移?

测试右移是产品上线了之后也可以进行一些测试活动。当然在生产环境直接做测试是不推荐的,但是我们可以在生产环境做监控,监控线上性能和可用率,一旦线上发生任何问题,尽快反应,提前反应,给用户良好的体验。尽量做到技术人员要比业务方先发现问题。

测试右移其实还可以理解为如果线上发生任何问题,我们有没有能力第一时间发现问题并解决问题,并保证线上数据的一致性或尽可能少的影响线上用户,以及并且实时获取用户反馈

图片

测试左移:本质上是借助工具和测试手段更早地发现问题和预防问题。

  • 需求:对需求、架构和设计模型的测试;

  • 开发:着重增加对单元、组件和服务层的测试;

  • 持续测试:自动化测试。

测试右移:对测试同学来说,版本上线后需要持续关注线上监控和预警,及时发现问题并跟进解决,将影响范围降到最低。

  • 灰度发布:新版本线上测试;

  • 监控:合理的性能监测、数据监控和预警机制;

  • 用户反馈:线上问题处理、跟踪机制。

02

测试左移内容

图片

1、PRD评审
这一点相信很多测试同学都有参与过,需求的PRD评审,但是很多时候可能只是局限于听需求,而缺少了分析or测试需求的部分。测试一方面是熟悉需求的内容,另一方面也是找出需求的问题,确认需求的合理性,判断需求是否全面、正确,上下文具备不二性。

2、研发设计评审
这一点当我们测试在做测试方案、用例设计的时候,研发也在做研发设计,做好了之后通常会有研发设计的评审。测试在这个阶段是非常有必要参与研发设计的评审的。

避免纯粹从黑盒的角度去设计测试用例,导致有一些个别情况下的缺失测试用例覆盖的情况。当然,如果测试具备走读研发代码的能力,参与研发的设计评审,对于提升测试用例覆盖率,会更加的事半功倍

3、单元测试

这一点现在应该只有一些大厂会执行得好一些,很多中小公司都没有严格要求研发必须做单元测试。一方面是中小公司流程上要求普遍不会那么严格,另一方面也是需求开发时间越来越短,导致研发们普遍都没有很多的时间去执行单元测试的工作,为保障按时交货,都直接开发完成就扔给测试去做相应的测试。

在这一点上我依然坚持研发为主、测试为辅的思路。测试辅助研发更好的完成单元测试。为什么不是测试直接去做单元测试呢?因为这一方面需要测试具备白盒测试

4、模块集成联调测试
这一点我们测试可以做一个mock平台或者mock服务提供给研发,帮助研发可以快速mock接口内容,提高联调测试的效率。

图片

5、代码规范检查
这一点也是提高研发提测质量的手段,可以通过各类代码检查工具来规范提高研发的代码质量。比如Java系比较流行的SonarQube, 可以结合进CICD的流程,作为代码提测的必查项。

6、代码复杂度检查
这一点也一样,只是很多公司目前不太在意这一点。其实越复杂的代码,也就意味着其存在bug的可能性越高。同样代码越复杂,也意味着编码质量可能不高或者后期代码维护成本的升高。SonarQube目前也能扫描代码的复杂度,编译器Idea的也有类似的插件提供该项检查,因此这一点也可以列为流程中的必查项。

7、自动化测试
这一点就是测试最熟悉的了,自动化测试,目前主要包括UI自动化和接口自动化,实现的方式也是多种多样,编写脚本的方式、录制回放的方式,用平台、不用平台都OK。重点在于选择适合自身组织的方式,以及如何自动化是否真的提升了测试的效率,避免为了自动化而自动化。

图片

03

测试右移内容

图片

1、灰度发布

又称为“金丝雀发布”,本质就是另外构造一套环境,先把代码发布到这套环境中,只放少量指定的流量进来试用一段时间,通常为试用一周或两周,达到以实际的线上流量检测代码是否存在问题的目的,减少上线后大量流量运行下出问题的概率。引入这样的一个过程,那么测试就会先在灰度环境上做验证,也是目前大厂都必有的一个环节。

通俗的讲:左移是往开发阶段移,右移是往发布之后移。

正常测试:提测后的测试工作——到——发布验证完成阶段。

  • 测试左移:提测之前的测试。

    如:代码单元测试,代码质量检测,代码接口持续测试 等。

  • 测试右移:发布验证之后的测试。

    如:灰度发布测试的问题,生产服务监测处理,用户反馈问题处理,对客户的技术支持等。

1、什么是测试左移?

测试左移的思想本质是越早的发现不合理的地方,出问题的几率就越低。测试左移的原则支持测试团队在软件开发周期早期和所有干系人合作,因此他们能清晰地理解需求以及设计测试用例去帮助软件“快速失败”,促使团队更早的修改所有的bug。

参与和理解会使测试人员获取产品完整的知识,彻底想清楚各种场景,根据软件行为设计实时的场景,这些都会帮助团队在编码完成之前识别出一些缺陷。

2、什么是测试右移?

测试右移是产品上线了之后也可以进行一些测试活动。当然在生产环境直接做测试是不推荐的,但是我们可以在生产环境做监控,监控线上性能和可用率,一旦线上发生任何问题,尽快反应,提前反应,给用户良好的体验。尽量做到技术人员要比业务方先发现问题。

测试右移其实还可以理解为如果线上发生任何问题,我们有没有能力第一时间发现问题并解决问题,并保证线上数据的一致性或尽可能少的影响线上用户,以及并且实时获取用户反馈

图片

测试左移:本质上是借助工具和测试手段更早地发现问题和预防问题。

  • 需求:对需求、架构和设计模型的测试;

  • 开发:着重增加对单元、组件和服务层的测试;

  • 持续测试:自动化测试。

测试右移:对测试同学来说,版本上线后需要持续关注线上监控和预警,及时发现问题并跟进解决,将影响范围降到最低。

  • 灰度发布:新版本线上测试;

  • 监控:合理的性能监测、数据监控和预警机制;

  • 用户反馈:线上问题处理、跟踪机制。

02

测试左移内容

图片

1、PRD评审
这一点相信很多测试同学都有参与过,需求的PRD评审,但是很多时候可能只是局限于听需求,而缺少了分析or测试需求的部分。测试一方面是熟悉需求的内容,另一方面也是找出需求的问题,确认需求的合理性,判断需求是否全面、正确,上下文具备不二性。

2、研发设计评审
这一点当我们测试在做测试方案、用例设计的时候,研发也在做研发设计,做好了之后通常会有研发设计的评审。测试在这个阶段是非常有必要参与研发设计的评审的。

避免纯粹从黑盒的角度去设计测试用例,导致有一些个别情况下的缺失测试用例覆盖的情况。当然,如果测试具备走读研发代码的能力,参与研发的设计评审,对于提升测试用例覆盖率,会更加的事半功倍

3、单元测试

这一点现在应该只有一些大厂会执行得好一些,很多中小公司都没有严格要求研发必须做单元测试。一方面是中小公司流程上要求普遍不会那么严格,另一方面也是需求开发时间越来越短,导致研发们普遍都没有很多的时间去执行单元测试的工作,为保障按时交货,都直接开发完成就扔给测试去做相应的测试。

在这一点上我依然坚持研发为主、测试为辅的思路。测试辅助研发更好的完成单元测试。为什么不是测试直接去做单元测试呢?因为这一方面需要测试具备白盒测试

4、模块集成联调测试
这一点我们测试可以做一个mock平台或者mock服务提供给研发,帮助研发可以快速mock接口内容,提高联调测试的效率。

图片

5、代码规范检查
这一点也是提高研发提测质量的手段,可以通过各类代码检查工具来规范提高研发的代码质量。比如Java系比较流行的SonarQube, 可以结合进CICD的流程,作为代码提测的必查项。

6、代码复杂度检查
这一点也一样,只是很多公司目前不太在意这一点。其实越复杂的代码,也就意味着其存在bug的可能性越高。同样代码越复杂,也意味着编码质量可能不高或者后期代码维护成本的升高。SonarQube目前也能扫描代码的复杂度,编译器Idea的也有类似的插件提供该项检查,因此这一点也可以列为流程中的必查项。

7、自动化测试
这一点就是测试最熟悉的了,自动化测试,目前主要包括UI自动化和接口自动化,实现的方式也是多种多样,编写脚本的方式、录制回放的方式,用平台、不用平台都OK。重点在于选择适合自身组织的方式,以及如何自动化是否真的提升了测试的效率,避免为了自动化而自动化。

图片

03

测试右移内容

图片

1、灰度发布

又称为“金丝雀发布”,本质就是另外构造一套环境,先把代码发布到这套环境中,只放少量指定的流量进来试用一段时间,通常为试用一周或两周,达到以实际的线上流量检测代码是否存在问题的目的,减少上线后大量流量运行下出问题的概率。引入这样的一个过程,那么测试就会先在灰度环境上做验证,也是目前大厂都必有的一个环节。

图片

2、线上监控
项目上线后仍然需要关注服务的运行情况,以便在出现系统问题时能够快速做出反应。这一点主要是测试可以右移参与线上环境监控工具的部署,让整个线上的监控体系更加完善。


即使部署的工作都是运维在做,监控体系已经非常完善,测试也可以接入告警,当业务接口出错或者调用量超过阈值时,测试可以接收到对应的告警信息,和研发一起定位解决问题。

图片

3、用户反馈
测试参与到线上用户反馈的问题中去,帮助复现和定位各类线上用户反馈的问题,既可以解决问题,也可以更多的了解用户实际使用过程中的问题和需求,帮助后续更好的做好需求评审和测试覆盖工作。

4、混沌工程
类似于“故障演练”,通过构造各类异常,验证系统在碰到这些异常时是否有做好对应的监控告警、预案处理,针对性地进行加固,防范,从而避免故障发生时所带来的严重后果。通过对各类异常提前做好监控告警和预案处理,增强系统的健壮性,增强分布式系统的信心。目前已经成为各大厂测试右移

5、A/B测试
ABTest 实验,其实本质上就是把平台的流量均匀分为几个组,每个组添加不同的策略,然后根据这几个组的用户数据指标,例如:留存、人均观看时长、基础互动率等等核心指标,最终选择一个最好的组上线。常用于验证不同的方案设计、算法设计的效果。

图片

04

我们可以做什么

1,测试左移,我们可以做什么

  • 在需求评审时不只是了解需求,更是要去评估需求的质量,分析需求的合理性以及完整性。

  • 代码扫描,代码质量检查,进行单元测试,测试驱动开发,这些都是在开发阶段就引入测试的手段。

  • 测试人员尽早介入测试,参加需求分析,评审。

  • 持续测试:自动化测试。

对于测试左移其实我们还有很多东西要做,就好像一开始说到的都是为产品质量服务,那么在研发流程中的任何角色、人员都要为质量服务。


有哪些活动可以提高质量上限(举例)?

  • 健康的项目流程(合理并且严格遵守的项目流程)

  • 合理的需求分析(评估需求的质量,分析需求的合理性以及完整性)

  • 出色的系统架构

  • 完整的系统设计(评估设计的质量,分析需求的合理性以及完整性)

  • 充分利用静态代码扫描

  • 进行研发标准的定义

  • 更早的测试分析(先于开发完成需求的分析,做好各种评审的准备)

  • 尽早的测试执行(提早参与测试执行,在集成前就发现一些问题)

有哪些活动可以提高质量下限(举例)?

  • 健康的测试流程

  • 优秀的测试用例

  • 合理的测试计划

  • 合适的自动化

  • 适当的探索式测试

  • 开发自测(TDD、BDD,测试提供更好的用例、技术支持)

  • 团队质量意识的培养

对于测试左移,也需要一个重要的基础,工程习惯,SDLC成熟度,测试分层,持续集成,链路上延展发布的节奏,纵深上需要贴合业务的专精领域的深度探索,代码扫描(规范,问题,安全,异常等),CR, 代码提交行为分析,test double(mock , fake, stub,dummy), UT, 自动化,验收测试等。左移需要工程效率具备不亚于研发的代码能力


因此对于测试左移,笔者认为可以围绕质量服务思想展开,参与人员则不仅仅局限于测试人员当然实践起来会存在一些问题,例如笔者团队实践起来,就出现了

  • 测试要求提供概要设计、接口文档!!!

  • 测试要求单元测试必须通过!!!

  • 测试干预需求设计!!!

很多人都认为是测试在要求完成一些没必要的事情,测试在干预我的工作。其实问题的矛盾点在于前面说过的一句话:

不管是测试左移还是测试右移,都是为产品质量服务。不要把提测认为是测试活动的开始,上线是测试活动的结束,更不要认为质量只是测试同学需要关注的。对于测试左移的落实,最重要的就是全员质量服务意识的培养
 

2,测试右移,我们可以做什么

  • 测试上线及时验证,有问题,开发快速回滚代码

  • 上线后开发监控服务日志,日志报错,代码回滚

  • 监控服务流量,出现流量报警快速定位问题

  • 闭环的线上问题反馈-检查-解决-更新流程

  • 更便捷的日志查看、回传服务 

  • 丰富有效的log,便于问题的快速定位

  • 丰富的监控指标(例如业务异常点指标)

  • 成本监控(例如短信发送等)

  • 关键指标每日监控(服务器指标)

  • 生产数据监控(警报)(通过sql语句实现生产数据监控,例如是否有多个订单号一样的订单出现等)

  • 用户反馈问题及时跟进,针对缺陷,通知开发尽快解决,针对体验,通知产品打磨细节。

因此对于测试右移,我认为可以围绕问题反馈、发现、定位、监控展开,参与人员则不仅仅局限于运维人员当然一样的,实践起来也是存在问题,除了技术问题之外,还有例如:   

  • 线上监控搭建后无人使用

  • 线上问题反馈机制,业务人员不配合等等

  • 监控指标不合理,反而被认为增加服务器负载

测试右移的落实,除了质量服务的培养,更加重要的反而可能是:完善的反馈、发现、定位,在监控架构完善后,怎么更好的与项目流程结合,不要让其成为累赘。

2、线上监控
项目上线后仍然需要关注服务的运行情况,以便在出现系统问题时能够快速做出反应。这一点主要是测试可以右移参与线上环境监控工具的部署,让整个线上的监控体系更加完善。


即使部署的工作都是运维在做,监控体系已经非常完善,测试也可以接入告警,当业务接口出错或者调用量超过阈值时,测试可以接收到对应的告警信息,和研发一起定位解决问题。

图片

3、用户反馈
测试参与到线上用户反馈的问题中去,帮助复现和定位各类线上用户反馈的问题,既可以解决问题,也可以更多的了解用户实际使用过程中的问题和需求,帮助后续更好的做好需求评审和测试覆盖工作。

4、混沌工程
类似于“故障演练”,通过构造各类异常,验证系统在碰到这些异常时是否有做好对应的监控告警、预案处理,针对性地进行加固,防范,从而避免故障发生时所带来的严重后果。通过对各类异常提前做好监控告警和预案处理,增强系统的健壮性,增强分布式系统的信心。目前已经成为各大厂测试右移

5、A/B测试
ABTest 实验,其实本质上就是把平台的流量均匀分为几个组,每个组添加不同的策略,然后根据这几个组的用户数据指标,例如:留存、人均观看时长、基础互动率等等核心指标,最终选择一个最好的组上线。常用于验证不同的方案设计、算法设计的效果。

图片

04

我们可以做什么

1,测试左移,我们可以做什么

  • 在需求评审时不只是了解需求,更是要去评估需求的质量,分析需求的合理性以及完整性。

  • 代码扫描,代码质量检查,进行单元测试,测试驱动开发,这些都是在开发阶段就引入测试的手段。

  • 测试人员尽早介入测试,参加需求分析,评审。

  • 持续测试:自动化测试。

对于测试左移其实我们还有很多东西要做,就好像一开始说到的都是为产品质量服务,那么在研发流程中的任何角色、人员都要为质量服务。


有哪些活动可以提高质量上限(举例)?

  • 健康的项目流程(合理并且严格遵守的项目流程)

  • 合理的需求分析(评估需求的质量,分析需求的合理性以及完整性)

  • 出色的系统架构

  • 完整的系统设计(评估设计的质量,分析需求的合理性以及完整性)

  • 充分利用静态代码扫描

  • 进行研发标准的定义

  • 更早的测试分析(先于开发完成需求的分析,做好各种评审的准备)

  • 尽早的测试执行(提早参与测试执行,在集成前就发现一些问题)

有哪些活动可以提高质量下限(举例)?

  • 健康的测试流程

  • 优秀的测试用例

  • 合理的测试计划

  • 合适的自动化

  • 适当的探索式测试

  • 开发自测(TDD、BDD,测试提供更好的用例、技术支持)

  • 团队质量意识的培养

对于测试左移,也需要一个重要的基础,工程习惯,SDLC成熟度,测试分层,持续集成,链路上延展发布的节奏,纵深上需要贴合业务的专精领域的深度探索,代码扫描(规范,问题,安全,异常等),CR, 代码提交行为分析,test double(mock , fake, stub,dummy), UT, 自动化,验收测试等。左移需要工程效率具备不亚于研发的代码能力


因此对于测试左移,笔者认为可以围绕质量服务思想展开,参与人员则不仅仅局限于测试人员当然实践起来会存在一些问题,例如笔者团队实践起来,就出现了

  • 测试要求提供概要设计、接口文档!!!

  • 测试要求单元测试必须通过!!!

  • 测试干预需求设计!!!

很多人都认为是测试在要求完成一些没必要的事情,测试在干预我的工作。其实问题的矛盾点在于前面说过的一句话:

不管是测试左移还是测试右移,都是为产品质量服务。不要把提测认为是测试活动的开始,上线是测试活动的结束,更不要认为质量只是测试同学需要关注的。对于测试左移的落实,最重要的就是全员质量服务意识的培养
 

2,测试右移,我们可以做什么

  • 测试上线及时验证,有问题,开发快速回滚代码

  • 上线后开发监控服务日志,日志报错,代码回滚

  • 监控服务流量,出现流量报警快速定位问题

  • 闭环的线上问题反馈-检查-解决-更新流程

  • 更便捷的日志查看、回传服务 

  • 丰富有效的log,便于问题的快速定位

  • 丰富的监控指标(例如业务异常点指标)

  • 成本监控(例如短信发送等)

  • 关键指标每日监控(服务器指标)

  • 生产数据监控(警报)(通过sql语句实现生产数据监控,例如是否有多个订单号一样的订单出现等)

  • 用户反馈问题及时跟进,针对缺陷,通知开发尽快解决,针对体验,通知产品打磨细节。

因此对于测试右移,我认为可以围绕问题反馈、发现、定位、监控展开,参与人员则不仅仅局限于运维人员当然一样的,实践起来也是存在问题,除了技术问题之外,还有例如:   

  • 线上监控搭建后无人使用

  • 线上问题反馈机制,业务人员不配合等等

  • 监控指标不合理,反而被认为增加服务器负载

测试右移的落实,除了质量服务的培养,更加重要的反而可能是:完善的反馈、发现、定位,在监控架构完善后,怎么更好的与项目流程结合,不要让其成为累赘。

一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九, 银行业务测试

十,大数据测试和业务分析

 

 十一:项目实战

 

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

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

相关文章

为什么电商使用高匿代理ip更有效果?

前言 随着电商业务的不断发展,越来越多的电商平台开始使用代理IP作为一种有效的反爬虫手段。而高匿代理IP作为代理IP中的一种,其相较于其他类型的代理IP可以更好地保护电商业务的隐私和安全,从而更加有效地为电商平台服务。本文将从代理IP的…

苹果Mac电脑音频处理工具:iZotope RX 10 最新 for mac

iZotope RX 10是一款知名的音频修复和后期处理工具。它因其出色的音频修复功能和强大的音频编辑工具而被广泛应用于音乐制作、电影后期制作、广播电视等领域。 以下是iZotope RX 10的一些主要功能和特点: 音频修复:iZotope RX 10具备强大的音频修复功能…

北邮22级信通院数电:Verilog-FPGA(6)第六周实验:全加器

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 先抄作业!!!&am…

机器人系统 ROS 常用命令行工具

1. 启动ros 主节点 roscore roscore运行成功如图: 1.1 rosrun 启动服务节点 例子:启动一个小乌龟节点 rosrun turtlesim turtlesim_node运行结果如图: 1.2 启动键盘控制 打开新的命令窗口,启动turtle_teleop_key 节点 rosr…

三步搞定查分系统

成绩查询系统,简单来说,就是一个让学生能够自助查询成绩的系统。无论是在学校、培训机构,还是在家庭教育中,成绩查询都是一个重要的环节。那么如何建立一个简单实用的成绩查询系统呢?下面就为你揭秘三步打造查分系统的…

ubuntu1804服务器设置静态IP

修改/etc/netplan/00-install-config.yaml文件中的内容 查看网关命令是route -n

【广州华锐互动】关于物理力学的3D实验实操平台

在科学的广阔领域中,物理力学是一个至关重要的分支,它探索了物体在力作用下的运动规律。然而,传统的物理实验往往需要复杂的设备和大量的操作,这对于学生来说是一项巨大的挑战。为了解决这个问题,广州华锐互动开发了物…

GoLong的学习之路(二)语法之基本数据类型

书接上回:我在GoLong的学习之路(一)中在常量最后说了iota的作用。今天这里我在介绍一下我学习Go语言中基本数据类型。 文章目录 Go中的基本数据类型整型特殊整型数字字面语法 浮点型复数布尔值字符串字符串转义符多行字符字符串的常用操作&am…

小程序 swiper滑动

整个红色区域为可滑动区域&#xff0c;数字1区域为展示区域&#xff0c;数字2为下一个展示模块 <scroll-view class"h_scroll_horizontal" enhanced"ture" bind:touchend"touchEnd" bind:touchstart"touchStart"><view clas…

【iOS】——知乎日报第一周总结

文章目录 一、框架和布局问题二、线程冲突问题三、下拉刷新问题四、添加网络请求的图片五、时间标题设置问题 一、框架和布局问题 仿写知乎日报用到的框架依旧是MVC框架&#xff0c;所以一开始要想好该怎么搭建大体框架&#xff0c;对于各个模块该怎么分配&#xff0c;需要用到…

java--自增自减运算符

1.自增自减运算符 注意&#xff1a;、--只能操作变量&#xff0c;不能操作字面量的。 2.自增自减的使用注意事项 1.、--如果不是单独使用(如果在表达式中、或者同时有其它操作)&#xff0c;放在变量前后会存在明显区别 1.1放在变量前面&#xff0c;先对变量进行1、-1&#xff…

关于unicode视觉、存储长度的事儿

问题&#xff1a;unicode 找不到合适的正则 字符串视觉长度 使用lodash&#xff1b; import toarray from lodash.toarray; toarray(str);unicode视觉长度 在字符串视觉的基础上判断每个元素的length是否大于1来累积&#xff1b; 字节长度 Array.from(str).length 问题举…

Java数据结构之稀疏数组

目录 线性结构与非线性结构线性结构非线性结构 稀疏数组应用场景 代码实现二维数组转稀疏数组稀疏数组转二维数组 线性结构与非线性结构 线性结构 数据结构分两种&#xff0c;线性与非线性&#xff0c;线性结构的数据元素之间存在一对一的关系。 一对一指的是每个数据元素都…

淘宝app商品详情源数据API接口(解决滑块问题)可高并发采集

通过API接口采集淘宝商品列表和app商品详情遇到滑块验证码的解决方法&#xff08;带SKU和商品描述&#xff0c;支持高并发&#xff09;&#xff0c;主要是解决了高频情况下的阿里系滑块和必须要N多小号才能解决的反扒问题&#xff0c;以后都可以使用本方法&#xff1a; 大家都…

Qt+树莓派4B窗口半透明效果实现

文章目录 前言一、窗口半透明&#xff0c;窗口部件不透明1、构造函数中的设置2、paintEvent3、效果4、树莓派4B配置5、最终效果 前言 在树莓派4B下&#xff0c;使用Qt开发窗口半透明而窗口部件不透明效果时,发现窗口没能正常实现半透明效果,而是显示纯黑色背景。同样的代码在wi…

Windows 95 的辉煌诞生历史

1992 年 2 月&#xff0c;Windows 3.1 的研发即将结束&#xff0c;而 Windows 团队正忙得不亦乐乎地计划他们的下一盘大棋。到了 3 月 5 日&#xff0c;他们终于悠哉悠哉地敲定了战略大计&#xff1a;横扫桌面、笔记本、移动设备以及时髦的触控笔设备。至于那些高大上的服务器和…

基于springboot+vue网上书城系统53

大家好✌&#xff01;我是CZ淡陌。一名专注以理论为基础实战为主的技术博主&#xff0c;将再这里为大家分享优质的实战项目&#xff0c;本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路…

Qt使用一行代码轻松改变按钮图标颜色

Qt使用一行代码轻松改变QPushButton QToolButton图标颜色 需求&#xff1a;Qt程序主界面改变主题颜色时&#xff0c;例如白色背景色切换为深色模式&#xff0c;背景会变成深色。通常按键的图标会使用黑色&#xff0c;这时应该将图标改为白色系&#xff0c;应该轻松快捷去实现&…

【Java开发实战攻关】「JPA技术专题」带你一同认识和使用JPA框架

JPA技术专题 一、JPA 介绍1、JDBC2、JPA是什么 二、搭建 JPA 环境三、JPA 注解四、JPA API1、缓存2、EntityManager3、API 五、关联关系映射1、一对一映射2、单向一对多3、单向多对一4、双向一对多及多对一5、双向多对多 六、JPQL1、createQuery2、createNativeQuery 一、JPA 介…

浪涌保护器SPD产品上的8/20波形与10/350波形的含义

浪涌保护器&#xff08;SPD&#xff09;是用于保护电子设备免受电源浪涌或瞬态电压影响的重要装置&#xff0c;我们在选购SPD相关产品时&#xff0c;会发现在其防雷能力放电电流KA后面还有一个重要参数——8/20us或10/350us&#xff0c;这两个参数究竟表示什么意思呢&#xff1…