background image

  只有建立了质量标准,才能根据测试的结果,对产品的质量进行分析和评估。同样,测试用例
应该确定期望输出结果。如果无法确定测试期望结果,则无法进行检验。必须用预先精确对应的输
入数据和输出结果来对照检查当前的输出结果是否正确,做到有的放矢。
  原则

10: 测试贯穿于整个生命周期

  由于软件的复杂性和抽象性,在软件生命周期的各个阶段都可能产生错误,测试的准备和设计
必须在编码之前就开始,同时为了保证最终的质量,必须在开发过程的每个阶段都保证其过程产品
的质量。因此不应当把软件测试仅仅看作是软件开发完成后的一个独立阶段的工作,应当将测试贯
穿于整个生命周期始末。
  软件项目一启动,软件测试就应该介入,而不是等到软件开发完成。在项目启动后,测试人员
在每个阶段都应该参与相应的活动。或者说每个开发阶段,测试都应该对本阶段的输出进行检查和
验证。比如在需求阶段,测试人员需要参与需求文档的评审。
  原则

11: 第三方或独立的测试团队

  由于心理因素,人们潜意识都不希望找到自己的错误。基于这种思维定势,人们难于发现自己
的错误。因此,由严格的独立测试部门或者第三方测试机构进行软件测试将更客观、公正,测试活
动也会达到更好效果。
  软件开发者应尽量避免测试自己的产品,应由第三方来进行测试,当然开发者需要在交付之前
进行相关的自测。测试是带有破坏性的活动,开发人员的心理状态会影响测试的效果。同时对于需
求规格说明的理解产生的错误,开发人员自己很难发现。
  但是,第三方或者独立的测试团队这个原则,并不是认为所有的测试完全由他们来完成。一定
程度的独立测试(可以避免开发人员对自己代码的偏爱),可以更加高效的发现软件缺陷和软件存
在的失效。但独立测试不是完全的替代物,因为开发人员也可以高效的在他们的代码中找出很多缺
陷。在软件开发的早期,开发人员对自己的工作产品进行认真的测试,这也是开发人员的一个职责
之一。