软件变更过程中的哪些操作可能会带来新的问题?

当软件需求发生变更,或者为了修复软件缺陷,软件开发人员就需要对软件进行更改。可是,只要对软件进行更改,就有可能会引入新的缺陷。所以,软件在进行更改之后,就要通过回归测试确保更改之后的软件仍然是正确的。

那么,哪些更改会有引入新的缺陷的风险呢?

软件开发的工作产品包括代码、数据和文档。下面分别从这三个方面讲述:

  1. 修改代码可能产生新的缺陷的操作

只要动了代码,就有可能引入新的缺陷,但是,下列操作引入缺陷的风险更大:

  • 删除或修改一个子程序;

  • 删除或修改一个语句标号;

  • 删除或修改一个标识符;

  • 为改进性能所做的修改;

  • 修改文件的打开或关闭模式;

  • 修改运算符,尤其是逻辑运算符;

  • 把对设计的修改转换成对代码的修改;

  • 修改边界条件的逻辑测试。

  1. 修改数据可能产生新的缺陷的操作

这里所说的修改数据是指改动代码中的数据结构。当数据结构一旦发生改动,可能会由于新的数据结构不适应原有的设计而产生新的缺陷。下列的有关修改数据的操作可能会产生新的缺陷:

  • 重新定义局部变量或全局变量;

  • 重新定义记录格式或文件格式;

  • 更改一个高级数据结构的规模;

  • 修改全局数据;

  • 重新初始化控制标志或指针;

  • 重新排列输入/输出或子程序的自变量。

  1. 修改文档可能产生新的缺陷的操作

软件发生更改之后,同时可能会引起需求、设计、测试发生改动。要使软件产品与其需求、设计、测试的状态相一致,就要及时修改这些文档。如果这些文档没有及时更新,很可能会给后续的开发和维护工作带来不便。

所以,我们在进行软件更改之时,要做好变更影响分析,确定好更改方案,小心谨慎地修改代码、数据和文档,做好回归测试,尽可能地避免引入新的缺陷。

这正是:

变更隐藏大危险,小心考虑各方面

文档数据和代码,危险操作看一看

参考书目:软件工程(第4版),作者:张海藩 吕云翔,出版社:人民邮电出版社有限公司

作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000咨询以及软件过程改进、软件工程能力提升的研究工作。

软件变更过程中的哪些操作可能会带来新的问题?》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.hashtobe.com/964.html