一、质量需求或产品的特性理解不准确,造成测试范围分析的误差,结果某些地方始终测试不到或验证的标准不对;
二、测试用例没有得到百分之百的执行,如有些测试用例被有意或无意的遗漏;
三、需求的临时/突然变化,导致设计的修改和代码的重写,测试时间不够;
四、质量标准不都是很清晰的,如适用性的测试,仁者见仁、智者见智;
五、测试用例设计不到位,忽视了一些边界条件、深层次的逻辑、用户场景等;
六、测试环境,一般不可能和实际运行环境完全一致,造成测试结果的误差;
七、有些缺陷出现频率不是百分之百,不容易被发现;如果代码质量差,软件缺陷很多,被漏检的缺陷可能性就大;
八、回归测试一般不运行全部测试用例,是有选择性的执行,必然带来风险。