1》人类不是完美的思考者
真正的人知道,无论他们如何尽力地想完成好一项工作,都有可能会出错。
2》我们要做出有关软件的决定
我们常常在没有意识到情况下进行测试,并加以分析。
3》决定可能是有风险的
- Q1:我对这一产品的风险存在哪些疑问?测试是否有助于解答这些疑问?--如果NO,就不用测试。
- Q2:进行这些测试的成本是否超过了答案本身?
风险存在主观性的另一原因在于,不同的人对同一种风险的感受是不一样的。
4》测试可以提供降低风险的信息
测试本身也许并不能回答某些问题,但是它能够提供一些信息。将这些信息与开发过程的信息结合起来,可以帮助我们降低风险。
- Q1:软件是否能够做我们希望它做的工作?
- Q2:如果不能,需要做多少工作才能解决这个问题?
- Q3:软件是否没有做我们不希望它做的事?
- Q4:软件是否能够达到我们的意图?
- Q5:软件能够做我们的用户希望它做的事吗?
- Q6:软件是否满足了其它的商业要求?
- Q7:失败的可能性和后果严重性如何?