提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:胡涛|2024-01-17 11:15:54.167|阅读 16 次
概述:测试影响分析使开发人员可以轻松地进行更智能的测试,而不是更困难。这里全面介绍了测试影响分析的好处以及为什么开发人员应该将其纳入他们的软件测试例程中。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
测试影响分析使开发人员可以轻松地进行更智能的测试,而不是更困难。这里全面介绍了测试影响分析的好处以及为什么开发人员应该将其纳入他们的软件测试例程中。
测试影响分析意味着将测试专门集中在每次迭代期间所做的更改,并自动准确地测试需要测试的内容。利用这项技术的团队可以通过有关需要做什么的即时反馈来优化他们的开发测试工作。
行业调查和报告经常证实,即使在实施敏捷、DevOps 和持续集成/部署等现代开发流程之后,软件测试仍然是一个瓶颈。在某些情况下,软件团队的测试不够充分,必须在开发周期的后期阶段处理错误和安全漏洞,这会产生一个错误的假设,即这些新流程无法兑现其承诺。解决某些类别问题的一种解决方案是右移测试,它依赖于在生产环境中监视应用程序,但它需要坚如磐石的基础设施,以便在出现严重缺陷时回滚新的更改。
结果,组织仍然错过了最后期限,并且质量和安全性受到影响。但还有更好的方法!为了更智能地进行测试,组织正在使用称为 测试影响分析的 技术来准确了解要测试的内容。这种数据驱动的方法支持左移测试和右移测试。
任何迭代过程中的测试都是在有限的周期时间内可以完成多少测试的折衷。在大多数项目中,不可能在每次迭代中进行完全回归。相反,执行一组有限的测试,并且确切地测试什么是基于最佳猜测。由于通常没有足够的已完成新功能可供测试,因此测试也会在周期中进行回载。生成的工作量与时间图最终像锯齿一样,如图 1 所示。在每个周期中,仅执行一组有限的测试,直到执行完整回归测试的最后一个周期。
不幸的是,没有一个项目在达到最终周期时具有零错误和零安全漏洞。在此阶段发现缺陷会增加延迟,因为错误会被修复并重新测试。即使 存在 这些延迟,许多错误仍然会进入已部署的产品中,如下所示。
这种情况导致了所谓的“右移测试”的采用,即组织在部署阶段继续测试其应用程序。右移测试的目的是增强和扩展测试工作,测试最适合部署阶段,例如 API 监控、切换生产中的功能以及从现实操作中检索反馈。
重现真实测试环境以及在测试中使用真实数据和流量的困难导致团队使用生产环境来监视和测试其应用程序。这样做有很多 好处 ,例如,能够使用支持容错和性能改进的实时生产流量来测试应用程序。一个常见的用例是所谓的 金丝雀发布,其中软件的新版本首先发布给一小部分客户,然后随着错误的报告和修复而推广到越来越大的群体。例如,Roku 就是这样做来更新其设备固件的。
右移测试依赖于开发基础设施,该基础设施可以在出现严重缺陷时回滚版本。例如,金丝雀版本中的严重安全漏洞意味着回滚该版本,直到新的更新版本准备就绪,如下图所示:
但使用生产环境来监控和测试软件是有风险的,当然, 右移测试的目的从来不是取代部署前的单元、API 和 UI 测试实践! 右移测试是一种 补充 实践,它将持续测试的理念扩展到生产中。尽管如此,组织很容易滥用这个概念来证明在开发过程中进行更少的单元和 API 测试是合理的。为了防止这种情况发生,我们需要使开发阶段的测试变得更容易、更高效,并生产出质量更高的软件。
大多数软件都没有经过充分测试,测试内容的决定基本上基于开发人员对关键功能的最佳猜测。在 SCRUM 冲刺或其他流程的迭代期间,很难确定要测试什么,因为“测试所有内容”当然不是一种选择。由于时间很短,只能测试由最新功能更新的软件部分,但具体哪些代码受到影响通常是未知的。测试自动化有所帮助,但如果不准确了解测试地点和测试内容,测试覆盖率就会不足。
这些缺点可以通过使用测试影响分析来克服 ,测试影响分析是对测试覆盖率、代码更改和依赖关系的多变量分析,可以准确指出需要测试的代码。此外,这些精确的测试可以安排并自动执行。
测试影响分析在 IDE 内的开发人员级别进行,收集有关哪些测试执行哪些代码的信息,并在开发人员更改代码时在开发人员的 IDE 中应用该信息,使开发人员能够轻松识别和执行需要执行的特定测试。需要运行以验证更改的代码不会破坏任何测试。此外,跟踪哪些受影响的测试已运行、哪些已通过、哪些已失败,可以使开发人员轻松确定哪些测试仍需要运行,或者哪些测试已失败并需要解决。一旦所有测试都已运行并通过,开发人员就知道可以安全地提交代码并继续前进。
测试影响分析在 CI/CD 流程中工作,通过无缝集成到项目的构建系统(例如 Maven 或 Gradle)中,以获得有关更改的即时反馈。测试影响分析确定自基线构建(即最后一次夜间构建)以来哪些代码发生了更改,确定需要运行哪些测试来执行该代码,然后仅运行该测试子集。此工作流程使团队能够设置仅根据最近的代码更改运行测试的 CI 作业,将运行 CI 作业所需的时间从几小时缩短到几分钟。
测试影响分析具有以下主要优点:
为了大大减少开发中的测试瓶颈,并提高测试人员在每次迭代中投入的“锯齿”工作的效率,开发团队可以受益于测试影响分析技术。具有测试影响分析的测试自动化意味着将测试专门集中在每次迭代期间所做的更改,并自动准确地测试需要测试的内容。这些团队通过即时反馈来优化他们的开发中测试工作,包括需要做什么、哪些代码未通过测试以及哪些其他代码受到新更改的影响。
如果您目前不是Parasoft C/C++test用户,但希望通过C/C++test 2023.2,为C、C++开发人员赋能,欢迎联系我们。了解更多有关Parasoft产品咨询,欢迎咨询
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
CEETRON Envision是一款功能强大的CAE数据分析与可视化工具包,凭借其卓越的数据提取、分析、渲染能力,能够帮助工程师和开发人员提升分析效率、改善工作流程,并通过高效的数据共享报告和生成功能,进一步优化团队协作与决策过程。
Burp Suite是一款专业的Web应用安全测试工具,集成了Proxy、Scanner、Intruder等功能,帮助渗透测试人员识别和修复Web应用中的安全漏洞,是提升Web应用安全性和防护能力的必备利器。
2024年对于FastReport来说是充满挑战和收获的一年。FastReport在多个领域取得了重要突破和创新成果,不仅不断优化现有产品,
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
针对 C/C++ 软件开发提供统一、完全集成的测试解决方案。
Parasoft Jtest用于应用软件开发的集成Java测试工具
Parasoft dotTEST降低C#和VB.NET开发风险,有效地实现符合C#和.NET开发的测试工具的要求
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢