彩票走势图

发行软件时避免这五件事

原创|行业资讯|编辑:郑恭琳|2021-03-19 11:41:12.250|阅读 153 次

概述:软件故障的代价可以通过不同的方式来感知,例如,以上市公司的股票价格或在小公司中的股票价格,这可能意味着倒闭。

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

相关链接:

软件故障的代价可以通过不同的方式来感知,例如,以上市公司的股票价格或在小公司中的股票价格,这可能意味着倒闭。

我经常看到组织发布软件的方式与玩俄罗斯轮盘赌一样安全——与客户的安全性,私人数据和安全性进行赌博,更不用说可靠性了。他们还赌博自己公司的声誉和底线。IEEE几年前发布了一份出色的公共故障清单,您可以确定软件仍在故障。

我喜欢这种有点吓人的类比的原因是,我经常听到人们说诸如“该软件已经存在很长时间并且没有出现问题”或“我们一直以这种方式做到这一点,有效”——但当然,这是一种不好的计划方式。一家专注于软件工程的公司正在寻找构建和发布故障更少的更好软件的方法。这意味着即使到目前为止做错了事,也要通过做正确的事来积极地计划成功。

哈佛大学的研究人员发现,大约一半的IT软件项目都会失败。有很多其他人的数字,而且这个估算值并不是最高的,所以让我们花点时间。这就像在房间里打3枚子弹的俄罗斯轮盘赌一样——失败的机会为50-50。我不喜欢这些困难,当然也不会赌博我公司的未来。

让我们看一下人们每天发布软件时所进行的一些令人讨厌的赌博。如果您愿意,请使用轮盘赌枪的子弹:


1.古老的“臭虫”

我们都知道我们会发布带有错误的软件,因为完美无瑕的软件将永远被制造出来。但这绝不是解决我们所知错误的借口。关于技术债务的说法很多,但都非常抽象,但这是软件中债务的一种实际实用度量。如果那里有错误而您没有解决,则最好有充分的理由认为它没有关系。为每个版本计划一些时间,不仅要添加新功能,还要使总体情况变得更好。花一些时间来完善您的软件。


2.旧代码中的新错误

旧代码很棘手。我见过一些公司的政策是“无论如何都要对其进行清理,都要清理”,而其他一些公司的政策则是“仅触摸您必须具备的条件,并且只有在存在现场报告的错误时”。两者都是有趣的政策,但是最重要的是要了解在旧代码中发现新错误时所涉及的风险。我曾与一家硬件供应商合作,他们在如何处理一些旧代码上的新工具的输出方面苦苦挣扎。在他们的情况下,这是一个模棱两可的范围问题,仍然让我想知道他们的编译器如何允许这种疯狂。他们陷入了冲突——一方面,他们拥有了这个新工具;另一方面,除非现场提供了错误报告,否则他们不应该接触旧代码。

了解您打算对遗留代码执行的操作很重要,同时也要充分了解其对组织的风险。如果代码很关键,那么年龄可能并没有您想的那么重要。如果不赞成使用该代码,则可能是您在浪费时间测试您不打算解决的问题。


3.安全是测试而不是开发的一部分

对于组织而言,忽略安全性是非常令人沮丧的事情。在某些情况下,他们认为可以在应用程序中测试安全性(不能),而在其他情况下,他们认为安全性问题不适用于他们的代码(可以)。为了摆脱这种持续不断的安全失败的麻烦,组织必须使用可靠的AppSec最佳实践来强化代码,这在静态分析工具中已得到了广泛的应用,而静态分析工具不仅仅可以进行流程分析。如果您不知道从哪里开始,那么简单地采取MISRA规则并从今天开始编写的任何代码开始遵循它们就不会受到伤害。


4.永远失败,不断通过的测试套件

我看到的一种极为常见和危险的做法是拥有一个庞大的测试套件,并依靠通过的测试数量的简单度量。例如,您通常具有80%的通过率,因此您认为这会很好。问题在于,无法知道今天通过的80%是否与昨天通过的80%相同。很可能会因为80%(有)隐藏了新的实际故障,因为其他问题已解决,从而使故障数保持平衡。保持您的测试套件干净,或者告诉您的内容不多。我会严重质疑您可以轻松忽略的测试失败的价值。为什么不跳过该测试——这是一种更诚实,更有用的方法。


5.发布日历

日历仍然可能是最常见的关键发布标准。人们选择了一个日期,现在要发布,因为该日期到了。当然,有一些外部问题会影响您的发布时间表,但仅仅是因为日期已到,并不意味着可以将拙劣的软件推销给毫无戒心的即将成为客户的客户。准备就绪/安全/稳定/良好时释放。如果日历是固定的约束,请确保您的流程将按时到达。


综上所述

您可以先释放多少次才能付清代价?以我们的俄罗斯轮盘赌为例,最多六个,也许只有一个。让我们竭尽所能,以确保我们将交付具有最佳成功机会的最佳软件。


标签:

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


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关产品
Parasoft C/C++test

针对 C/C++ 软件开发提供统一、完全集成的测试解决方案。

Parasoft Jtest

用于应用软件开发的集成Java测试工具

Parasoft SOAtest

人工智能和机器学习赋能 API 和 Web 服务测试

Parasoft Virtualize

用于创建、部署和管理模拟的开发与测试环境的虚拟解决方案

Parasoft DTP

开发测试平台,通过在SDLC中持续应用软件质量最佳实践降低了商务风险

title
title
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP