浅谈软件开发的投资回报率-凯发官方首页

浅谈软件开发的投资回报率-凯发官方首页

| | english

新闻中心

凯发官方首页-凯发娱乐登录  >  新闻中心  >  产品动态

软件测试的投资回报率(一)

        由于涉及到的参数众多并且参数属性不同,投资回报率的计算通常比较复杂。这些影响因素有的相对来说容易识别,有的则是比较难以获取和计量。在这本白皮书里,我们识别和讨论了9个影响与静态分析相关的投资回报率的关键因素。同时我们也设计了基于来自实际开源项目分析代码的案例来帮助我们论证和量化对投资回报率的潜在影响。

        准确计算投资回报率是一项非常复杂的工作,他要求我们考虑多方面的影响因素,比如预估收益来源、确定回报周期、量化资本成本、评估预测精度、分析潜在风险等等。在这诸多影响因素当中,成本和收益无疑是投资回报率的核心问题。

        接下来的几天里,我们将逐一分析软件开发生命周期(sdlc)的9个关键行为与投资回报率的关系。这9个关键行为对软件开发的成本及收益起着决定性的作用。

1. 缺陷生命周期管理

        缺陷何时被引入?缺陷何时被消除?这两个问题对投资回报率有着显著的影响。对大量软件开发项目进行研究后,学者发现缺陷的引入存在着一个普遍的规律:

软件开发阶段

引入缺陷数量

撰写需求文档

50% - 60%

软件详细设计

15% - 30%

软件开发

10% - 20%

其他 (e.g. bad fixes)

< 20%

 
        此外,学者发现消除缺陷的时机与消除缺陷的成本呈指数关系:随着软件开发流程的推进,消除缺陷的成本迅速攀升。下表展示了在软件开发的不同阶段消除缺陷所耗费的成本。

软件开发阶段

消除缺陷的成本

requirements

1x

design

3-6x

coding

10x

development

15-40x

acceptance

30-70x

operations

40-1000x

        为了降低缺陷对软件开发的影响,人们孜孜不倦地寻找防止缺陷引入,以及尽早消除缺陷的方法。

2、测试

        若某个缺陷一直没有被发现,人们往往下意识地将其归咎于测试环节。长期以来,业界对测试保持着神化般的宣传,这如同一个硬币的两面。

        测试与功能需求强相关。当一个软件系统只满足功能性需求,而不考虑非功能性需求,那么这个软件系统必然是不可靠的。

        没有100%测试覆盖率。生成执行所有语句、分支、条件及边缘情况的测试用例是不切实际的,大量的测试用例将导致项目的收益锐减。若代码中存在不可行路径、死代码或防御性编程,100%测试覆盖率更是近乎天方夜谭。

        与此相对应的是,静态分析可以实现代码分析的全覆盖,数据流分析技术更是提供了一个行之有效的途径,帮助开发者识别出代码中潜在的不同等级的问题,如冗余操作、空指针取值、溢出等等。

        测试成本很高。测试人员检测出软件中的缺陷后,要求开发人员返工消除这些缺陷。一般来说,一个缺陷需要经过多次测试、多次返工才能被彻底消除。同时随着软件开发进度的不断推进,很多缺陷直到软件生命周期的后期才被发现,这将导致消除缺陷的成本急剧攀升。事实上,大量的返工,往往是整个开发项目中成本相当大的一块。

        测试导致软件交付延迟。测试阶段检测出来的缺陷,需要返工到开发阶段进行修改、重整合及重新测试。大多数时候,返工将影响项目的交付时间,导致计划下周交付的项目,突然间推迟到下个月,甚至更久。

        在实际项目当中,一次返工往往无法消除缺陷。一次次的测试、修改、再测试、再修改,导致项目交付一而再再而三地延期。很多时候,初次返工并没有解决问题,而返工过程中又引入了新的缺陷。

        测试时代码的结构质量很重要。代码越复杂,测试越困难,复杂度的线性增长将导致测试难度呈指数级增长。在设计/编程阶段对代码复杂度有意识地进行控制尤为重要。

        测试人员更加关注代码的功能性,他们不希望被代码的结构性问题分散精力,更不希望代码中的功能缺陷被结构性问题所掩盖。

        测试需要经验。测试工作对非常依赖于测试工程师的自身经验。即使采用自动化测试工具,测试工作仍是一项十分细致的工作。

        把代码静态分析从测试阶段提前到编程阶段。毫无疑问,代码的开发人员需要对软件的质量负主要责任。

        使测试更有效。我们必须把握好功能性测试和结构性性测试之间的平衡,以保证代码性能稳定,高内聚、结构良好。

        这里举个反面例子:开发人员对遗产代码进行一次次的修改,导致代码异常混乱,难以理解,代码功能和结构很容易被破坏,进而产生不可预料的后果,这导致开发人员在后续过程中花费更多时间去维护,进而陷入恶性循环。

 

 

关于恒润
凯发娱乐登录的简介
企业理念
企业资质
新闻中心
恒润在全球
诚聘英才
校园招聘
实习生招聘
社会招聘
走进恒润
常见问题
市场活动
在线研讨会
凯发官方首页的线下活动
微信课堂
用户社区
资料下载
恒润月刊
用户留言
个人中心
pmt留言
相关链接
联系凯发官方首页
电话:010-64840808
邮箱:market_dept@hirain.com
凯发娱乐登录的版权所有 © 北京经纬恒润科技股份有限公司 京icp备 京公网安备11010802017344号 ")); 网站地图 | 招聘信息 | 法律声明 | 隐私保护
网站地图