测试需求分析需根据测试计划定义的测试范围及测试任务,从需求规格说明书、开发需求、继承性需求、行业竞争分析等需求文档中获取测试需求,确定测试项及测试子项。需求规格说明书中往往包含功能、性能及外部接口需求,针对特别定义,可能还包括安全性需求、兼容性需求或其他需求。提取测试需求阶段,根据测试范围、测试目标确定测试需求提取的粒度。测试需求分析一般有 4 步,如图 3.7 所示,原始需求收集、原始需求整理、需求项分析、建立测试需求跟踪矩阵。
无论是功能测试,还是非功能性测试,其测试需求的分析都有两个基本的出发点。
①从客户角度进行分析:通过业务流程、业务数据、业务操作等分析,明确要验证的功能、数据、场景等内容,从而确定业务方面的测试需求。
②从技术角度分析:通过研究系统架构设计、数据库设计、代码实现等,分析其技术特点,了解设计和实现要求,包括系统稳定可靠、分层处理、接口集成、数据结构、性能等方面的测试需求。
如果有完善的需求文档,那么功能测试需求可以根据需求文档,再结合前面分析和自己的业务知识等,比较容易确定功能测试的需求。提取测试需求分析时,可根据软件质量特性划分提取范围,通常以功能、性能、兼容性等几个质量特性对测试需求进行分类。如果缺乏完善的需求文档,就需要借助启发式分析方法,从“业务目标、系统结构、功能、数据、运行平台、操作”等多方面进行综合分析,了解测试需求。
图 3.7 测试需求分析