提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:况鱼杰|2020-11-20 11:16:47.757|阅读 340 次
概述:开发团队进行回归测试,以验证软件应用程序中的代码变化(修复错误或添加新功能)不会导致引入另一个错误或破坏现有系统的任何功能。本文将会告诉大家什么是回归测试,以及为什么它在软件开发实践中占有如此重要的地位。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
开发团队进行回归测试,以验证软件应用程序中的代码变化(修复错误或添加新功能)不会导致引入另一个错误或破坏现有系统的任何功能。
对于许多嵌入式系统,团队在生命周期结束时进行回归测试,以确定每个软件版本发布的稳定性。这是一个反复的过程,一直持续到项目达到开发结束或维护结束。在其他工作流程中,回归测试是开发人员日常的现实活动。事实上,可以说在迭代和敏捷过程中,大部分测试都是回归测试。在进一步探讨之前,我们先来看看什么是回归测试,以及为什么它在软件开发实践中占有如此重要的地位。
回归是指 "向较低或不完美状态的趋势或转变"--这也是在开发软件时都在努力避免的。回归测试有助于发现在添加新功能、修复错误时,以及在对测试用例本身进行更改时,潜入软件中的缺陷。作为大多数软件开发过程的一部分,开发人员在对软件进行更改后要进行回归测试。这些测试确定新的更改是否对软件的现有运行产生了影响。
当然,回归测试是必要的,但它们只是表明最近的代码变化没有导致测试失败。并不能保证这些变化本身是有效的。此外,促使需要做回归测试的变化的性质可能会超出当前应用程序的范围,包括硬件、操作系统和运行环境的变化。
由于嵌入式系统往往有对安全和安保至关重要的限制,开发团队要对系统或子系统进行回归测试,测试可以说是在系统或子系统的每个迭代生命周期结束时进行。这意味着必须执行所有为前一个软件系统或子系统版本定义的单元测试用例,加上为验证新功能而增加的新单元测试用例,以暴露软件中的回归。
如果以前的单元测试用例通过了,现在却失败了,那么可能已经发现了一个潜在的回归。新功能可能会导致失败。如果是这种情况,那么测试用例可能需要考虑输入和输出值的变化而进行更新。同样至关重要的是,要明白回归测试不仅仅意味着单元测试用例。嵌入式系统的回归测试还包括集成测试用例、系统测试用例、性能测试用例、压力测试用例等的执行。事实上,开发人员应该执行所有之前创建的测试用例,以确保:
这两点都很关键,因为每一个新的软件系统或子系统的发布都是建立在前一个版本的基础上或开发的。如果你没有一个坚实的基础,整个系统就会崩溃。
Parasoft C/C++test 可以自动生成测试用例。将它们与手动创建的测试用例结合起来,就会形成一个集合:测试套件。开发人员和测试人员执行测试套件来识别应用程序的缺陷。Parasoft C/C++test 捕获测试结果,并识别出故障,进行分析和修复。在这个初始周期之后,团队可以重复使用现有的测试用例或测试套件进行回归测试。
可能很明显的是,软件的更新和更改需要进行测试。从这个意义上说,回归测试是开发过程中一个明显的步骤。在具有敏捷流程和持续集成和部署的现代软件开发中,回归测试成为每个周期的关键步骤。随着软件的增长,回归测试的套件也在增长。随着套件的增长,执行和调试时间也在增长,往往是管道的瓶颈。如果没有专注和精简的回归测试,很难拥有敏捷开发和精简的DevOps管道。
在嵌入式系统上工作会给测试增加另一个维度,因为在目标硬件上执行测试往往是可取的,或者是必须的。由于在嵌入式目标上启动和观察测试的复杂性,回归测试可能更具挑战性。再加上由于这些目标系统的高成本,软件团队获得目标硬件的机会有限。因此,建立一个可重用和可配置的测试自动化解决方案,可以从主机和/或虚拟系统上的执行--以及目标系统上的验证和确认--以连续的方式无缝过渡,可以大大节省资源、时间和成本。
开发团队可以使用Parasoft C/C++test 在主机平台、目标处理器模拟器或嵌入式目标上执行单元测试。Parasoft C/C++test 经过优化,以最小的二进制足迹或进程周期的额外开销,Parasoft C/C++test 的测试线束以源代码的形式出现。这意味着团队可以针对所需的平台特定修改进行定制。这一点很有必要,因为从目标系统中收集测试结果和代码覆盖率数据对安全和安全关键型系统至关重要,并且是DO-178B/C、ISO 26262、IEC 62304等流程标准所要求的。
此外,Parasoft C/C++test 还提供了与嵌入式IDE和调试器的专用集成,使测试用例的执行过程变得流畅和自动化。支持的IDE环境包括Eclipse、VS Code、Green Hills Multi、Wind River Workbench、IAR EW、ARM MDK、ARM DS-5、TI CCS、Visual Studio等。查看所有Parasoft C/C++test 技术规范。
回归测试的关键挑战是确定测试应用程序的哪些部分。当对最近的代码更改的影响有疑问时,默认运行所有回归测试并不罕见。这就是那种 "全有或全无 "的方法。然而,对于大型软件项目来说,这就成了一项巨大的工程,拖累了团队的生产力。这种无法集中测试的情况阻碍了迭代和持续流程的许多好处--在测试目标是有限资源的嵌入式软件中可能会更加严重。
我们需要的是一种方法来确定哪些测试需要重新执行,并将测试工作(单元测试、自动功能测试和手动测试)集中在验证受最新变化影响的功能和相关代码上。利用Parasoft专有的覆盖率分析引擎(C/C++test for C & C++、Jtest for Java和dotTEST for C#)和Parasoft DTP内的过程智能引擎(PIE)的组合,开发人员和测试人员可以了解代码库在两次构建之间的变化,通过这种效率的提高,实现敏捷的承诺。这种形式的智能测试执行被称为测试影响分析(有时也被称为基于变化的测试)。
测试影响分析使用测试运行期间收集的数据和两次构建之间的代码变化来确定哪些文件发生了变化,哪些特定的测试触及了这些文件。Parasoft的分析引擎可以分析两次构建之间的delta,并确定要执行的回归测试子集。它还能理解修改后的单元的依赖性,以确定对其他单元的改动会产生什么波及。
Parasoft C/C++test、Jtest 和 dotTest 可以深入了解软件变更的影响,并提供建议,以确定在哪些地方增加测试,在哪些地方运行更多的回归测试。请看下面基于变更的测试报告示例。
通过测试影响分析简化回归测试,大大降低了测试的整体负担。它使开发人员和测试人员能够只关注受影响的代码和测试。结果是什么?
回归测试不再是一种负担,而是提高产品质量和安全性的关键步骤。它产生的指标有助于衡量质量、安全性和整体进度。
通过最先进的工具支持和基于目标的测试,还可以在开发人员创建代码时就开始回归测试。随着时间的推移,每个新的单元测试都会成为回归测试,开发人员可以立即利用基于变化的测试。尽早进行回归测试(将其转移到开发时间线的左侧)意味着更早地发现缺陷。向左移动可以立即节省时间和金钱。在软件生命周期的后期,它的回报率甚至更高。不要小看这种回报。它可以节省大量的下游成本。在SDLC中更早地发现缺陷,可以削减修复成本,减少对下游活动的影响。请看下图。
回归测试是嵌入式软件测试的核心活动。每一个新增加的功能、错误修复或配置变更都需要进行测试,以确认哪些功能已经在工作并继续工作。然而,随着项目的增长和软件复杂性的增加,回归测试的数量也在增加。最终,测试自动化成为帮助处理测试负担的必要手段。智能测试执行等新技术让回归测试变得更容易。它促使开发人员和测试人员专注于专门测试更改和受影响代码的测试。
将敏捷、CI/CD和DevOps等流程改进与软件测试自动化相结合,使得几乎在代码写好后就开始回归测试成为可能。它有效地将测试转移到左边,并在成本更低、更容易修复的情况下更早地发现错误。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
针对 C/C++ 软件开发提供统一、完全集成的测试解决方案。
Parasoft Jtest用于应用软件开发的集成Java测试工具
Parasoft dotTEST降低C#和VB.NET开发风险,有效地实现符合C#和.NET开发的测试工具的要求
Parasoft DTP开发测试平台,通过在SDLC中持续应用软件质量最佳实践降低了商务风险
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢