您的位置: 首页 >精选综合 >

为了获得高质量的软件开发团队需要定义质量一词

2019-04-16 09:15:55 编辑: 来源:
导读 软件库,供应商或团队声称他们开发高质量的软件并不罕见。这个宣言的问题在于,不同的开发人员和团队之间的质量定义可以有很大的不同。一个

软件库,供应商或团队声称他们开发高质量的软件并不罕见。这个宣言的问题在于,不同的开发人员和团队之间的质量定义可以有很大的不同。一个团队可能会认为任何符合MISRA-C的代码库都是高质量的代码库,而另一个团队可能只关心每个函数的圈复杂度为10或更低。其他人可能只是运行一些测试用例并声称他们的软件没有错误,因此也是高质量的软件。由于每个人都有自己的质量定义,因此团队必须以一种既不是文件记录也可以衡量的方式来定义质量。在这篇文章中,我们将探讨几个可用于定义软件质量的可衡量的软件度量标准。

嵌入式系统行业充满了标准,旨在帮助开发人员避免摆在他们面前的开发人员的陷阱和痛苦。这些标准的重点可能略有不同,从简单的风格标准到MISRA-C等标准,为开发人员提供了C语言的子集。按照规定的标准开发软件可以避免常见的陷阱。最终,它提升了软件的质量。

成千上万的新英格兰工程师和拥有购买力的高管将来到新英格兰设计与制造公司,这是该地区最先进的制造业展览会。他们的第一目标:寻找供应商。为了吸引他们,数百家公司将参加展会。如果您现在预订展位,可以加入他们。

在验证编码标准时,通常有两个必需的组件:自动工具分析和代码审查。例如,MISRA-C是开发人员遵循的一种非常常见的编码标准。静态代码分析器可用于验证标准中90%的指令,但有些指令无法通过工具进行验证。为了确保满足标准,开发人员需要定期执行代码审查并手动检查剩余的指令。满足标准可以是确保在软件中满足最低质量水平的好方法。

我认为每个开发团队应该监控并添加其质量定义的我最喜欢的质量测量之一是McCabe Cyclomatic Complexity测量。这是一个简单的测量,可以在任何确定通过函数的路径数的函数上执行。值为10或更小的函数被认为是易于测试和维护的简单函数。尽管如此,测试所需的路径数量开始变得更加复杂,困难,并且易于开发和维护,这可以用来表明代码质量较低。事实上,当复杂度数接近大于20的数字时,几乎不可能正确地测试函数。如果无法正确测试功能,如何显示其正常工作?

测量复杂性也可以是自动化过程。有免费的工具,如CCCC和Eclipse测量仪插件,可用于测量圈复杂度。还有IDE,例如Understanding,可用于收集有关代码库的度量信息。成功测量该指标的关键是:首先,决定进行测量;第二,在将新代码检入代码库之前执行测量。它也应该在持续集成服务器上执行。

我遇到的软件库和代码库太多,没有警告就不能编译。警告是编译器告诉开发人员他们正在做一些看起来不太正确的事情的方法。鉴于大多数编译器都会让开发人员在代码中做一些可怕的事情,编译器通过警告调用开发人员的事实意味着开发人员应该注意!在没有单一警告的情况下编译的代码是一种易于衡量的指标,表明软件满足其他软件可能无法满足的质量水平。它仍然可能存在错误或其他质量问题,但至少代码本身在语义上是正确的。

我认为,我在行业开发周期中看到的最大缺陷之一是开发能够获得100%代码覆盖率的测试。实际上,问题不在于100%的代码覆盖率;它只是了解测试实际覆盖的代码量!如果团队知道他们的测试用例覆盖了85%的软件,那将是一回事。然而,大多数团队甚至都不知道。代码覆盖率可以是跟踪显示软件质量水平的重要指标。显然,已经测试到85%的东西将比仅测试到50%的东西更强大和更高的质量。开发人员可以测量此值并将其用作代码质量的内部指标。我们将在以后的文章中介绍如何执行此操作。

代码验证与测试覆盖类似,不同之处在于我们不是测量覆盖了多少代码,而是测量实际通过或失败的测试百分比。例如,我们可以根据以下因素生成数值:

使用这些指标,我们可以根据测试执行的成功程度生成0到10范围内的数值。然后,这为我们提供了一个评估指标,如果我们没有达到所需的代码验证级别,我们可以返回并改进测试过程,直到我们达到所需的级别,这也对应于所需的代码质量级别。

为了获得高质量的软件,开发团队需要定义“质量”一词。该定义应包括可在整个开发过程中轻松跟踪和监控的可衡量指标。在本文中,我们探讨了一些高级定义,这些定义应该是为了创建高质量代码库而遵循的最小度量和过程。实施这些指标不仅可以帮助您提升一般代码质量,还可以消除和防止软件缺陷。

Jacob Beningo是一名嵌入式软件顾问,目前与十几个国家的客户合作,通过提高产品质量,成本和上市时间来大幅改变他们的业务。他发表了200多篇关于嵌入式软件开发技术的文章,是一位广受欢迎的演讲者和技术培训师,拥有三个学位,其中包括密歇根大学的工程硕士学位。请随时通过jacob@beningo.com或他的网站与他联系。另外,请注册他的每月Embedded Bytes时事通讯。


免责声明:本文由用户上传,如有侵权请联系删除!

最新文章

精彩推荐

图文推荐

点击排行

2016-2022 All Rights Reserved.平安财经网.复制必究 联系QQ   备案号:

本站除标明“本站原创”外所有信息均转载自互联网 版权归原作者所有。

邮箱:toplearningteam#gmail.com (请将#换成@)