测试的角色
-这是经常被开发人员和管理人员滥用的一句话。经常出现在出现问题时,对测试小组的指责中。就是由于这个观念的存在,导致很多问题在开发晚期或测试后期才发现,可能需要大量的返工甚至拖延了产品的发布时间。其实在开发过程中的每一人都有可能影响产品的质量。这就像建房子一样,房子出现问题了,只是检查人员的问题吗?我想如果每一个人都心怀以“质量为中心”,小心谨慎的做好自己的工作,产品的质量会上一个很多的台阶。
-在很多“软件测试”的定义中,都提到类似“软件测试是为了发现错误”的话。其实这个观点是提醒人们在测试过程要以查找错误为中心,而不是证明软件的正确功能。但是很多人仅凭着字面的意思就认为发现错误是测试的唯一目的,那些找不出任何错误或很少错误的测试都不是成功的测试,这是错误的。
其实测试不仅仅只是为了发现错误,还需要分析错误产生的原因和其分布情况,为开发人员,管理层提供参考,指出产品或开发过程中存在的主要问题。而且随着人们对产品质量的要求的提高,出现了多样的测试类型。象易用性测试,性能测试,覆盖率测试,恢复性测试,完整性测试等,这些测试都不是完全为了发现错误,而是找出和预期标准不同的问题。
所以个人认为还是IEEE在1983年提出的:“使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。”比较权威。
-有些开发人员认为单纯的手工测试只是发现系统的一些皮毛问题,因此从心里看低测试人员。但有过经验的开发人员知道,测试人员也发现了很多重要的问题。我曾经看过一些在开发小组中特别有权威的测试人员,他们虽然也只作黑盒测试,但他们发现的错误都是重量级的。
-有些测试人员认为我发现错误了,就成功了。在错误报告中,只是提及错误的情况和数据,但却没有提及错误发生的背景或是步骤。造成开发人员很难重现并修改错误。
-这个很显而易见。但不幸的是,我参与过的很多项目测试小组都是在很晚才开始测试的。由于公司在成本上的考虑,导致了在开发后期或系统测试时才开始测试。出现了开发人员在项目晚期还在加班改bug的情况,甚至由于错误太多拖延了交付时间。在其中,还有可能发现整体设计和构架上的缺陷,导致明知会有很严重的后果都不敢改动代码的事情。
计划完成的测试工作量
人员问题
工作中的测试人员
测试自动化
测试覆盖