测试人员需要从项目生命周期之初就开始介入,这样他们才能准确地理解测试的对象并且和其他涉众一起生成可测试的需求。

打开网易新闻 查看更多图片

缺陷预防是指在各种错误遗留到后续开发阶段之前,运用各种技术和过程来发现和避免这些错误。缺陷预防工作在需求阶段的效率最高,此时修正缺陷所需的改动很小:需要改动的仅仅是需求文档。可能还需要相应地修改此阶段制定的测试计划。如果测试人员(和其他涉众一起)从开发生命周期之初就开始参与项目,那么他们就能够协同发现遗漏、矛盾、含糊的地方和一些其他问题,这些问题可能会影响项目需求的可测试性、正确性以及其他测试质量。

对于一条需求,如果可以设计出一个过程来执行所测试的功能,若输出结果是可以预先知道的,并且能够通过编程或者人工方式加以验证,那么我们就称这条需求是可测试的。

测试人员需要彻成地了解产品,只有这样他们才可能设计出更出色和更全面的测试计划、测试设计、测试过程和测试用例。测试组及早介入,就可以避免在项目生命周期中的后续阶段对产品的功能行为不理解。此外,测试组及早介入,还可以了解到应用程序的哪些方面对最终用户来说最关键以及哪些元素的风险最大。这样测试组就可以首先把精力集中在应用程序中最重委的部分,避免对不经常使用的部分过度测试而对重要的部分又测试不充分。

打开网易新闻 查看更多图片

有些组织不是促使测试人员及早介入,而是把测试人员完全当作需求和其他软件开发工作产品的客户,当软件交给测试人员的时候,才要求他们学习应用程序的使用及行业背最知识。这种做法对于小项目还可以接受,但是在复杂的环境中,如果测试人员在需求、分析、设计甚至是部分实现阶段之后才接触到应用程序,那么就不能指望他们发现应用程序中所有的重要缺陷。测试人员所要掌握的不仅仅只是软件的“输入和输出”,他们还需要掌握更深入的知识。而这种知识只有了解撰写产品功能说明书的思考过程才能获得。这种理解不仅能够提高测试人员开发的测试过程的质量和深度,而且测试人员也可以针对需求提出反馈意见。

在生命周期中发現缺陷越早,那么修正缺陷的代价就越小。