如何使用Parasoft Jtest提高Java测试的投资回报率

原创|使用教程|编辑:郑恭琳|2020-11-20 13:32:15.917|阅读 19 次

概述:为了帮助团队更可靠地快速实现质量和安全性,企业可以利用Parasoft Jtest进行Java测试。了解如何利用Jtest来提高Java测试的投资回报率,在提高软件质量的同时加速软件交付。

# 项目交付用正版,省下一台Iphone12 # # 31款JAVA开发必备控件和工具 #

相关链接:

为了帮助团队更可靠地快速实现质量和安全性,企业可以利用Parasoft Jtest进行Java测试。了解如何利用Jtest来提高Java测试的投资回报率,在提高软件质量的同时加速软件交付。

在当今的数字经济中,公司必须更快地向市场交付软件,以跟上消费者的需求。为了在不牺牲质量和安全性的前提下实现这一目标,组织必须能够有效、彻底、快速地测试软件代码更改。但是,完成这种彻底的测试可能会成为瓶颈,给软件团队带来压力和风险,延迟交付,并对业务产生直接影响。

导致软件项目延迟的最大因素之一是在开发过程的后期发现的错误,这是因为业务对开发团队施加压力,要求他们维护进度,这直接影响测试和产品质量。为了帮助解决此问题,开发团队利用单元测试和静态代码分析来在周期的早期阶段发现缺陷。但是,这些做法有其自身的缺点,与时间和成本有关,这些缺点可能会导致无法快速获得质量。

为了解决交付延迟问题,并帮助团队更可靠地快速实现质量和安全性,企业可以利用Parasoft Jtest来提高Java开发测试的效率。无论是进行新的代码开发还是维护旧版应用程序,Parasoft Jtest都可以生成、扩充、克隆和变异单元测试,同时还可以优化那些测试的执行,以促进与单元测试相关的时间和成本的显着改善。“附带”好处?一套有意义的可维护单元测试。

此外,Parasoft Jtest可以在开发过程中扫描源文件以提高应用程序的安全性和质量。总体而言,这可以通过在软件开发过程的早期捕获缺陷来帮助加速交付并提高软件质量。


增加单元测试的投资回报率:单元测试的创建

为了说明如何在单元测试创建阶段增加ROI,假设一家大型金融机构正在实施云迁移策略,并正在开发新的Java应用程序。开发团队由20位开发人员组成,平均每位开发人员花费100000美元,因此,每年的总开发成本为200万美元。新应用程序将按季度发布,因此每个版本的开发成本为500000美元。根据我们的研究,平均每个开发团队在手工编写单元测试上花费了30%的保守时间,这表明,对于给定的发行版,编写单元测试使企业花费了大约15万美元。

(1/4)($2M)(.30) = $150,000

(每季度发布)(开发人员年度费用)(花费的写作单元测试时间百分比)=写作单元测试的成本

使用Parasoft Jtest,用户报告说编写单元测试可以在一半的时间内完成。除了消除许多与单元测试相关的耗时的手动任务之外,Jtest通过在编写代码后立即使用AI自动生成单元测试来完成此任务,以增加代码覆盖率。因此,与其将开发时间的30%花费在编写单元测试上,不如将其花费在15%上,而是将更多的时间集中在测试的业务逻辑部分上。

(1/4)($2M)(.30)(.50) = $75,000

(每季度发布)(每年的开发人员成本)(花费的写作单元测试时间百分比)(使用Jtest的时间减少百分比)=使用Jtest编写单元测试的成本

这使编写单元测试的成本从150000美元降低到75000美元,从而使每个版本的成本节省了75000美元,每年节省了300000美元。

$150,000 $75,000 = $75,000

原始单元测试成本–带Jtest的单元测试成本=使用Jtest节省的成本

($75,000)(4) = $300,000

(成本节省)(每年发布的数量)=每年使用Jtest节省的总金额

降低开发成本有助于为企业带来收益。除了节省成本外,还节省了宝贵的时间。如果公司使用2周的冲刺进行开发(包括10个工作日),则将30%或3天分配给单元测试。对于给定的发行版(3个月),总共有6sprint(例如:5个用于开发,1个用于最终测试)。使用这些数字,团队将15天的发布时间用于单元测试。

(5) (10)(.30) = 15 days

(# 开发Sprint的数量)(# Sprint中的天数)(花费的写作单元测试时间百分比)=# 发布单元测试所花费的天数时间

Jtest将此时间缩短为每个sprint减少一半到1.5天的单元测试,或者将7.5天的发布时间用于团队的单元测试。

(5) (10)(.30)(.50) = 7.5 days

# 开发Sprint的次数)(# Sprint中的天数)(花费的写作单元测试时间百分比)(使用JtestTme减少百分比)=# 使用Jtest发行单元测试的花费天数

当您在紧锣密鼓地击败竞争对手进入市场时,将业务节省7.5天非常有价值。

15 7.5 = 7.5 days

原始耗时单元测试w/Jtest的耗时单元测试=通过Jtest节省的时间

值得注意的是,在此示例中,保守的30%用于分配用于手动编写单元测试的时间,但是通常这个数字要高得多,取决于组织的单元测试实践,该数字会高达50%。这些组织将通过Parasoft Jtest节省更多的时间和成本。


增加单元测试的投资回报率:单元测试执行

现在,假设同一组织正在构建其新应用程序,并且这样做,它们将生成越来越多的单元测试,从需要花费几秒钟才能运行的单独(隔离)单元测试到社交(集成级别)单元测试。这需要更长的时间才能运行。他们的完整单元测试套件执行时间增加到2小时,并且他们的总体开发构建时间也受到了影响,因为软件开发团队要等待2个小时才能获得有关代码更改的反馈,因此要花很多时间。该组织遵循敏捷方法,因此他们每天要构建多次以向其软件团队提供频繁的反馈,但是由于2小时的单元测试执行时间,他们一天只能执行3次构建,相当于6个小时的整体单元每天测试执行时间,这可能会导致开发过程效率低下。

为了缩短发布周期,团队可以使用Parasoft Jtest优化单元测试的执行。Jtest减少了使用支持AI的测试自动化执行单元测试的时间,它基于已更改的代码执行优化的单元测试集,而不是运行全套测试。这项优化会在签入代码之前以及在CI生成期间在开发人员的IDE中进行,而完整的测试套件将继续每晚执行。通过优化运行哪些测试,可以大大缩短总体构建时间,并可以更快地向软件团队反馈。而且组织每天可以获得更多的构建,这可以在一天的活跃时间内优化团队的生产力,从而缩短交付时间。利用Jtest的测试技术,可以节省时间和成本。


提高静态代码分析的投资回报率:自动扫描

让我们继续在这种情况下使用同一组织,并且在测试过程中,他们发现了多个后期周期缺陷。使用卡内基梅隆大学软件工程学院“组成有效的软件安全保证工作流程”中的“每缺陷成本”度量标准,发现和修复的早期周期平均缺陷成本为1个小时,与发现的缺陷相反在后期周期中,成本往往会高出7倍,7个小时。根据100000美元的平均薪水,尽早发现并修复缺陷的成本约为48美元,而发现并修复后期缺陷的成本约为336美元。该公司确定了20个后期缺陷,共计6720美元,需要140个开发小时(约18个工作日)来解决。有了这些数据,就可以清楚地看到后期缺陷对发布的时间和成本的影响。

($48)(7)(20) = $6,720

(每小时开发人员成本)(# 查找和修复后期缺陷的小时数)(# 后期缺陷数)=缺陷修复总成本

[(7)(20)] / 8 = ~18个工作日

[# 查找和修复后期周期缺陷的小时数)(# 后期周期缺陷的数目)] /# 典型工作日中的小时数)=缺陷修复总时间

为了减少出现在后期的缺陷数量,Parasoft Jtest使团队能够进行自动化的静态代码分析和安全测试,并提供1000多个规则,以在开发时(早期)识别出代码中的潜在漏洞和问题。如果Jtest保守地较早地检测到25%的后期缺陷,导致5个早期缺陷并留下15个晚期周期,那么这将花费5280美元和110个开发小时(〜14个工作日)来发现和修复早期和晚期。循环缺陷。这样可以将缺陷修复的时间和成本降低大约25%。

($48)(1)(5) = $240

(每小时开发人员成本)(# 查找和修复早期周期缺陷的小时数)(# 早期周期缺陷的数量)=早期周期缺陷修复成本

($48)(7)(15) = $5,040

(每小时开发人员成本)(# 查找和修复后期缺陷的小时数)(# 后期缺陷的数目)=后期缺陷修复成本

$240 + $5,040 = $5,280

早期修复成本+晚期修复成本=使用Jtest的总缺陷修复成本

($6,720 $5,040)/$6,720 =使用Jtest节省约25%的成本

(原始修复成本–带Jtest的修复成本)/原始修复成本=使用Jtest节省的成本百分比

[1)(5] / 8 =1

(查找和修复早期周期缺陷的小时数)(早期周期缺陷的数目)/(典型工作日中的小时数)=早期周期缺陷修复时间

[(1)(5)] / 8 = ~1 天

# 查找和修复后期缺陷的小时数)(# 后期缺陷的数目)/# 典型工作日中的小时数)=后期缺陷修复时间

1 + 13 = 14 days

早期修复时间+晚期修复时间=总缺陷修复时间

(18 14)/18 =使用Jtest可以节省约22%的时间

(原始修复时间w/Jtest的修复时间)/原始修复时间=使用Jtest节省的时间百分比

为了进一步左移问题的识别,Jtest使用户可以在其IDE中“即时”执行或在开发完成时进行连续分析。当引入缺陷时,这使开发人员可以在他们已经在积极使用代码的情况下修复问题。这进一步减少了与缺陷修复相关的时间和成本,并大大提高了速度质量。


结论

Parasoft Jtest是快速交付质量的关键推动因素。开发人员可以通过更好的单元测试和自动静态代码分析来减少后期缺陷,从而使他们能够将更多的时间投入到业务的新功能开发中,并且这些开发人员还可以从即时反馈中受益,能够快速识别他们的代码更改是否破坏了应用程序的功能并迅速解决了问题。Parasoft Jtest使开发团队能够敏捷,交付速度更快而又不牺牲质量,从而使业务成功。




标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
Parasoft Jtest

专业针对Java语言的开发测试方案,可无缝集成Parasoft SOAtest

在线
客服
咨询
电话
400-700-1020
在线
QQ
购物车 反馈 返回
顶部
在线客服系统
live chat