16.4.6 代码稳定性和缺陷

正如前面简单地提到过,如果代码没有足够的测试和评估,你的Web应用不可能是完美的,也不可能非常安全,或者到处都是缺陷。开发人员不能把这当作是批评,但是这却是编程人员普遍存在的问题,因为是我们编写的代码。

当用户连接到网站,在搜索对话框中输入一个关键字(例如,"defenestration"),点击“搜索”按钮,如果用户看到如下所示的输出结果,他肯定对我们系统的健壮性和安全性没有信心:


¡Aiee!This should never happen.BUG BUG BUG!!!!


如果在应用开始阶段计划其稳定性,我们可以有效的降低由于人为错误带来问题的可能性。

计划步骤包括如下所示:

■完成完整的产品设计阶段,可能的话还要设计原型。越多人参与项目计划的评估,就越有可能在开始项目之前发现问题。这个阶段也是执行用户界面可用性测试的最佳时间。

■为项目分配测试资源。很多项目在测试方面都非常“吝啬”,或者可能为一个50个开发人员的项目雇佣一个测试人员。通常,开发人员不是优秀的测试人员!他们可能擅长确保代码能够正常处理正确的输入,但是却不擅长找到其他问题。大多数软件公司的开发人员和测试人员的比例都接近1:1,虽然老板不太可能雇佣更多的测试人员,但是某些测试资源对应用的成功是至关重要的。

■开发人员使用某些测试方法。这可能无法发现一个测试人员能够发现的所有缺陷,但是这样防止产品出现衰退——一种由于代码修改导致曾经被修复的问题或缺陷又重新引入的现象。开发人员在所有单元测试成功之前不能提交对项目的新修改。

■在应用部署之后监视其运行。通过定期查看应用的日志、用户/客户的反馈,可以看到是否出现了任何重要问题或可能的安全漏洞。如果是这样,可以在这些问题更严重之前立即着手解决。