软件实现不仅仅是完成编码

软件实现,在外行的眼里,就是编码,编写完成软件功能的代码,软件就能运行起来了。如果软件实现真有这么简单,那就不会有软件工程出现了。

真正的软件实现,包括编码、代码审查、单元测试、集成测试、缺陷跟踪和改错。

编码

编码就是要编写代码以实现的软件功能。除了这一基础要求之外,程序员还应该完成下面几件事,以保证自己编写的代码的质量。

  1. 采用成熟可靠的技术,不滥用技巧

成熟可靠的技术不仅可以提高软件质量,提高开发效率,而且降低开发成本,何乐而不为呢?

  1. 对代码进行单步跟踪调试

假设我们设计和编写200行C++代码要花费一天时间(8小 时),那么对这200行代码进行单步跟踪调试大约会花费10分钟。这10分钟的单 步跟踪调试不会让我们根劳累,它带来的好处是: (1)减少了后续的测试和改错代价(远远不止10分钟的工作 量); (2)让你对自己的程序更有信心,不再为知的Bug提心吊胆,日子过得更加快乐。

所以程序员朋友们,不要拒绝单步跟踪调试了。

  1. 写日志,做周

对开发进程都有记录,不仅使项目管理有了决策依据,一旦软件发生问题,查找原因也变得容易。

  1. 做好版本管理

使用配置管理工具对代码进行版本管理,以便清楚地记录每一个新版本,并且可以根据需要随时回溯到任意一个老版本。

代码审查

代码审查通常在开发人员之间开展,用眼睛检查代码是否符合编程规范。在软件测试之前执行代码审查,可以降低测试的代码。代码审查要依据编码规范制定“代码审查表”。代码审查表中的检查项可以依据不同类型的软件项目专门定制。

单元与集成测试

一般地,单元测试和集成测试也都是由开发人员来完成。因为开发人员对代码比较熟悉,完成单元测试这样的白盒测试更具优势。

缺陷跟踪

测试缺陷应当记录并且跟踪其得到解决,这对于合格性测试来说是再正常不过的,可是对于单元测试和集成测试,特别是由开发人员自己完成的单元、集成测试,执行得就没有那么好了。因为大多数开发人员认为对于自己发现的问题修改了就好了,没有必要记录下来。但是,如果不对发现的问题进行了记录、跟踪,在需要回溯问题、快速定位修改的代码位置,会花费很大的代价;同时,对测试数据的归类分析,也会帮助开发人员建立自己的经验教训库,避免下次再犯同样的错误。

改错

改错的通常办法是“粗分细找”,首先快速定位一个大致的范围,然后使用调试工具仔细地跟踪代码的运行,以精确地定位错误的代码位置,进行修改。

修改代码时要注意下列事项:

  1. 动手修改之前,使用需求跟踪矩阵,查看是否有受待修改的代码模块影响的软件模块

如果有,要评估是否修改受影响的代码模块。需要的话,一并修改。

  1. 确认定位的代码模块是否存在其他缺陷

根据测试原理,当在某处发现测试BUG,在其附近可能存在未发现的其他BUG。所以,测试应当更加关注对已发现错误的代码模块。

  1. 对已发现的测试问题举一反三

有些错误类型可能是普遍性的,比例一些不当的编写习惯造成的规范错误,可能会在软件代码中多处出现。因此,发现这样的代码错误要举一反三,同时消除代码中其他位置潜伏的同类型的错误。

  1. 最重要的是改错完成之后,一定要回归测试

回归测试既要验证改错的正确性,也要预防引入新的错误。

所以,软件实现并没有想像的那么简单,它包括编程、代码审查、单元和集成测试、缺陷跟踪和改错等一系列活动。只有认真完成这一系列活动,软件代码的质量才能得到保证。

参考书目:《软件工程与项目管理解析》

微信赞赏专用通道

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年10月25日
下一篇 2017年10月25日

相关推荐