提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|产品更新|编辑:李燕|2019-12-23 15:14:11.990|阅读 485 次
概述:最新的Parasoft C / C ++ test 10.4.3版本中引入了存根这一小小的增强功能,此功能具有很多的优点,让我们来看看吧。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
几个月前,我们的一位大型客户正在从事一项根据IEC 61508开发的安全关键项目,与我们联系以寻求帮助以优化开发人员的生产率。客户面临的问题是由于开发人员同时处理单元测试用例并根据其特定测试场景的需要配置存根而在测试结果中产生的大量噪声。
我们了解到,客户执行单元测试的方式更接近于集成测试。在他们的过程中,被测试的单元没有与相关组件(项目中的其他文件)隔离开来,并且单元测试用例是针对几乎完整的应用程序执行的,因此项目中各个功能之间的所有调用在单元测试期间的连接方式都完全相同。如在生产版本中。
这种方法不是“经典的”单元测试,因为它从集成级别测试中借鉴了很多东西。尽管如此,它对于说明需求和源代码的良好测试覆盖范围还是非常有效的。
在此过程中,仅在必须模拟特定的测试方案(通常是故障注入)时才添加存根。以下面的代码为例:
在该函数的开头,有一个if语句,用于测试是否成功分配了样本缓冲区。此功能的大多数测试用例都是在没有存根的情况下实现的,因为它们专注于“常规”控制流,测试用例除外,该用例会在缓冲区分配失败时检查功能的行为。此测试用例需要对allocateSampleBuffer函数使用存根来模拟故障。
一旦添加了存根,它将被一致地应用于测试的代码。现在,使用“分配失败”测试用例的用户将有一种简单的方法,可以在存根中安装特殊的回调函数,这将模拟所需的效果(分配失败,或者不执行任何操作,因为存根默认返回空指针,预期用于测试用例)。但是现在所有其他测试用例都需要引起注意,因为必须为其添加一个存根配置,以避免控制流中发生不必要的更改。
当然,开发人员可以返回并重新配置他们的测试用例以解决存根,但这意味着要花费更多的时间来分析失败的原因,为存根准备专用的回调函数以及消除测试过程中的噪音–客户与我们联系时的主要顾虑。
因此,我们在Parasoft C / C ++ test的10.4.3版本中为存根添加了一个特殊选项,使生成自动存根或用户存根更加容易。新选项在两个地方可用:
选中“插入对原始函数的调用”选项后,Parasoft C / C ++ test会更改存根的默认生成方式。没有安装回叫时,此更改是存根行为。使用new选项生成的存根将充当代理并调用原始函数定义,除非用户提供特定于测试用例的回叫函数以执行替代活动。没有新选项的情况下生成的存根(包括旧存根)在默认情况下将不会尝试调用原始符号,并且如果未安装特定于测试用例的回调函数,则存根将不执行任何操作,仅返回“默认” ”值,例如空指针或零数值。
为确保区别清楚,让我快速比较一下启用和未启用“插入原始功能的插入”选项的情况,以供用户未提供专用回调的情况:
如您所见,添加了new选项的存根对于测试的代码是透明的,并且它们仅执行对原始定义的代理调用,除非有人提供实现所需替代操作的回调。
一个有经验的工程师可能会在这里问一个问题,例如,“好吧,但是如果没有适用于存根函数的原始定义,将会发生什么?当我不提供定义替代行为的回调并且我没有原始定义可用时,存根在这种情况下的行为如何?”
好吧,这项新功能的优点在于可以自动检测到这种情况,并且存根将在测试工具构建时重新配置自身,而不是在未安装回叫时调用原始定义,而是返回一个安全的默认值值。
当在这种“半集成”测试中同时处理测试用例时,此新功能极大地减少了不同团队成员之间的干扰。开发人员A添加的存根不会更改开发人员B添加的测试用例的已测试代码的行为。如果开发人员B决定需要为其中一个测试用例的存根函数配置替代操作,则只需创建一个特定于测试用例的回调函数,该函数为存根函数实现所需的替代逻辑,并将此回调安装在现有存根中,作为测试用例配置的一部分。
在我们最新的Parasoft C / C ++ test10.4.3版本中引入了这一小增强功能。了解更多有关最新版本的信息!
想要了解Parasoft、Parasoft SOAtest、Parasoft Virtualize更多信息或资源的朋友,请
与联系,以了解如何在组织中部署Parasoft的自动化软件测试解决方案。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
知名C/C++开发工具CLion全新发布v2024.3,新版本新语言引擎有显著改进等,欢迎下载新版体验!
强大的VS插件CodeRush已正式发布v24.2.3,新版本现在可以运行xUnit.Net v3测试等,欢迎下载最新版体验!
Spire.PDF 10.12.4 最新版本支持在进行多页打印时设置自动旋转方向。同时,一些已知问题也在本次更新中被成功修复,例如打印 PDF 文档时内容丢失的问题,欢迎下载体验~
日程安排控件dhtmlxScheduler v7.2全新发布,新版本增强并增加了编辑、修改等多个操作体验,欢迎下载最新版试用~
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢