1. 引言1.1 目的本文档描述了一般项目下,软件测试的工作过程,并给出测试过程中常用文档的模板。文档描述了常见测试类型和测试方法,可作为测试过程中的参考。 1.2 范围本文档用于指导软件测试工作开展。 2. 测试过程2.1 总则软件测试过程是一种抽象的模型,用于定义软件测试的流程和方法。软件测试过程和软件开发过程一样,都遵循软件工程原理,遵循管理学原理。本章节将对测试模型进行介绍,并对关键节点进行详细说明。 2.2 测试模型2.2.1 W模型(图) W模型,由两个V字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等开发输出的文档同样要测试也就是说,测试与开发是同步进行的。 W模型有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求文档的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。 但W模型也存在局限性。在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临的困惑。 2.2.2 H模型(图) 相对于W模型,H模型将测试活动完全独立出来,形成了一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来。 这个示意图仅仅演示了在整个生产周期中某个层次上的一次测试“微循环”。图中标注的其他流程可以是任意的开发流程。例如,设计流程或编码流程。也就是说,只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以(或者说需要)进行了。 H模型揭示了一个原理:软件测试是一个独立的流程,以独立完整“微循环”流程,参与产品生命周期的各个阶段,与其他流程并发地进行。H模型指出软件测试要尽早准备,尽早执行,只要某个测试达到准备就绪点,测试执行活动就可以开展,并且不同的测试活动可按照某个次序先后进行,但也可以是反复进行的。 2.3 测试计划测试人员根据软件需求说明书、设计文档或其它等效文件等进行测试策划,输出软件测试计划。一般包括: 1) 确定测试策略,测试策略要能清楚描述测试的思路; 2) 确定测试需要的技术或者方法; 3) 确定用于测试的资源要求,包括硬件设备、软件环境、人员数量和技能等要求; 4) 进行风险分析,如技术风险、人员风险、资源风险、进度风险等; 5) 确定测试任务的结束条件; 6) 确定被测软件的评价准则和方法; 7) 确定测试活动的进度; 8) 测试计划应经过评审,并应受到变更控制和版本控制; 9) 项目计划变更时,应及时调整测试计划。 输出文档: 《XXX软件测试计划》 2.4 测试设计和实现测试计划通过评审后,根据测试计划和软件需求规格说明、用户手册等文档,对软件实现的目标进行细化和分解,进行测试设计。 2.3.1 测试方案测试人员依据测试需求和测试计划编写测试方案。 1) 按需要进行测试项分解。将需要测试的测试项进行层次化的分解并进行标识,若有接口测试,还应有接口图说明所有接口和要测试的接口; 2) 测试方案中需要描述测试用例设计方法的具体使用、测试数据的选择依据等; 3) 确定测试用例的执行顺序; 4) 准备测试数据。针对测试输入要求,设计测试用的数据,如数据类型、输入方法等; 5) 准备并获取测试计划中提到的测试资源,如测试环境必须的软、硬件资源; 6) 搭建和核对测试环境,记录和标识测试环境的偏差。 输出文档: 《XXX软件测试方案》 《XXX软件测试策略》 2.3.2 测试用例测试用例为测试执行的依据,以避免遗漏掉要测试的功能点。 1) 测试用例要追踪到测试说明中的测试项; 2) 每个测试用例要包含用例编号、测试步骤、期望测试结果、前提和约束、终止条件等信息; 3) 测试步骤应包括每一步测试操作动作、测试程序输入或设备操作等; 4) 期望测试结果应由具体的数值,不应是不确切的概念或笼统的描述;必要时,应提供中间的期望结果; 5) 测试前提和约束为测试步骤开始前应具备的条件。 输出文档: 《XXX软件测试用例》 《XXX软件需求跟踪矩阵》 2.5 测试执行测试应按照测试用例的步骤,根据测试方案中的测试顺序进行执行。在多个人同时进行测试时,测试负责人进行分工同时进行测试。测试人员根据每个测试用例的期望测试结果、实际测试结果和评估准则,判定测试用例是否通过。 1) 当测试用例不通过时,根据不同的问题类型采取相应的措施: a) 对测试过程中的问题,如测试文档、测试数据、测试环境的问题,实施相应的变更,并更新问题涉及的文档版本; b) 被测软件的问题根据缺陷管理流程提交开发人员进行修改,直至问题关闭。 2) 当所有用例执行完毕后,分析测试工作是否充分,是否需要进行补充测试: 3) 对整个测试执行结果要做真实的记录,对于数据类的测试结果要记录具体的数值。 2.6 测试总结测试执行完毕之后,需要对缺陷的数量、严重程度分布情况,测试工作量、测试工作效率等进行总结和分析,得出测试结论,并对被测软件进行评价。 输出: 《XXX软件测试报告》
|