1》人类不是完美的思考者
真正的人知道,无论他们如何尽力地想完成好一项工作,都有可能会出错。
2》我们要做出有关软件的决定
我们常常在没有意识到情况下进行测试,并加以分析。
3》决定可能是有风险的
- Q1:我对这一产品的风险存在哪些疑问?测试是否有助于解答这些疑问?--如果NO,就不用测试。
- Q2:进行这些测试的成本是否超过了答案本身?
风险存在主观性的另一原因在于,不同的人对同一种风险的感受是不一样的。
4》测试可以提供降低风险的信息
测试本身也许并不能回答某些问题,但是它能够提供一些信息。将这些信息与开发过程的信息结合起来,可以帮助我们降低风险。
- Q1:软件是否能够做我们希望它做的工作?
- Q2:如果不能,需要做多少工作才能解决这个问题?
- Q3:软件是否没有做我们不希望它做的事?
- Q4:软件是否能够达到我们的意图?
- Q5:软件能够做我们的用户希望它做的事吗?
- Q6:软件是否满足了其它的商业要求?
- Q7:失败的可能性和后果严重性如何?
总结:我们是不完美的、不理智的、价值驱动的、相互不同的人,因此,我们要进行测试,并对测试(过程和方法)进行测试。
常见错误:
- 1) 力争完美
- 2) 不做决定
- 3) 未认识到做出决定所需的所有信息
- 4) 错误地考虑了风险的优先级
- 5) 相信测试可以改进产品
- 6) 相信存在一个“测试阶段”来完成所有的测试而且只进行测试
本文转自DavyYew
51CTO博客,原文链接: http://blog.51cto.com/davyyew/280146,如需转载请自行联系原作者