提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:况鱼杰|2020-11-25 14:15:39.270|阅读 164 次
概述:为了实现单元测试的优势,可以在单元测试执行期间通过运行时分析来观察单元测试。单元测试执行过程中的运行时分析对于提高测试效率和效果至关重要。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
为了实现单元测试的优势,可以在单元测试执行期间通过运行时分析来观察单元测试。单元测试执行过程中的运行时分析对于提高测试效率和效果至关重要。
单元测试是测试软件单个单元/组件的最佳实践,但对于Java开发人员来说,它可能是乏味的,而且成本很高。用手动来测试每个单元的行为是否正确,用脱离来隔离每个方法,这是很费力的,而且单元测试本身也有可能出现错误和误解行为。为了改善这种情况,你可以使用运行时分析工具来检测数据和控制流、外部依赖,并计算测试代码覆盖率。
有了这些从运行时分析中收集到的数据,像Parasoft Jtest这样的企业级解决方案可以提示开发人员如何改进测试,通过自动推荐正确行为的断言,以及脱离的方法来提高测试隔离度。这种自动单元测试生成和运行时分析之间的整合,减少了Java单元测试所需的人工干预。
单元测试是一种众所周知的做法,但在很多项目中,单元测试的实施需要改进。单元测试做得好,可以提高敏捷过程的敏捷性,提高质量和安全性,并带来长期的成本节约。
不幸的是,无论这些好处如何,开发人员仍然会在单元测试中挣扎,尽管他们希望获得更好的结果。测试创建和维护所需的时间和精力可能太多,无法证明增加测试工作的合理性。通常情况下,由于单元/对象与依赖关系的隔离性差,测试套件很脆弱。对依赖关系进行适当的脱离成为软件测试人员的祸根,创建确定正确程序逻辑所需的断言也是如此。即使是为场景进行参数化测试,也会很繁琐和耗费时间。
软件开发团队如果想获得彻底的单元测试的好处,就必须通过测试创建、隔离和维护来解决这些问题。答案从测试自动化工具开始,但仅仅自动化执行测试并收集结果是不够的。运行时分析,即观察正在运行的可执行文件并记录关键指标的过程,是帮助改进单元测试创建、嘲讽和测试稳定性的创新方法。
在大多数情况下,开发人员在单元测试的早期阶段并不认为运行时分析很重要。大多数工具都是用来捕捉单元测试遗漏的错误,或者只是在计算代码覆盖率。但这些好处固然重要,运行时分析还可以观察单元测试第一次迭代的执行情况,从而提出改进测试的建议,并检测出干扰测试稳定性的测试运行时环境的变化。
测试框架(如JUnit)会创建稀疏的代码,需要开发人员进一步输入。这项工作很繁琐,所以可以根据观察到的程序逻辑,自动填写更多的细节。例如,以下单元测试可以由Parasoft Jtest自动生成。
同样,对于参数化输入的单元测试,如下图所示。
由于创建的测试从一开始就可以执行,因此可以通过运行时分析来观察结果和执行流程。例如,一个测试可能会因为引发异常而失败,如下图所示。
此外,运行时工具还能观察到执行路径成依赖关系,并推荐潜在的脱离,以提高测试的隔离度。虽然对被测对象进行目测会发现它的依赖关系,但自动检测和脱离这些依赖关系可以节省很多繁琐和容易出错的工作。
在下面的例子中,Parasoft Jtest提供给开发者一个选择,根据单元测试的执行跟踪来选择要模拟的内容。
在这种情况下,添加一个可脱离的方法模式,将该方法添加到脱离框架(如PowerMock)处理的脱离列表中。
脱离静态构造函数也是可能的,如下所示。
通过对执行流程的充分了解,加上方法调用中使用的参数,运行时分析可以为开发人员提供有用的建议,以改进测试代码。虽然在创建测试时,静态地提供了断言,但它们可能没有被启用或正确。在测试执行时,失败和缺失的断言会触发警告,然后导致建议来补救问题。
例如,在创建一个新的测试后,没有推荐的断言没有被注释,你会看到以下内容。
或者如果断言失败,例如,将显示以下内容。
不管发生了什么,都是不断地反馈关于对断言的纠正措施,从而关闭了测试创建到完成单元测试的循环。此外,随着被测单元的变化,这些变化可以用同样的方式处理,不断减少所需的人工测试维护。
运行时分析还可以检测到执行过程中测试环境的变化,这些变化会影响到为后续测试重新创建相同测试环境的能力。一次通过而后又失败的测试可能是造成挫败感和时间精力损失的重要原因。通过运行时分析可以检测到的不稳定性的一些例子包括以下几点。
所以你可以看到,运行时分析不仅仅是为了计算代码覆盖率。测试执行过程中的运行时分析对提高测试效率和效果至关重要。监控执行路径可以提供依赖关系的信息,以改善对依赖关系和嘲讽的处理。断言可以被监控,自动建议可以帮助提高测试保真度。检测运行时测试环境中影响测试稳定性的变化,消除挫折感,减少测试代码的调试周期。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
文章转载自:parasoft本文主要介绍如何使用DevExpress WinForms Data Grid组件实现列重新排序,欢迎下载最新版组件体验!
Visual Paradigm中的Doc. Composer菜单,可让您以完全可自定义的方式输出模型和图表的每个细节。在本文中,您将学习如何创建自定义模板来输出项目中图表或模型元素的注释。
对于银行金融、政府、医疗等需要处理大量信息的组织来说,高效的数据管理至关重要。对于大型数据扫描项目,Dynamic Web TWAIN SDK 提供强大的功能,只需极少的设置即可支持大量文档处理,让我们看看 Dynamsoft 如何简化此过程中的每个步骤。
在 Microsoft Excel 中,复制行、列和单元格是日常数据处理中的常见操作。本文将介绍如何使用 Spire.XLS for Java 和 Java 在 Excel 中复制行、列和单元格数据并保留格式。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢