彩票走势图

增加Java单元测试ROI的简单方法

原创|使用教程|编辑:郑恭琳|2021-01-11 15:35:44.177|阅读 138 次

概述:了解如何将单元测试工作减少至少50%。通过这些节省,软件团队可以在不牺牲质量的情况下提高生产力,并显着减少交付时间。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:


了解如何将单元测试工作减少至少50%。通过这些节省,软件团队可以在不牺牲质量的情况下提高生产力,并显着减少交付时间。

Capers Jones的工作对任何行业的软件开发人员来说都是一笔宝贵的财富。他一生都在研究软件项目的成功与失败,其中大部分是在2011年出版的《软件质量经济学》中达到顶峰。尽管企业Java开发人员可能会认为此收集的信息对他们没有吸引力,但我认为他们缺少一些有价值的见解。

这里有一些令人震惊的统计数据,它们适用于使用Scrum和最新软件工具的开发人员,与其他任何类型的软件开发一样。总体而言,软件业在开发上花费的每一美元,其中的50美分用于维护以及查找和修复错误。但是,尽管团队尽了最大的努力,但大多数测试形式只能删除大约35%的错误,从而在软件中留下了大多数错误。

Jones在很大程度上是“左移测试”的早期支持者,尽管他可能从未使用过该术语。在软件生命周期中尽早发现并修复缺陷(尤其是需求,分析和设计中的缺陷)是提高软件质量的关键。有趣的是,Jones通过与许多供应商用来计算工具ROI的每次缺陷成本度量标准进行比较而脱颖而出-如果有的话,每次缺陷成本会低于自动化工具的ROI和左移测试工作。


当前的测试成功率


我们已经知道,软件开发人员将其开发预算的一半用于查找和修复错误,并且当前的测试方法仍将三分之二的错误留在了软件中。这是一些更有趣的统计数据:


  • 即使使用最新的软件开发方法,最佳项目中的缺陷清除率也大约为85%。这意味着尚有15%的缺陷尚未发现并进入最终产品。
  • 大约6%的测试用例本身具有测试用例中的错误。
  • 在大型项目中,多达20%的回归测试是重复的,这增加了测试成本,但无助于提高产品质量。
  • 大约7%的错误修复包括新错误。因此,即使在解决错误的同时,也引入了新的错误。



测试自动化和Parasoft Jtest单元测试助手如何提供帮助

正如我们过去多次说过的那样,单元测试是必要的,但又是乏味的要求。测试自动化可以消除开发人员的许多繁琐过程,但是测试开发和维护仍然是Java开发人员在进行代码的单元测试时面临的关键问题之一。在上一篇文章中,我概述了如何使用Parasoft Jtest进行自动单元测试创建,以及如何在提高单元测试效率和结果的同时,还降低了模拟复杂性和测试用例维护。继续本主题,让我们考虑通过自动创建单元测试实现的经济利益及其对测试工作的影响。

Parasoft最近进行的一项调查中,我们了解到,大多数开发人员在单元测试上花费了大约40%的时间。考虑到由十天组成的为期两周的开发迭代周期,因此四天专门用于测试。显而易见,为什么测试会成为拖累迭代和敏捷软件开发速度的障碍。另外,当前的测试成功率意味着该时间量还不够,甚至更重要的是,需要一种减少时间并改善结果的方法。

我们也一直在忙着使用Parasoft JtestJava进行客户数据检索,这非常令人鼓舞。Java开发团队发现单元测试工作量至少减少了50%。换句话说,他们可以使用Jtest和单元测试助手在两天内完成四天的单元测试。这种基于单次迭代的节省是令人印象深刻的,但是当在典型项目中将其与许多迭代相加时,这种节省变得更加明显。例如,如果一个典型的项目每三个月发布一次,并有6个开发迭代,那么Jtest可以节省相当于1.2迭代12天的开发工作量。通过这些节省,软件团队可以在不牺牲质量的情况下提高生产力,并显着减少交付时间。更好的质量和准时(甚至更早)交付?这些都是巨大的经济利益。


提高质量的真正投资回报率

提高质量的投资回报比修复缺陷的成本要多。在生命周期的早期修复错误的成本较低,这样做可以节省您的钱。尽管这是一项指标,甚至仅此一项就足以证明投资质量更好,但实际上却低估了ROI

导致项目延迟的主要原因之一是缺少缺陷和安全漏洞,这些缺陷和安全漏洞已进入产品开发周期的后期。当然,较早发现并修复这些问题的成本较低,因为开发团队仍在脑海中重新思考代码,并且没有进行下一个迭代(或相关项目)。

仅使用每次缺陷成本指标和方法来计算ROI,请考虑上面的示例,该团队由20人组成的团队从事一个项目,每小时的负荷率为100美元。该团队使用具有所有优点的新测试自动化工具(左移缺陷识别),比以前的迭代发现了20多个缺陷。尽早发现并修复这些错误可能需要每个缺陷三个小时,总计6000美元。稍后在集成或系统测试中发现并修复这些错误可能会使工作量增加三倍,而费用为18000美元。简而言之,对于此迭代ROI12000美元。听起来不错吧?但是,这并未将sprint节省2天的开发时间,也没有节省32000美元并提高了生产率。

纵观全局,可以看到减少整个发行版的开发时间才是真正的省钱之道,而不是每次缺陷成本。左移的真正收益是达到或超过项目进度和目标。再次考虑上面的示例,但是这次以整个开发团队提前12天完成发布的角度来看投资回报率。对于这个团队来说,这是12天的20人工作,总计192000美元!尽管这个简单的例子很明显,但它确实指出,在不牺牲质量的前提下,将产品更快地投放市场时,工具的投资回报率是在团队级别实现的。


结论

传统的单元测试方法会消耗大量的软件开发时间,并且这些方法的结果需要改进。Parasoft Jtest可以帮助减少50%的单元测试工作量,这在质量和减少迭代进度方面都具有可观的回报。

当您考虑单元测试对团队和整个项目的影响时,这些工具的投资回报率就非常重要。与简单的按缺陷成本分析不同,按时完成项目并满足目标要求是巨大的回报,并且在这样做的同时节省了时间和金钱,这使它变得更好。



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP