(续上。。。) 既然我们已经知道了修复什么样的bug最耗时耗力了,我们就应该知道怎么做最能有效地减少bug,提升质量。发现和修复bug的平均成本并不会随着时间的过去而降低,但是通过改善测试流程并实现测试的自动化,能够总体降低维护成本。下面的图表说明,制定一个更加完善的测试流程是如何降低软件的维护成本的。
图:软件的维护成本随着软件测试流程的不断成熟而不断下降 不同的组织机构的测试流程的成熟度可能是不同的。有些机构可能根本没有正式的测试基础框架,而有些组织,比如Google,却有完善的测试框架和流程。大多数组织可能都处于这两个极端之间。 我们应该从哪里开始着手来提高质量呢?和大多数工程任务一样,最有效的方法就是制定一个有规则的、按步实施的流程。所有的改变都要以前面所做的改进为基础,如下图所示。
图:软件测试流程可以逐步完成 通过采取注重预防bug,而不是修复bug的方法,企业或机构就能解放更多宝贵的工程师资源,来研发新产品,从而开拓出更大的市场。
要减少修复bug的成本,最好先引进静态分析和代码覆盖率工具。实施这些工具的时候,不需要改变开发团队的工作流程,只是会生成一些可操作的指标来帮助提高质量。VectorCAST/Lint静态分析工具会报告有问题的以及难以维护的编码结构。VectorCAST/Cover代码覆盖率工具会报告源代码中哪些代码已经经过检测,以及哪些尚未经过检测。 各个研发机构要先确定他们的软件测试流程的成熟度,并能够和他们的团队一起了解他们所面临的挑战,帮助他们改进测试方案,在产品发布前减少bug,加快投放市场的步伐,提高投资回报率。
|