比如你正在执行测试,发现了一个缺陷,却很难重现。这时候你面对的就不是一个判断题了(即是不是缺陷的判断),而是一个证明题,要证明在什么样的前提条件下,如何经过一步步的演绎,程序在此场景下一定会出错。
解决这类问题为什么是重要的呢?因为大家最害怕的是风险,而难以重现的问题在我们没有重现它之前都蕴藏着无法把握的风险。我们知道风险带来的影响受到两个因素的影响,一个是风险发生的概率,二是风险带来的危害。难以重现的缺陷虽然发生概率也许比较低(也不一定,因为也许只是你没有发现它出现的必要条件,而此条件有可能是经常发生的),但如果后果是严重的,那它带来的影响可能并不小。所以作为第一现场的目击者,测试人员最有责任和义务去多花一些时间精力试图重现它。对于一个可以重现的问题,它的危害往往更容易被相对准确地度量。所以即使这个缺陷最后被决定不予修复,测试人员也不要觉得气馁。因为这个不予修复的结果是经过论证的,与无法重现而直接取消是不一样的。软件测试是一个为了给干系人提供关于被测产品或服务提供质量信息而进行的以观察或实验为根据的技术考察工作。所以测试的价值是提供有价值的质量信息,暴露风险,而不是做决定或者直接产生改变。
关键词:
难以
重现
重要性