在软件开发过程中,有多种类型的需求,其中:
(1)用户需求用于描述用户使用产品必须要完成的任务,是软件开发活动中最基本的需求。(2)系统需求用于描述软件设计和编程人员必须完成的任务,系统分析员通过分析用户需求,才能将用户需求转变成开发设计人员看得懂的系统需求。 (3)测试需求用于描述软件测试人员必须完成的任务,测试工程师通过分析系统需求,产生测试需求,作为测试活动的指导。因此,可将测试需求看做系统需求与测试用例之间的桥梁,即先从系统需求中提取测试需求,然后针对测试需求进行逐步细化,并设计测试用例。
测试需求与可测试性需求是两个完全不同的概念。
测试需求可以理解为针对要实现的功能或性能,从测试的角度来看,需要测试的特性,其关键点在于它是一种测试分析活动的产物。测试需求面向功能点,针对每个功能点,都需要提取其测试需求,进而设计测试用例。
可测试性需求是指需求分析时应注意需求的可测试性要求,其关键点在于它是需求分析活动的产物。可测试性需求是为了确保对功能或非功能需求的可测试性而提出的,它面向各个开发阶段,在不同的开发阶段有不同的可测试性需求。