什么是持续测试?为什么要持续测试?

测试是软件开发生命周期 (SDLC) 的重要组成部分。SDLC 的每个阶段都应包含测试,以获得更快的反馈并提高产品质量。

我们来聊聊持续测相关话题,如何从持续测试中获得更大的收益。

何谓持续测试

持续测试有助于在软件开发生命周期 (SDLC) 的所有阶段提供更快的质量反馈。在软件开发声明周期中大多数情况下,如果在核心功能逻辑越少做单元测试和自动化测试,那么测试金字塔顶层执行手动探索性测试的压力会非常大,尝尝容易出现质量问题导致项目延期。

这实际上会影响质量,因为在开发完成后发现错误是非常昂贵的。下面是Google修复一个错误的成本,你可以看到当在系统测试阶段发现一个错误时,它的成本高达 5000 美元。

BUG发现阶段花费(美刀)
系统测试5000
集成测试500
编译构建50
单测/自测5

持续测试通过在代码提交到存储库后立即提供早期反馈,来帮助我们评估这种对软件的当前进展的质量。持续测试的主要目标是通过自动化在 SDLC 的所有阶段尽早进行测试,尽可能频繁地进行测试,并更快地获得有关构建的反馈。

使用持续测试,我们可以在所有故障发生后立即介入修复,然后再进入下一阶段,最终有助于节省整体的时间和金钱。

为什么要持续测试

在我之前的一个项目中,我们正在开发一款为 iOS 和 Android 平台开发的移动应用程序。客户希望一切从一开始就实现自动化。任何泄漏到生产中的错误都意味着它将直接影响业务并造成数客户的损失。

我们被要求提出一个自动化计划,在该计划中,将在开发的每个阶段进行测试,以最大限度地降低错误泄漏的风险。因此,我们决定实施测试金字塔并创建一个 CI/CD 管道,在每个阶段连续进行测试。

为了提高产品质量,我们想出了一个计划,在管道的每个阶段都进行测试,一旦出现任何错误信号,就应该在我们进入另一个阶段之前解决它。因此,只要开发人员将代码提交到远程存储库,就会运行以下扫描

  1. 静态代码分析:这将确保遵循最佳编码实践,并在出现任何错误时通过代码坏气味提醒我们。
  2. SecOps 扫描:这将扫描代码和代码中使用的所有库以查找任何安全漏洞,并在出现应注意的漏洞时发出报警。

一旦上述扫描通过,管道将继续前进并在开发环境中运行以下测试:

  1. 单元测试
  2. 集成测试
  3. 系统测试
  4. 端到端测试

上述所有测试将确保代码按预期完美运行。

如果上述任何测试失败,管道将中断并发出预警。提交代码的开发人员有责任修复那些相应的失败测试。这不是玩指责游戏,而是找到破坏构建的提交并修复它。该团队将向开发人员提供帮助以解决问题。

上述所有测试成功通过后,构建将部署到 QA 环境,在 QA 环境中,作为回归测试的一部分,端到端自动化测试将再次在测试构建上运行。一旦端到端自动化测试通过测试构建,需要将选择构建并执行手动探索性测试以发现更多的缺陷。它最终将被部署到验收环境,测试人员团队将在那里进行进一步的测试,最后,构建将部署到生产环境中。

静态代码分析和 SecOps 扫描帮助我们实施最佳编码实践,并通过更新到最新版本或丢弃和使用不太容易出现漏洞的库并经常更新它们来修复易受攻击的库,从而使代码不太容易出现安全问题风险。

虽然我们也在手动完成的探索性测试中发现了问题,但这些问题并不那么严重,大多数问题在初始阶段本身就得到了解决,这为我们提供了更快的反馈。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

SDLC 生命周期中的持续测试

  • 需求变更频繁:随着需求的频繁变更,也需要更改代码,并且我们所做的每一次更改都涉及风险。这里涉及两个风险,更改后的代码是否会按预期工作,另一个是此更改是否会影响现有代码。通过持续测试,我们可以通过设置一个自动化管道来解决这两种风险,该管道将运行单元、集成和最终的自动化回归测试。
  • 持续集成:随着敏捷开发的实施,持续集成得到了广泛的欢迎,开发人员尽可能多地将他们的代码合并到主分支,以使其做好生产准备。在合并发生之前,代码通过在管道中对构建运行自动化测试。如果出现故障,则代码不会合并且会发出预警。
  • 准备好生产:通过持续测试,我们可以做好生产准备,因为一旦开发人员提交代码,我们所有的检查和测试就会在自动化管道上运行。
  • 减少人为错误:在回归测试的情况下,如果编写了自动化测试,它可以作为该功能的文档证明,并有助于减少测试中的人为错误。

持续测试的优势

  • 快速反馈:在传统的软件开发过程中,团队必须等待测试人员的反馈,在开发人员完成功能编写后,测试人员将手动测试构建。在测试人员的反馈之后,他们不得不返工以修复耗时且成本更高的问题。通过持续测试,我们可以更快地获得对新提交代码的反馈,从而节省时间和金钱。
  • 质量融入产品:通过在自动化管道中运行所有测试,从单元、集成、功能、安全、性能和端到端用户,我们可以确保质量融入产品本身并且需要不用担心将其发布到生产环境。
  • 减少错误泄漏:持续测试通过为我们提供有关软件故障的及时更新,有助于消除构建中出现错误的机会。
  • 最小化风险:它还有助于发现风险、解决风险并提高产品质量。

随着对高质量软件的需求不断增长,以及以数字化为核心的经济蓬勃发展,持续测试被认为是一个重要方面。 软件公司需要对 SDLC 中每天发生的频繁变化做出响应,而持续测试就是答案。

持续测试的重要类型

  • 单元测试:这涉及单独测试一段实现某个功能的代码。基本上测试为该功能编写用例覆盖每个方法。此测试的主要目的是检查代码是否按预期工作,这意味着代码的所有功能、输入、输出和性能都符合预期。
  • 集成测试:这涉及一起测试两个模块。此测试的目的是检查两个组件之间的集成是否正常工作。
  • 回归测试:这是使用最广泛的测试,用于检查应用程序的现有功能在最近添加或修改代码存储库后是否按预期工作,
  • 端到端测试:添加这些测试是为了检查软件的端到端工作。这些测试的目的是检查最终用户是否能够端到端地使用应用程序。

云服务平台的作用

在当今快节奏的世界中,软件可以在多个平台上运行,从浏览器到手机和平板电脑。当我们将应用程序发布到生产环境时,我们需要确保它按预期在所有需要的平台上运行,并修复我们发现不工作的地方。

然而要做到这一点,我们需要在相应的设备/浏览器上对其进行测试,以确保它可以无忧无虑地工作。这是可能的,但会花费金钱和时间,因为我们必须购买硬件并提供所需的资源以使其工作。从雇用工程师到建立基础设施。

当我们不断测试时,在不同的浏览器及其各自的版本或具有不同操作系统版本的不同移动设备上执行并行运行,这些服务通过为我们提供所需的设备、浏览器/操作系统及其各种版本来帮助我们持续测试,所以我们及早发现错误并使用早期反馈修复所需的问题并阻止错误泄漏。

结论

质量是软件的重要组成部分,需要在软件中体现。持续测试通过在软件开发生命周期的每个阶段实施测试来帮助我们构建正确的产品。

我们需要为我们构建的每个功能做好生产准备,有必要通过快速失败策略获得快速反馈。有多种可用的测试类型可以帮助我们使用自动化管道实施持续测试。且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

END今天的分享就到处结束了!点赞关注不迷路!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

本地连锁门店经营可以借助系统实现哪些功能?

不少的连锁门店目前还是很基础的ERPPOS收银,其他的还是走传统的手工管理,大多连锁老板知道借助信息化系统可以帮助门店实现精细化管理,提高运营效率,降低成本,增强竞争力,但不知道怎么去做,能做…

快速搭建知识付费平台?我有才,为你提供一站式解决方案

在当今数字化时代,知识付费已经成为一种趋势,越来越多的人愿意为有价值的知识付费。然而,公共知识付费平台虽然内容丰富,但难以满足个人或企业个性化的需求和品牌打造。同时,开发和维护一个属于自己的知识付费平台需要…

《Java 已死、前端已凉》 我的评价是:中肯的

《Java 已死、前端已凉》 我的评价是:中肯的 如题所述 此次包含了前端、后端开发 以下为论述: 文章目录 前端后端当前环境附录:压缩字符串、大小端格式转换压缩字符串浮点数压缩Packed-ASCII字符串 大小端转换什么是大端和小端数据传输中的大…

vscode 文件目录栏缩进

一个好的开发IDE,一定是让人赏心悦目的,这个赏心悦目也一定是包含层级目录的清晰明了!不能像感冒的鼻涕一样一擤一摊子!就像。。。。嗯,算了,断子还是不讲了,怕有些妹子投诉 或发消息批评我。。…

c++原子变量

原子变量 概述 ​ C11提供了一个原子类型std::atomic<T>&#xff0c;通过这个原子类型管理的内部变量就可以称之为原子变量&#xff0c;我们可以给原子类型指定bool、char、int、long、指针等类型作为模板参数&#xff08;不支持浮点类型和复合类型&#xff09;。 ​ …

如何用gpt改写文章 (1) 神码ai

大家好&#xff0c;今天来聊聊如何用gpt改写文章 (1)&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff1a; 如何用GPT改写文章 一、引言 随着人工智能技术的飞速发展&#xff0c;自然语言处理领域取得了重大突…

【一步到位】汽车过户全攻略:轻松搞定,告别繁琐流程

校长车行是一家昆明二手车代办公司&#xff0c;今天我们要聊一聊一个让很多人头疼的问题——汽车过户。相信很多朋友在购买二手车或者需要将车辆转让给他人时&#xff0c;都会遇到这个繁琐的流程。那么&#xff0c;如何才能轻松搞定汽车过户呢&#xff1f;接下来&#xff0c;就…

充电桩定期检测的必要性

充电桩是电动车充电的重要设备&#xff0c;其安全性直接关系到用户的生命财产安全。定期检测可以确保充电桩的正常运行&#xff0c;及时发现并修复潜在的安全隐患&#xff0c;提高充电桩的可靠性和安全性。 充电桩作为一个外部设备&#xff0c;长期暴露在室外环境中&#xff0c…

【cocotb】【达坦科技DatenLord】Cocotb Workshop分享

https://www.bilibili.com/video/BV19e4y1k7EE/?spm_id_from333.337.search-card.all.click&vd_sourcefd0f4be6d0a5aaa0a79d89604df3154a 方便RFM实现 cocotb_test 替代makefile &#xff0c; 类似python 函数执行

快宝技术:连接无代码开发,API集成提升电商营销和用户运营效率

无代码开发&#xff1a;创新的启航 快宝技术自2012年成立至今&#xff0c;一直是无代码开发领域的佼佼者。通过无代码开发平台&#xff0c;快宝技术旨在降低技术门槛&#xff0c;并使非技术人员能够轻松创建和部署应用程序。这不仅使得快递末端软件开发变得高效和便捷&#xf…

【51单片机系列】矩阵按键介绍

本节实现的功能是&#xff1a;通过开发板上的矩阵键盘控制静态数码管显示对应的键值0-F。 文章目录 一、矩阵按键介绍二、硬件设计三、软件设计 一、矩阵按键介绍 独立键盘与单片机连接时&#xff0c;每一个按键都需要单片机的一个I/O口。若某单片机系统需要较多按键&#xff…

快速上手linux | 一文秒懂Linux各种常用命令(中)

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 一、常用目录操作1.1 mkdir 新建目录操作1.2 mrdir 删除空目录1.3 pwd 显示当前所在的工作目录 二、 文件操作命…

系统架构设计师教程(五)软件工程基础知识

软件工程基础知识 5.1 软件工程5.1.1 软件工程定义5.1.2 软件过程模型5.1.3 敏捷模型敏捷开发的特点敏捷方法的核心思想主要敏捷方法简介 5.1.4 统一过程模型 (RUP)RUP的生命周期RUP中的核心概念RUP的特点 5.1.5 软件能力成熟度模型 5.2 需求工程5.2.1 需求获取需求获取的基本步…

2024第一届中国最美乡村文旅产业峰会即将召开

2024第一届中国最美乡村文旅产业峰会将于2024年7月13-14日在京召开。百年变局下的国家经济发展&#xff0c;整体产业经济的下行&#xff0c;央国企及地方龙头企业&#xff0c;均遭遇到了前所未有的发展磨砺&#xff0c;特别是三年疫情后的文旅发展&#xff0c;更面临着一种洗牌…

【MySQL】安装和配置mysql

环境&#xff1a;Centos 7 删除不需要的环境 查看是否有正在运行的服务&#xff1a; ps ajx |grep mysqlps ajx |grep mariadb切换为root用户&#xff0c; 如果存在有服务 systemctl stop mariadb.service 或者 systemctl stop mysqld查看系统下的mysql安装包并删除&#xf…

C语言数据结构-----二叉树(2)堆的深入理解及应用、链式二叉树的讲解及代码实现

前言 本篇文章讲述的内容有部分是上一节写过的。重复内容不会再进行说明&#xff0c;大家可以看上一节内容 链接: C语言数据结构-----二叉树(1)认识数、二叉树、堆及堆的代码实现 文章目录 前言1.使用堆解决TOP-K问题2.向下调整堆的时间复杂度与向上调整堆的时间复杂度对比3.堆…

智能优化算法应用:基于树种算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于树种算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于树种算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.树种算法4.实验参数设定5.算法结果6.参考文献7.MA…

女人感染阴虱的表现?劲松中西医结合医院专家揭示4点

阴虱是一种常见的性传播疾病&#xff0c;由虱子寄生于阴部毛发引起。女性感染阴虱后&#xff0c;通常会有一些特定的症状和表现。了解这些症状有助于及时发现并治疗阴虱感染。 1. 瘙痒&#xff1a;阴虱叮咬阴部皮肤时会产生强烈的瘙痒感。瘙痒可能持续数天或数周&#xff0c;尤…

前端走向未来:真相还是焦虑的贩卖?

目录 一、为什么会出现“前端已死”的言论 二、你如何看待“前端已死” 三、前端技术的未来发展趋势 四、前端人&#xff0c;该如何打好这场职位突围战&#xff1f; 我的其他博客 一、为什么会出现“前端已死”的言论 近来&#xff0c;IT圈内流传着“Java 已死、前端已凉”…

宋仕强论道之华强北的硬件设施(二十三)

宋仕强论道之华强北的硬件设施&#xff08;二十三&#xff09;&#xff1a; 现在深圳市华强北&#xff08;Shenzhen Huaqiangbei&#xff09;硬件设施哪方面不足呢&#xff1f;以前华强北的“万家百货”和“女人世界”在生意最旺的时候&#xff0c;顾客要在门口排队进商场&…