提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:黄竹雯|2019-01-10 13:57:04.000|阅读 221 次
概述:本文主要介绍如何利用Parasoft Jtest征服遗留代码
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
Parasoft Jtest是一款能够无缝集成Parasoft SOAtest的Java自动化测试工具,重点应用于针对Java代码的静态分析、代码审查、单元测试和运行时错误检测。当您处理遗留代码时,通常需要一种可持续的方式来管理代码的变更。您可以通过利用适当的技术来克服遗留代码给敏捷和DevOps所带来的阻碍。
点击下方链接免费下载试用Parasoft Jtest最新资源:
许多人使用遗留代码来表示旧代码,但旧和遗留在一些层面上有一定的区别。本文用遗留代码定义团队里知识有限的任何现有代码。
由于以下几个原因,有关代码的知识可能不完整,例如:
首先要明确一点,遗留代码是规则而不是例外。当今世界上的许多软件基础架构都运行在遗留代码上。那么当我们需要进行更改时,如何降低与遗留代码相关的风险变得至关重要。
遗留代码的问题不在于它存在的时间,而是您不了解更改它会如何影响现有功能。如果您正在转换到新的开发方法,例如敏捷或DevOps,那么与遗留代码相关的知识差距可能会成为障碍。
敏捷和DevOps已经成为创建软件的主要方法,因为它们可以帮助团队在最小的市场特性准备就绪后快速迭代和发布应用程序。短暂而频繁的开发周期是迭代开发方法的标志,但是当您处理遗留代码时,这些方法不会为减轻可能存在问题留出空间,尝试快速迭代您不理解的代码可能会引入新问题。
现实情况是,在开始新项目时,这些技术更容易应用。对于已经存在一段时间的项目而言,团队通常使用涉及遗留代码的系统。开发人员可能不知道现有代码库如何工作,但仍必须修复缺陷或扩展功能而不会引入新问题。看似微小的变化也会对应用程序产生重大影响。
创建基线并将质量活动的范围缩小到受计划更改影响的代码区域,而不是尝试在宏观层面上工作。在进行测量以评估代码的范围和状态之后,您应该创建捕获当前行为的测试,以便团队可以了解更改如何影响现有功能。
然后您可以利用一系列技术来帮助您在重构遗留代码时收集分析,并确保您对代码更改的投入可以提高遗留系统的安全性、保密性和可靠性。
了解如何影响系统行为至少需要一个数据点,首先选择基线构建并开始跟踪指标,设置范围并查看遗留代码的三个特征:
Parasoft Jtest提供了一个功能强大的分析平台,用于捕获、关联和分析报告代码中的违规、测试结果、覆盖率和其他软件质量数据。该平台超越了静态报告,它还应用了额外的分析来帮助您识别受变更影响的应用程序部分。
利用资源组的概念,您可以识别一组特定的文件或目录、覆盖范围、静态分析违规以及指向这些特定资源的指标数据。此信息可帮助您在代码库的这些部分进行更改之前为代码库区域创建基线。
有了初始数据点的帮助,下一步通过创建测试开始捕获系统的当前行为。构建高质量的回归套件不仅可以捕获现有行为,还可以提高覆盖率,作为确保更改不会破坏功能的安全网。
Parasoft Jtest可以使您能够基于现有代码批量创建JUnit测试的基线和断言。Jtest还包括创建直接访问私有方法的测试的能力,以便在遗留代码最初编写时不考虑可测试性。
最好通过有意义的测试来扩展覆盖范围。在分析覆盖差距期间,Jtest可以识别现有代码中未经测试的克隆和变异的部分。Parasoft在创建现有测试方面做了大量工作,Jtest中的克隆和变异功能增加了创建测试投资的回报。
通过捕获系统的行为,您可以开始修复违规、解决PR或应用您想要关注的更改,同时将破坏现有功能的风险降至最低。Parasoft可以帮助您管理现有的技术债务,并将数据(如静态分析违规)放入适当的工作流程中,以便轻松地重新确定优先级,抑制或解决这些数据,从而提高应用程序的整体质量。
解决遗留代码中技术债务的最佳时机是在进行更改时。报告的数据应包括在有关项目的整体统计信息中。技术债务可能不会立即对应用程序产生影响,但您应该应用最佳实践来系统地包含和管理它。您需要在进行更改时重构遗留代码,将有助于您逐步减少技术债务。
此过程有助于确保更改范围不会对现有功能产生负面影响,但您还需要确保团队遵循前进的良好实践。随着代码的发展,继续保持高水平的覆盖率并编写或更新测试需要在知识层面上获得支持。
通过分析指定基线构建之间的变化,您可以专注于监控整个代码库中的变化。在整个代码库中实现100%的覆盖率是不切实际的,但通过监控修改后的代码的覆盖范围,团队可以专注于正在积极处理的代码部分,并确保所有更改都经过测试。
世界的软件运行目光正在从团队传递到团队的代码上,处理遗留代码是一种常见的需求。关于代码的知识差距提示了潜在的风险,因为开发人员需要进行更改以维护或扩展功能,而本文提及的Parasoft Jtest对遗留代码的处理流程和技术可以帮助用户获得推进团队中任何代码库的信心。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢