《颠覆完美软件:软件测试必须知道的几件事》:
4.不使用通过测试或其他渠道获得的信息:如果准备忽视测试提供的信息,或者无论测试产生怎样的结果都准备按照预定计划进行下去,就不要进行测试。(实际上,如果不使用这些信息的话,它们实际上就不能被看成是信息。)
5.做出感性的而不是理性的决定:这并不是说要绝对理性,但在做决定时至少应该冷静并控制好自己的情绪。
6.不对测试数据的质量进行评估:数字本身只是数字。要学会问:“获得这一数字的过程是什么样的?”“这个数字有何含义?[2]”
7.在未做充分准备的情况下进行测试:“充分准备”是指要准备好在出现问题时发现它们的存在。这种准备可能小到建立对待测应用的目的和本性的基本了解。这并不是说在开始运行每个测试之前都要为它们确定完整、清晰的预期结果。要做好充分的准备,还应该做好个人准备:准备好学习、准备好设计、准备好有效地行动。
8.未能协调好测试和项目其他工作的关系:如果不准备给开发人员必要的时间或资源来修复测试中发现的问题,花在测试上的精力就是一种浪费,所以还不如跳过它。测试是一项技术开发支持活动,需要和需求、设计、编程、文档、制造及支持过程协调起来。为了将测试和项目周期的其他部分协调起来,咨询和测试专家JamesBach对自己提出了三个问题:“我现在可以做什么来为项目做出最大的贡献?我现在需要做什么以便准备好明天或者下个月为项目做贡献?由于我们已经达到了‘足够好’的状态,现在可能需要削减哪些测试活动以便将这些时间投入新的工作?”
9.催促测试人员:测试通常是非常精细的工作。催促测试人员更快地进行测试往往会产生危险的有误导性的结果,尤其是在测试人员感到害怕、疲劳或者表现出愤世嫉俗的时候。
10.不坚持要求经理付出应有的勤奋:如果允许经理以不了解测试过程为借口让存在缺陷的产品通过,那么可能还是不测试更好。当心测试人员以“我们不可能知道是否发现了所有错误”为理由来掩盖实际上的疏忽。
……
展开