acm-header
登录

ACM通信

软件业务

不要给我一个好主意


灯泡上方的红色条

你想知道怎么引起我的注意吗?”贾森·卡利奇反问观众。“首先,别给我提什么好主意——我已经有很多好主意了。”Kalich是微软关系体验部门的总经理,他参加了在芝加哥举行的Quest会议的主题小组。一个小组中的三位行业专家回答了主持人丽贝卡·斯塔顿-赖斯坦提出的问题:“我如何让我的经理接受(软件质量和过程变更计划)?”听众由几百名软件专业人员组成,他们中的大多数在软件质量、测试和过程管理领域工作。Kalich显然对这个话题思考了很多,他对这个主题很感兴趣:“不要给我节省成本。节省成本是好事,但这不是我真正感兴趣的。”为了强调,他停顿了一下。“给我带来收入增长,我就会听你的。给我带来新价值,新产品,新客户,新市场:然后你就能得到我的关注,然后你就能得到我的支持。别给我带来好主意。不感兴趣。”

回到顶部

赞助

获得对软件开发过程变更的支持是必不可少的。瓦茨•汉弗莱的过程变革六项规则中的第一条是“从顶层开始”,无论你试图做出何种变革,都要得到高管的支持。1没有坚实和持续的行政承诺来支持变革,它们通常会在藤蔓上枯萎。但是软件质量专业人员是如何得到这种支持的呢?Kalich和其他小组成员坚持认为,在当前的经济环境下,即使有可能节省成本的支持,一个好主意也无法奏效。

专家组的意思是好的想法就是这样。降低成本虽然有价值,但往往是不可压缩的——一旦实现了10% - 20%的成本节约,进一步的节约通常会变得越来越困难。降低成本就像压缩弹簧,它可能需要越来越多的能量,而运动却越来越少。

我环顾四周,虽然有人点头表示理解,但也有很多人茫然地盯着我,因为他们试图弄清楚:我怎样才能把我的过程主动性变成一个利润中心?赚钱并不是流程变更的典型目标,正如它通常被实践的那样,根据专家组的说法,这可能是为什么它并不总是得到它可能得到的支持。

但实际上该怎么做呢?那天下午,我参加了一个演示,展示了如何做到这一点,以及需要哪些关键的成功因素才能使其发挥作用。

回到顶部

SmartSignal

“预测分析是一个非常复杂的数据集,”George Cerny说,“我们的系统预测商用飞机、发电站和石油钻井平台可能出现的故障,有时在故障可能真正发生的几周前就会发生。”Cerny是SmartSignal的质量保证经理,b这是一家总部位于伊利诺伊州的数据分析公司。

为了管理预测分析,必须对大型和复杂的系统进行测量,必须从许多不同的来源收集大量复杂的数据:泵、功率表、压力开关、维护数据库和其他设备。有时数据是实时收集的,有时是批量收集的。对简单数据进行监视以获得阈值条件,对复杂交互数据进行分析以获得组合条件。分析系统必须识别出指示组件、子系统或系统故障的未来可能性的模式,以及该故障可能发生的概率。然后它需要报告它的发现。有时这些报告又大又详细;有时它们是紧急和直接的。

“但在这一切发生之前,必须建立分析系统。”赛尔尼说。“这个设置需要手动和大量的数据输入。一个发电站可能有数百项设备需要被监控。每个项目可能有数百个必须在短、中、长时间内进行的测量。每次测量都可能与同一设备或其他设备上的许多相似或不同的测量相关联。”屏幕上闪烁着一串又一串的数据项。“那么我们该如何验证这一点呢?”在我们把它投入使用之前,我们如何确保这个系统是有效的?”

回到顶部

测试系统

测试是几个包含知识的工件的交互,如图所示。其中一些工件必须以可执行的软件形式存在,但许多其他工件通常采用纸张格式,需要手工处理。

Cerny是这样描述的:“我们很早就意识到我们必须使用虚拟机进行测试,但我们该如何进行测试呢?我们如何确保在数量和环境和输入的复杂性方面都具有可伸缩性?”对于SmartSignal的测试组来说,测试自动化显然是一个好主意。但是如何为这个好主意获得赞助呢?

SmartSignal的首席执行官吉姆•加纳德是这样说的:“我们是一家软件公司,我们的产品衡量质量,如果我们不能做到每件事都做到最好,那么一切都是有风险的。领导者可以帮助定义和强化企业文化,从而取得这些成果,但如果没有真正掌握问题的正确人才来补充,就不会起作用。”

SmartSignal应用工程副总裁Dave Bell和产品开发副总裁Stacey Kacek对此表示赞同。卡切克说:“我们一直在寻找用自动化版本取代人工操作的方法。一旦它起作用。”Bell补充道:“虽然管理团队理解测试自动化的优势,而且我们都有工程背景,但我们必须不断问:如何获得投资“我们的驱动力是为客户寻找创造性的决策方式,我们称之为‘实现价值的速度’”卡切克断言。

回到顶部

一些步骤

Cerny描述了他们在SmartSignal建立自动化测试系统所采取的一些步骤:

  • 构建到虚拟机和虚拟化以隔离设备依赖;
  • 从简单地使用逗号分隔的脚本和分层树数据视图开始;
  • 建立一个函数名称目录;
  • 将全局变量(在任何环境中运行)与局部变量分离;
  • 将对象识别排除在脚本之外,同时使用静态和动态绑定;而且
  • 在转移到生产环境之前,首先在开发团队中自动验证概念。

回到顶部

测试知识就是系统知识

这些步骤是任何人在自动化测试中都可能采取的典型工程设计操作,或者实际上,在自动化任何过程或任何系统中都可能采取这些操作。但在这种情况下,情况有所不同。

“资产配置是电力行业的一个大问题。”Cerny在Quest的演讲中说。“想象一下建一座发电站:什么样的设备应该放在哪里?使用哪些泵并连接到哪些其他设备?传感器安置在哪里?什么是最有可能降低工厂整体故障率的‘最佳’设备配置?”

分析测试系统的设计是为了证明分析系统本身的工作。要做到这一点,必须将测试系统设置为适当的目标系统配置(当然是自动的)。正常的测试功能是为了显示分析系统将按照为特定目标系统构建的方式工作。但如果我们能扭转局面呢?如果我们用我们的测试能力来找出答案呢什么样的配置会显示最低的失败率?这样做可以让现场工程师和发电厂设计师为不同的系统配置建模,以降低故障发生的可能性之前他们实际建造和安装它们。


如何建立测试系统的知识也是如何建立目标生产系统的知识。


测试系统中的知识与目标系统中的知识相同。如何建立测试系统的知识也是如何建立目标生产系统的知识。自动化这些知识允许在构建系统之前对其进行模拟。

回到顶部

一个真的好主意

这就是Jason Kalich和Quest团队所寻找的。在SmartSignal将测试系统自动化并不仅仅是为了稍微加快速度,让测试人员的生活更轻松,或者节省几美元。这不仅仅是在有限的时间内完成更多的测试,或者减少测试设置、分析和报告时间。它变得与众不同变成了一个构型模拟器,这是一个新产品。

如果我们以正确的方式自动化知识,甚至是内部软件过程知识,它可以以许多不同的方式使用,甚至可以用于创建新的功能和客户愿意支付的新产品。

现在这是好主意。

回到顶部

参考文献

1.汉弗莱,W。软件进程管理。普伦蒂斯·霍尔,纽约,1989,54。

回到顶部

作者

菲利普·g·阿默尔armour@corvusintl.com)是伊利诺伊州鹿园市Corvus International Inc.的高级顾问。

回到顶部

脚注

一个。http://www.qaiquest.org/chicago/index.html

b。http://www.smartsignal.com

DOI: http://doi.acm.org/10.1145/1866739.1866748

回到顶部

数据

UF1数字测试中涉及的包含知识的工件。

回到顶部


版权归作者所有。

数字图书馆是由计算机协会出版的。版权所有©2011 ACM, Inc.


没有找到条目

Baidu
map