7、软件测试计划??日程安排

  工作流程以及工作任务的分配。积累的经验数据。

  目的:可控。

  由于涉及到不同的项目、不同的测试人员、不同的前期介入方式,要对每人每天能够完成的平均测试用例数目做出一个准确的估计确实很困难,但是可以根据以前一些项目测试的经验或历史积累下来的数据进行判断推理,并适当增加10%-20%的余量,估算结果比较准确了。我们的项目目前是按照这个估计的。

  在估算的基础上,进行有效的、合理的资源安排。在不同的测试阶段人力资源的需求是不一样的,所以人力资源的计划要有一定的灵活性和动态性,形成有机的动态平衡,保证测试的进度和资源的使用的效率。

  8、软件测试计划??资源配置

  测试资源的分配,不仅要考虑测试团队的构成,而且要考虑不同的所需要的人数和对人员的要求是不同的。其次,软件测试项目所需的人员和要求在各个阶段是不同的:

  ● 在初期需要项目经理或测试组长介入进去,为测试项目提供总体方向、制定测试策略、测试计划,申请系统资源;

  ● 在测试前期,需要一些比较的测试设计、开发人员,对被测软件的详细了解、测试评估、测试需求的分解,设计测试用例、开发测试脚本;

  ● 在测试中期,主要是测试执行,要看测试自动化实现的程度,如果测试自动化程度高,人力的投入没有明显的增加;如果测试自动化程度低,测试执行的人员要求多,需要比较早的计划,保证足够的资源。

  ● 在测试后期,的测试人员可以抽出部分时间去做新项目的准备工作。

  一个有效的软件测试项目管理者(测试组长,QA经理或测试经理),在测试资源的分配上尽量做到合理,既不过于保守,浪费资源,也不过于激进,使资源的使用总是处于紧张状态,随时有“崩盘”的危险。所以,在资源分配和管理中,要做到:

  ● 注意合理分配任务,明确规定每一个人在测试工作中的具体任务、职责和权限,每个组员都明确自己该做什么、怎么做、负什么责任、做好的标准是什么。做到人人心中有数,为保证和提高产品质量(或服务质量)提供基本的保证。

  ● 在安排任务时,尽量考虑每个人不同的技术特长、能力、性格、工作风格等,因为资源需求的估计依赖于工作量的估计和每个工程师的能力评估。

  ● 在不同的测试阶段,可以进行人员的相互调换,起到相互补充、相互督促/控制的作用。

  ● 人员的安排应该有一个提前量和余量(buffer,10%左右),因为一个合格的测试人员可能需要一个较长的培训、熟悉产品特性和适应测试流程的过程。

  9、软件测试计划??风险评估

  测试风险是不可避免的、总是存在的,所以对测试风险的管理非常重要,必须尽力降低测试中所存在的风险,大程度地保证质量和满足客户的需求。在测试工作中,主要的风险见PPT。

  前面三种风险是可以避免的,而4)至7)的四种风险是不能避免的,可以降到低。后一种回归测试风险是可以避免,但出于时间或成本的考虑,一般也是存在的。

  针对上述软件测试的风险,有一些有效的测试风险控制方法,如:

  测试环境不对可以通过事先列出要检查的所有条目,在测试环境设置好后,由其他人员按已列出条目逐条检查; (Checklist)(单子条目要细)

  有些测试风险可能带来的后果非常严重,能否将它转化为其他一些不会引起严重后果的低风险。如产品发布前夕,在某个不是很重要的新功能上发现一个严重的缺陷,如果修正这个缺陷,很有可能引起某个原有功能上的缺陷。这时处理这个缺陷所带来的风险很大,对策是去掉(Diasble)那个新功能,转移这种风险; 例如:审计

  有些风险不可避免,设法降低风险,如“程序中未发现的缺陷”这种风险总是存在,我们要通过提高测试用例的覆盖率(如达到99。9%)来降低这种风险。

  为了避免、转移或降低风险,事先要做好风险管理计划和控制风险的策略,并对风险的处理还要制定一些应急的、有效的处理方案,如:

  在做资源、时间、成本等估算时,要留有余地,不要用到;

  在项目开始前,把一些环节或边界上的可能会有变化、难以控制的因素列入风险管理计划中;

  对每个关键性技术人员培养后备人员,作好人员流动的准备,采取一些措施确保人员一旦离开公司,项目不会受到严重影响,仍能可以继续下去;

  制定文档标准,并建立一种机制,保证文档及时产生;

  对所有工作多进行互相审查,及时发现问题,包括对不同的测试人员在不同的测试模块上相互调换;

  对所有过程进行日常跟踪,及时发现风险出现的征兆,避免风险。例会制度。

  要想真正回避风险,必须彻底改变测试项目的管理方式;针对测试的各种风险,建立一种“防患于未然”或“以预防为主”的管理意识。与传统的软件测试相比,全过程测试管理方式不仅可以有效降低产品的质量风险,而且还可以提前对软件产品缺陷进行规避、缩短对缺陷的反馈周期和整个项目的测试周期。风险管理的方法不在这里讨论。